Win32 API 日本語リファレンス
ホームStorage.VirtualDiskService › IVdsVolumeMF

IVdsVolumeMF

COM
IIDee2d5ded-6236-4169-931d-b9778ce03dc6継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetFileSystemProperties(VDS_FILE_SYSTEM_PROP* pFileSystemProp)
pFileSystemPropVDS_FILE_SYSTEM_PROP*outボリューム上のファイルシステムのプロパティを表す VDS_FILE_SYSTEM_PROP 構造体を受け取るポインタである。
vtbl 4 HRESULT Format(VDS_FILE_SYSTEM_TYPE type, LPWSTR pwszLabel, DWORD dwUnitAllocationSize, BOOL bForce, BOOL bQuickFormat, BOOL bEnableCompression, IVdsAsync** ppAsync)
typeVDS_FILE_SYSTEM_TYPEinフォーマットに使用するファイルシステムの種類を表す VDS_FILE_SYSTEM_TYPE 値を指定する。
pwszLabelLPWSTRinボリュームに設定するラベルを指定する。
dwUnitAllocationSizeDWORDinアロケーションユニット(クラスタ)のサイズをバイト単位で指定する。0 を指定すると既定値が使用される。
bForceBOOLinボリュームが使用中でもフォーマットを強制するかどうかを指定する。
bQuickFormatBOOLinクイックフォーマットを行うかどうかを指定する。
bEnableCompressionBOOLinファイルシステムの圧縮を有効にするかどうかを指定する。
ppAsyncIVdsAsync**out非同期操作を制御・監視する IVdsAsync インターフェイスを受け取るポインタである。
vtbl 5 HRESULT AddAccessPath(LPWSTR pwszPath)
pwszPathLPWSTRinボリュームに追加するアクセスパス(ドライブ文字またはマウントポイント)を指定する。
vtbl 6 HRESULT QueryAccessPaths(LPWSTR** pwszPathArray, INT* plNumberOfAccessPaths)
pwszPathArrayLPWSTR**outボリュームに設定されているアクセスパスの配列を受け取るポインタである。
plNumberOfAccessPathsINT*out返されたアクセスパスの数を受け取るポインタである。
vtbl 7 HRESULT QueryReparsePoints(VDS_REPARSE_POINT_PROP** ppReparsePointProps, INT* plNumberOfReparsePointProps)
ppReparsePointPropsVDS_REPARSE_POINT_PROP**outボリューム上の再解析ポイントのプロパティを表す VDS_REPARSE_POINT_PROP 構造体の配列を受け取るポインタである。
plNumberOfReparsePointPropsINT*out返された再解析ポイントの数を受け取るポインタである。
vtbl 8 HRESULT DeleteAccessPath(LPWSTR pwszPath, BOOL bForce)
pwszPathLPWSTRinボリュームから削除するアクセスパスを指定する。
bForceBOOLinアクセスパスが使用中でも削除を強制するかどうかを指定する。
vtbl 9 HRESULT Mount()
vtbl 10 HRESULT Dismount(BOOL bForce, BOOL bPermanent)
bForceBOOLinボリュームが使用中でもアンマウントを強制するかどうかを指定する。
bPermanentBOOLinアンマウントを永続的に行うかどうかを指定する。
vtbl 11 HRESULT SetFileSystemFlags(DWORD ulFlags)
ulFlagsDWORDinファイルシステムに設定するフラグを指定する。
vtbl 12 HRESULT ClearFileSystemFlags(DWORD ulFlags)
ulFlagsDWORDinファイルシステムから解除するフラグを指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IVdsVolumeMF "{EE2D5DED-6236-4169-931D-B9778CE03DC6}"
#usecom global IVdsVolumeMF IID_IVdsVolumeMF "{}"
#comfunc global IVdsVolumeMF_GetFileSystemProperties  3 var
#comfunc global IVdsVolumeMF_Format                   4 int,wstr,int,int,int,int,sptr
#comfunc global IVdsVolumeMF_AddAccessPath            5 wstr
#comfunc global IVdsVolumeMF_QueryAccessPaths         6 var,var
#comfunc global IVdsVolumeMF_QueryReparsePoints       7 var,var
#comfunc global IVdsVolumeMF_DeleteAccessPath         8 wstr,int
#comfunc global IVdsVolumeMF_Mount                    9
#comfunc global IVdsVolumeMF_Dismount                 10 int,int
#comfunc global IVdsVolumeMF_SetFileSystemFlags       11 int
#comfunc global IVdsVolumeMF_ClearFileSystemFlags     12 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。