Tech Note 23: NSBVFSLib共有ライブラリを使う

Oct 21, 2003
 
© NSB Corporation. All rights reserved.


[英語版]  

Contents:

概要:

NSBVFSLib共有ライブラリは外部メモリーカードへのアクセスを提供するファンクション(関数)を含んでいます。

このライブラリの関数は以下のカテゴリーに分かれています:

Volume, Directory, File, File and Directory, Import/Export
本稿はNSBVFSLibにある関数を使うための、全ての必要な情報を実例と共に提供します。ベースになっているPalmOS関数に関する情報は、PalmOS SDK ReferenceかSDK Cヘッダーファイル(*.h)を参照してください。PalmOS SDK Referenceは
    http://www.palmos.com/dev/tech/docs/
からダウンロードできます。PalmOS SDK (Software Development Kit) は
    http://www.palmos.com/dev/tech/tools/
からダウンロードできます。NSBVFSLib共有ライブラリを使うには、NSBasicのLoadLibraryステートメントを使ってライブラリを読み込まなければなりません。このステートメントは、プログラムのStartupコードに入れることによって、プログラムのどこからでも関数を呼ぶことができます。LoadLibraryステートメントは、 2番目の引数として、ライブラリ関数からの参照名を指定します。 この例では「VFS」を参照名に使っています。例えば:

プログラムの Startup code:

	Sub main()
	    LoadLibrary "NSBVFSLib", "VFS"
	End Sub

また、NSBVFSLibライブラリを使うには、 NSBVFSLib.INFというファイルが、 "nsbasic\lib" というパスにある必要があり、また、実行するデバイスに NSBVFSLib.prcが ダウンロード(インストール)されている必要があります。

関数インデックス、クイックリファレンス:

内部インフォメーション

Version result = Version()
GetLastError result = GetLastError()
Init result = Init()

ボリューム関数

BeginVolumeEnumerate BeginVolumeEnumerate()
GetNextVolume volume = GetNextVolume()
SetCurVolume SetCurVolume(Integer volume)
GetVolumeLabel result = GetVolumeLabel()
SetVolumeLabel SetVolumeLabel(String label)
IsVolumeReadOnly result = IsVolumeReadOnly()
IsVolumeHidden result = IsVolumeHidden()
VolumeUsedSize size = VolumeUsedSize()
VolumeTotalSize size =VolumeTotalSize()
VolumeFormat VolumeFormat()
GetVolumeMediaType mediaType = GetVolumeMediaType()

ディレクトリ関数

DirCreate DirCreate(dirName)
BeginDirEntryEnumerate BeginDirEntryEnumerate(dir)
EndDirEntryEnumerate EndDirEntryEnumerate()
DirEntryEnumerate FileOrDirName = DirEntryEnumerate()
RegisterDefaultDirectory RegisterDefaultDirectory(fileType,indexMediaType, path)
UnregisterDefaultDirectory UnregisterDefaultDirectory(fileType, indexMediaType)
GetDefaultDirectory path = GetDefaultDirectory(fileType)

ファイル関数

IsEOF eof = IsEof(fileRef)
FileCreate FileCreate(path)
Read16 res = Read16(fileRef)
Read32 res = Read32(fileRef)
Read64 res = Read64(fileRef)
ReadString res = ReadString(fileRef)
Write16 Write16(fileRef, data)
Write32 Write32(fileRef,data)
Write64 Write64(fileRef, data)
WriteString WriteString(fileRef, str)
FileTell pos = FileTell(fileRef)
FileSize size = FileSize(fileRef)
FileResize FileResize(fileRef, newSize)
FileSeekBegin FileSeekBegin(fileRef, offset)
FileSeekCurrent FileSeekCurrent(fileRef, offset)
FileSeekEnd FileSeekEnd(fileRef, offset)

ファイル及びディレクトリ関数

Delete Delete(path)
Close Close(fileRef)
Rename Rename(pathName, newName)
SetDateCreated SetDateCreated(fileRef, date)
SetDateModified SetDateModified(fileRef, date)
SetDateAccessed SetDateModified(fileRef, date)
GetDateCreated date = GetDateCreated(fileRef)
GetDateModified date = GetDateModified(fileRef)
GetDateAccessed date = GetDateAccessed(fileRef)
SetAttributes SetAttributes(fileRef, attributes)
ResetAttributes ResetAttributes(fileRef, attributes)
GetAttributes coinside = GetAttributes(fileRef,  checkAttributes)
Open fileRef = Open(pathName, openMode)

インポート/エキスポート

Import dbName = Import(pathName)
Export Export(dbName, pathName)
ImportDialog dbName = ImportDialog(pathName, dialogTitle, actionStr)
ExportDialog ExportDialog(dbName, pathName , dialogTitle, actionStr)

カード情報

GetDeviceUniqueIDStr DeviceUniqueIDStr = GetDeviceUniqueIDStr
 

NSBVFSLib関数リファレンス:


Internal Information

Version

version = VFS.Version()
NSBVFSLib共有ライブラリのバージョンを返す

戻り値 

version as Integer

Dim version as Integer 
version = VFS.Version()

GetLastError

error = VFS.GetLastError()
最後に実行された関数のエラーを返す

戻り値 

error as Integer.

Dim err as Integer 
err = VFS.GetLastError()

Init

result = VFS.Init()
VFSとEXPANSIONマネージャーが存在する場合0を返し、それ以外はエラー。0が返されない場合、どの関数も呼んではならない。

戻り値 

result as Integer.

Dim err as Integer 
err = VFS.Init()

ボリューム関数

BeginVolumeEnumerate

VFS.BeginVolumeEnumerate()
ボリュームを列挙する前にライブラリを初期化する。

VFS.BeginVolumeEnumerate()

GetNextVolume

volume = VFS.GetNextVolume()
次のボリューム番号を返す。GetLastErrorが0を返すときだけ、正しいボリュームを返す。

戻り値 

volume as Integer.


Global volRef(4) as Integer
Global numVol as Integer
Dim err as Integer
Dim i as Integer
list.clear
VFS.BeginVolumeEnumerate()
numVol = 0
Do
i = VFS.GetNextVolume()
err = VFS.GetLastError()
If err = 0 Then
    numVol = numVol + 1
    volRef(numVol) = i
Else
    Exit Do
EndIf
Loop

SetCurVolume

VFS.SetCurVolume(volume)
指定ボリュームをアクティブにする。

パラメータ 

volume as Integer.

VFS.SetCurVolume(volRef(0))

GetVolumeLabel

label = VFS.GetVolumeLabel()
アクティブボリュームのレーベルを返す。

戻り値 

label as String.

例 

Dim label as String 
label = VFS.GetVolumeLabel()

SetVolumeLabel

VFS.SetVolumeLabel(label)
アクティブボリュームのにレーベルを設定する。

パラメータ 

label as string.

Dim label as String 
label = "my volume label" 
VFS.SetVolumeLabel(label)

IsVolumeReadOnly

result = VFS.IsVolumeReadOnly()
アクティブボリュームが読み出し専用の時、1を返す。

戻り値 

result as Integer.

Dim volumeReadOnly as Integer
Dim VROStr as String
volumeReadOnly = VFS.IsVolumeReadOnly()
VROStr = "Read/Write"
if volumeReadOnly = 1 then VROStr = "Read"

IsVolumeHidden

result = VFS.IsVolumeHidden()
アクティブボリュームが隠れた状態の時、1を返す。

戻り値 

result as Integer.

Dim volumeHidden as Integer
Dim HStr as String
volumeHidden = VFS.IsVolumeHidden()
HStr = "Visible"
if volumeHidden = 1 then HStr = "Hidden"

VolumeUsedSize

size = VFS.VolumeUsedSize()
アクティブボリュームによって使われているバイト数を返す。

戻り値 

size as Integer.

Dim volUsedSize as Integer 
volUsedSize =VFS.VolumeUsedSize()

VolumeTotalSize

size = VFS.VolumeTotalSize()
アクティブボリュームのバイト数を返す。

戻り値 

size as Integer.

Dim volTotalSize as Integer  
volTotalSize= VFS.VolumeTotalSize()

VolumeFormat

VFS.VolumeFormat()
アクティブボリュームをフォーマットする。


VFS.VolumeFormat()

GetVolumeMediaType

mediaType = VFS.GetVolumeMediaType()
アクティブボリュームのメディアタイプ(下の表を参照)を返す。

戻り値 

mediaType as Integer.
 
Possible MEDIATYPEs
0 Matches all media types when looking up a default directory
1 Memory stick
2 Compact Flash
3 Secure Digital
4 MultiMedia Card
5 SmartMedia
6 A RAM disk based media
7 Host file system emulated by the Palm OS® Emulator
8 Host file system emulated by the Mac Simulator 


Dim t(9) as String
Dim err as Integer
Dim m as Integer
t(1) = "Wild"
t(2) = "Memory stick"
t(3) = "Compact Flash"
t(4) = "Secure Digital"
t(5) = "MultiMedia Card"
t(6) = "SmartMedia"
t(7) = "A RAM disk based media"
t(8) = "HFS POSE"
t(9) = "HFS Mac Simulator"
m = VFS.GetVolumeMediaType()
fld.text = t(m+1)

ディレクトリ関数

DirCreate

VFS.DirCreate(dirName)
アクティブボリュームにdirName名でディレクトリを作る。

パラメータ 

dirName as string

Dim path as Strin 
path = "/palm/My directory/" 
VFS.DirCreate(path)

BeginDirEntryEnumerate

VFS.BeginDirEntryEnumerate(directory)
ディレクトリを列挙する前にライブラリを初期化する。

パラメータ 

directory as String.

Dim path as String 
path = "/palm/My directory/" 
VFS.BeginDirEntryEnumerate(path)

EndDirEntryEnumerate

VFS.EndDirEntryEnumerate()
プログラムの通常フローのための列挙の後に呼ばれなければならない。Must be called after enumeration for a normal flow of the program.


VFS.EndDirEntryEnumerate()

DirEntryEnumerate

FileOrDirName = VFS.DirEntryEnumerate()
ディレクトリを列挙する。GetLastErrorが0を返す時だけ、正しいFileOrDirNameを返す。

戻り値 

FileOrDirName as String.

Dim dir as String
Dim err as Integer
Dim name as String
dir = "/palm/My directory/"
VFS.BeginDirEntryEnumerate(dir)
err = VFS.GetLastError
If err>0 Then GoTo ex
Do
name = VFS.DirEntryEnumerate()
err = VFS.GetLastError()    '10509 end of loop
If err > 0 Then Exit Do
lst.add name
Loop
ex:
VFS.EndDirEntryEnumerate

RegisterDefaultDirectory

VFS.RegisterDefaultDirectory(fileType, indexMediaType, path)
特定の外部メモリカードで、指定されたファイルタイプのデフォルトロケーションとして、特定のディレクトリを返す。通常この関数はスロットドライバーによって、それがサポートするファイルやメディアタイプのために呼びます。ファイルタイプはMIMEタイプかtype/subtypeのペア("image/jpeg"、"text/plain"、"audio/basic"等)です。

パラメータ 

fileType as String, IndexMediaType as Integer, path as String.

indexMediaType see GetVolumeMediaType.

Dim fileType as String
Dim indexMediaType as Integer
Dim path as String
fileType = ".txt"
indexMediaType = 3 'Secure Digital
path = "/text/"
VFS.RegisterDefaultDirectory(fileType, indexMediaType, path)

UnregisterDefaultDirectory

VFS.UnregisterDefaultDirectory(string fileType, integer indexMediaType)
特定のファイルタイプと、カードメディアの指定タイプのデフォルトディレクトリとの結合を断ち切る。

パラメータ 

fileType  as String, indexMediaType as Integer.

Dim fileType as String
Dim indexMediaType as Integer
fileType = ".txt"
indexMediaType = 3 'Secure Digital
VFS.UnregisterDefaultDirectory(fileType, indexMediaType)

GetDefaultDirectory

path = VFS.GetDefaultDirectory(fileType)
指定タイプのデフォルトロケーションを返す。

パラメータ 

fileType as String.

戻り値

path as String

Dim fileType as String
Dim path as String
fileType = ".txt"
path = VFS.GetDefaultDirectory(fileType)

ファイル関数

IsEOF

eof = VFS.IsEof(fileRef)
開いているファイルのEOF(ファイルの終わり)まで読み取っていたら1を返し、それ以外は0を返す。

パラメータ 

fileRef as Integer. 戻り値

eof as Integer.

Dim sh as Short
Dim eof as Integer
Dim fileRef as Integer
...' open file
Do
sh = VFS.Read16(fileRef)
eof = VFS.IsEof(fileRef)
If eof = 1 Then Exit Do
Loop
...' close file

FileCreate

VFS.FileCreate(path)
ファイルを作成する。完全なパスを渡す必要がある。

パラメータ 

path as String.

Dim pathName as String 
pathName = "/palm/My directory/Sample.txt" 
VFS.FileCreate(pathName)

Read16

res = VFS.Read16(fileRef)
fileRefによって指定したファイルからShort型を読み取る。

パラメータ 

fileRef as Integer. 戻り値

res as Short.

Dim data16 as Short 
data16 = VFS.Read16(fileRef)

Read32

res = VFS.Read32(fileRef)
fileRefによって指定したファイルからInteger型を読み取る。

パラメータ 

fileRef as Integer. 戻り値

res as Integer.

例 

Dim data32 as Integer 
data32 = VFS.Read32(fileRef)

Read64

res = VFS.Read64(fileRef)
fileRefによって指定したファイルからDouble型を読み取る。

パラメータ 

fileRef as Integer. 戻り値

res as double.

例 

Dim data64 as Double 
data64 = VFS.Read64(fileRef)

ReadString

res = VFS.ReadString(fileRef)
fileRefによって指定したファイルからString型を読み取る。

パラメータ 

fileRef as Integer. 戻り値

res as String.

Dim dataStr as String 
dataStr = VFS.ReadString(fileRef)

Write16

VFS.Write16(fileRef, data) fileRefで指定するファイルにShort型を書き込む。

パラメータ 

fileRef as Integer, data as Short.

Dim data16 as Short 
VFS.Write16(fileRef, data16)

Write32

VFS.Write32(fileRef, data)
fileRefで指定するファイルにInteger型を書き込む。

パラメータ 

fileRef as Integer, data as Integer.

Dim data32 as Integer 
VFS.Write32(fileRef, data32)

Write64

VFS.Write64(fileRef, data)
fileRefで指定するファイルにDouble型を書き込む。

パラメータ 

fileRef as Integer, data as Double.

Dim data64 as Double 
VFS.Write64(fileRef, data64)

WriteString

VFS.WriteString(Integer fileRef, string str)
fileRefで指定するファイルにString型を書き込む。

パラメータ 

fileRef as Integer, str as String.

Dim dataStr as String 
VFS.WriteString(fileRef, dataStr)

FileTell

pos = VFS.FileTell(fileRef)
fileRefで指定したファイル中のポジションを返す。

パラメータ  

fileRef as Integer. 戻り値

pos as Integer.

Dim pos as Integer 
pos = VFS.FileTell(fileRef)

FileSize

size = VFS.FileSize(fileRef)
fileRefで指定したファイルのサイズを返す。

パラメータ  

fileRef as Integer. 戻り値

size as Integer.

Dim size as Integer 
size = VFS.FileSize(fileRef)

FileResize

VFS.FileResize(fileRef, newSize)
fileRefで指定したファイルのサイズを変更する(減らす)。 newSizeは新しいファイルサイズ。

パラメータ  

fileRef as Integer, newSize as Integer.

Dim newSize as Integer 
VFS.FileResize(fileRef, newSize)

FileSeekBegin

VFS.FileSeekBegin(fileRef, offset)
fileRefで指定したファイルの先頭からoffsetバイトの位置に移動する。

パラメータ  

fileRef as Integer, offset as Integer.

Dim offset as Integer 
offset = 10 
VFS.FileSeekBegin(fileRef, offset)

FileSeekCurrent

VFS.FileSeekCurrent(fileRef, offset)
fileRefで指定したファイルの現在のポジションからoffsetバイト分シフトさせる。

パラメータ 

fileRef as Integer, offset as Integer.

Dim offset as Integer 
offset = 10 
VFS.FileSeekCurrent(fileRef, offset)

FileSeekEnd

VFS.FileSeekEnd(fileRef, offset)
fileRefで指定したファイルの最後からoffsetバイトの位置に移動する。

パラメータ  

fileRef as Integer, offset as Integer.

Dim offset as Integer 
offset = 10 
VFS.FileSeekEnd(fileRef, offset)

File and directory functions

Delete

VFS.Delete(path)
Deletes closed file or directory specified by full path path.

パラメータ 

path as String.

Dim path as String 
path = "/palm/My directory/Sample.dat" 
VFS.Delete(path)

Close

VFS.Close(fileRef)
Closes file or directory specified by fileRef.

パラメータ  

fileRef as Integer.

VFS.Close(fileRef)

Rename

VFS.Rename(pathName, newName)
閉じているファイルかディレクトリの名前を変更する。同じディレクトリー内でしか使えない。pathNameは完全なパス名で、newNameは新しい名前。

パラメータ 

pathName as String, newName as String.

Dim pathName as String
Dim newName as String
pathName = "/palm/My directory/Sample.dat"
newName = "Test.dat"
VFS.Rename(pathName, newName)

SetDateCreated

VFS.SetDateCreated(fileRef,date)
fileRefで指定するファイルの作成日を設定する。
注:この関数はあるファイルシステムではサポートされていない。

パラメータ 

fileRef as Integer, date as Integer.

Dim dateCreated as Integer
dateCreated = 123456789        ' seconds
VFS.SetDateCreated(fileRef,dateCreated)

SetDateModified

VFS.SetDateModified(fileRef, date)
fileRefで指定するファイルの修正日を設定する。
注:この関数はあるファイルシステムではサポートされていない。

パラメータ 

fileRef as Integer, date as Integer.

Dim dateModified as Integer
dateModified = 123456789        ' seconds
VFS.SetDateModified(fileRef,dateModified)

SetDateAccessed

VFS.SetDateAccessed(fileRef,date)
fileRefで指定するファイルの最後にアクセスされた日を設定する。
注:この関数はあるファイルシステムではサポートされていない。

パラメータ 

fileRef as Integer, date as Integer.

Dim dateAccessed as Integer
dateAccessed = 123456789        ' seconds
VFS.SetDateAccessed(fileRef,dateAccessed)

GetDateCreated

date = VFS.GetDateCreated(fileRef)
fileRefで指定するファイルの作成日を返す。

パラメータ 

fileRef as Integer. 戻り値

date as Integer.

Dim dateCreated as Integer 
dateCreated = VFS.GetDateCreated(fileRef)

GetDateModified

date = VFS.GetDateModified(fileRef)
fileRefで指定するファイルの修正日を返す。

パラメータ 

fileRef as Integer. 戻り値

date as Integer.

Dim dateModified as Integer 
dateModified = VFS.GetDateModified(fileRef)

GetDateAccessed

date = VFS.GetDateAccessed(fileRef)
fileRefで指定するファイルの最後にアクセスされた日を返す。

パラメータ 

fileRef as Integer. 戻り値

date as Integer.

Dim dateAccessed as Integer 
dateAccessed = VFS.GetDateAccessed(fileRef)

SetAttributes

VFS.SetAttributes(fileRef, attributes)
fileRefで指定するファイルの属性を設定する。

パラメータ 

fileRef as Integer, attributes as Integer.
 
属性一覧
1 読み込み専用ファイル/ディレクトリ
2 隠れたファイル/ディレクトリ
4 システムファイル/ディレクトリ
8 ボリュームレーベル
16 ディレクトリ
32 アーカイブ ファイル/ディレクトリ
64 別のファイル/ディレクトリにリンク

注:Volume label(8)とDirectory(16)属性を変更するのに、SetAttributesサブルーチンは使用できません。

VFS.SetAttributes(fileRef,2)' 2 - hidden

ResetAttributes

VFS.ResetAttributes(fileRef, attributes)
fileRefで指定するファイルの属性を再設定する。

パラメータ 

fileRef as Integer, attributes as Integer.

注:Volume label(8)とDirectory(16)属性を変更するのに、ResetAttributesサブルーチンは使用できません。

VFS.ResetAttributes(fileRef,2)' 2 - hidden

GetAttributes

coinside = VFS.GetAttributes(fileRef, checkAttributes)
fileRefで指定するファイル/ディレクトリの属性を返す。

パラメータ 

fileRef as Integer, checkAttributes as Integer. 戻り値

coinside as Integer.

Dim coinside as Integer 
coinside = VFS.GetAttributes(fileRef, 2)' is it hidden?

Open

fileRef = VFS.Open(pathName, openMode)
pathName(完全なパス)で指定するファイル/ディレクトリを開く。

パラメータ 

pathName as String, openMode as Integer. 戻り値

fileRef as Integer.
 
OPENMODE 定数
2 読み取りアクセスで開く
3 読み取りアクセスで開いてロック
7 読み取り/書き込みアクセスで開いてロック
15 読み取り/書き込みアクセスで開いてロック、ファイルが存在しない場合は作成

Dim pathName as String
Dim fileRef as Integer
pathName ="/palm/My directory/Sample.dat"
fileRef = VFS.Open(pathName,7)

インポート/エキスポート

Import

dbName = VFS.Import(pathName)
外部メモリカードにある.pdbか.prcファイルからデータベースを作成する。

パラメータ 

pathName as String is the full path for .pdb or .prc. 戻り値

dbName as String.

Dim pathName as String
Dim dbName as String
pathName="/palm/My directory/Puzzle.prc"
dbName = VFS.Import(pathName)

Export

VFS.Export(dbName, pathName)
指定するデータベースを外部メモリカードにある.pdbか.prcファイルへ保存する。

パラメータ 

dbName as String is the database name, pathName as String is the full path for .pdb or .prc.

Dim pathName as String
Dim dbName as String
dbName="15-Puzzle"
pathName="/palm/My directory/Puzzle.prc"
VFS.Export(dbName, pathName)

ImportDialog

dbName = VFS.ImportDialog(pathName, dialogTitle, actionStr)
外部メモリカードにある.pdbか.prcファイルからデータベースを作成する。Importと違って、この関数ではインポート処理のキャンセルができます。

パラメータ 

pathName as String is the full path for .pdb or .prc., dialogTitle as String is the title of dialog, actionStr as String is the dialog message.

戻り値

dbName as String.

Dim pathName as String
Dim dbName as String
Dim dialogTitle as String
Dim actionStr as String
pathName="/palm/My directory/Puzzle.prc"
dialogTitle="Import file"
actionStr="Importing Puzzle.prc"
dbName = VFS.ImportDialog(pathName, dialogTitle, actionStr)

ExportDialog

VFS.ExportDialog(dbName, pathName , dialogTitle, actionStr)
指定するデータベースを外部メモリカードにある.pdbか.prcファイルへ保存する。Exportと違って、この関数ではエキスポート処理のキャンセルができます。

パラメータ 

dbName as String is the database name, pathName as String is the full path for .pdb or .prc, dialogTitle as String is the title of dialog, actionStr as String is the dialog message.

Dim pathName as String
Dim dbName as String
Dim dialogTitle as String
Dim actionStr as String
dbName="15-Puzzle"
pathName="/palm/My directory/Puzzle.prc"
dialogTitle="Export file"
actionStr="Exporting "
actionStr= actionStr + dbName
VFS.ExportDialog(dbName,pathName , dialogTitle, actionStr)

カード情報

GetDeviceUniqueIDStr

DeviceUniqueIDStr = VFS.GetDeviceUniqueIDStr
外部メモリーカードの特有のID(例えば、シリアル番号)を返す。IDが存在しない場合は、空の文字列が返される。

戻り値

DeviceUniqueIDStr as String.

Dim GetDeviceUniqueIDStr as String
GetDeviceUniqueIDStr = VFS.GetDeviceUniqueIDStr

エラーコード

0 errNone 正常終了(エラーなし)
537 dmErrAlreadyExists RAM内に同じ名前の別のデータベースが存在する。
1282 sysErrParamErr 間違った入力パラメータ
10497 expErrUnsupportedOperation サポートされていないか定義されていないオペレーションコードおよび(または)クリエータ。
10498 expErrNotEnoughPower 必要なパワーがない。
10499 expErrCardNotPresent カードが入っていない。
10500 expErrInvalidSlotRefNum スロット リファレンス番号が不適切。
10501 expErrSlotDeallocated スロット リファレンス番号は正当な範囲だが、割り当てが解放されている。
10502 expErrCardNoSectorReadWrite カードがSlotDriver block read/write APIをサポートしていない。
10503 expErrCardReadOnly カードはR/W APIをサポートしているが、カードは読み取り専用。
10504 expErrCardBadSector カードはR/W APIをサポートしているが、セクターに問題あり。
10505 expErrCardProtectedSector カードはR/W APIをサポートしているが、セクターがプロテクトされている。
10506 expErrNotOpen スロット ドライバー ライブラリが開いていない。
10507 expErrStillOpen スロット ドライバー ライブラリがまだ開いている(多分一度開いていた)。
10508 expErrUnimplemented コールが実行されない。
10509 expErrEnumerationEmpty 列挙される値が残っていない。
10510 expErrIncompatibleAPIVer スロット ドライバーのこのAPTバージョンは、このバージョンのExpansionMgrでは、サポートされていない。
10753 vfsErrBufferOverflow バッファー?Iーバーフロー
10754 vfsErrFileGeneric ファイルエラー
10755 vfsErrFileBadRef filerefが不正(閉じているか、VFS.Open()を使って取得していない)
10756 vfsErrFileStillOpen ファイルがまだ開いている
10757 vfsErrFilePermissionDenied ファイルは読み込み専用
10758 vfsErrFileAlreadyExists このロケーションには同じ名前のファイルが既に存在する。
10759 vfsErrFileEOF ファイルポインターがファイルの終わりにある。
10760 vfsErrFileNotFound 指定パスにファイルは存在しない。
10761 vfsErrVolumeBadRef ボリューム リファレンスが不正
10762 vfsErrVolumeStillMounted ボリュームがまだマウントされている
10763 vfsErrNoFileSystem インストールされているファイルシステムはこのオペレーションをサポートしていない。
10764 vfsErrBadData 不正データのためオペレーションは完了していない(例:.PRCファイルからDBをインポート)。
10765 vfsErrDirNotEmpty 空っぽでないディレクトリは削除できない。
10766 vfsErrBadName 不正なファイル名か、パスか、ボリュームレーベルか、・・・
10767 vfsErrVolumeFull ボリュームに十分なスペースが空いてない。
10768 vfsErrUnimplemented このコールは実行されない。
10769 vfsErrNotADirectory このオペレーションにはディレクトリが必要。
10770 vfsErrIsADirectory このオペレーションにはディレクトリではなく、ファイルが必要。
10771 vfsErrDirectoryNotFound 新しいファイルへのパスが間違っている。
10772 vfsErrNameShortened ボリューム名またはファイル名は、ファイルシステムのスペックに準じるため、自動的に短くされた。