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

IFileSystemImage3

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID7cff842c-7e97-4807-8304-910dd8f7c051継承元IFileSystemImage2呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl59

公式ドキュメント

このインターフェイスを使用して、UDF ファイルシステム (rev 2.50 以降) におけるメタデータファイルおよびメタデータミラーファイルを冗長化するかどうかを設定または確認します。

解説(Remarks)

メタデータファイルとメタデータミラーファイルが冗長化されるように設定されている場合、IMAPI はファイルシステムイメージ内にそれぞれの同一のコピーを作成し、その結果として耐障害性が向上します。メタデータファイルが冗長化されるように設定されていない場合、IMAPI はファイルシステムイメージ内に単一のコピーのみを作成するため、書き込み対象のディスク上で数 MB の領域を節約できます。

メタデータ冗長化オプションは、既定で TRUE に設定されています。

IFileSystemImage3MsftFileSystemImage3 オブジェクトの既定のインターフェイスです。

このインターフェイスは、Windows Server 2003 with Service Pack 1 (SP1)、Windows XP with Service Pack 2 (SP2)、および Windows Vista において Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。

メソッド 3

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 59 HRESULT get_CreateRedundantUdfMetadataFiles(VARIANT_BOOL* pVal)

ファイルシステムイメージ内で UDF メタデータを冗長化するかどうかを指定するプロパティ値を取得します。

pValVARIANT_BOOL*out生成されるファイルシステムイメージ内で UDF メタデータを冗長化するかどうかを指定する値へのポインター。VARIANT_TRUE は UDF メタデータが冗長化されることを示し、それ以外の場合は VARIANT_FALSE です。

戻り値

成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。次のエラーコードは操作失敗時に一般的に返されるものですが、返される可能性のあるエラー値はこれらに限られません。

戻り値/値 説明
E_POINTER
(HRESULT) 0x80004003L
ポインターが無効です。

解説(Remarks)

このメソッドは、Windows Server 2003 with Service Pack 1 (SP1)、Windows XP with Service Pack 2 (SP2)、および Windows Vista において Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。

vtbl 60 HRESULT put_CreateRedundantUdfMetadataFiles(VARIANT_BOOL newVal)

ファイルシステムイメージ内で UDF メタデータを冗長化するかどうかを指定するプロパティを設定します。

newValVARIANT_BOOLin生成されるファイルシステムイメージ内で UDF メタデータを冗長化するかどうかを指定します。VARIANT_TRUE は UDF メタデータが冗長化されることを示し、それ以外の場合は VARIANT_FALSE です。

戻り値

成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。次のエラーコードは操作失敗時に一般的に返されるものですが、返される可能性のあるエラー値はこれらに限られません。

戻り値/値 説明
IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED
値: 0x00AAB15FL
オプションは変更されましたが、実装されているファイルシステムのリビジョンではこの機能がサポートされていないため、この機能を使用せずにイメージが作成されます。

解説(Remarks)

UDF メタデータ冗長化オプションは、UDF リビジョン 2.50 以降にのみ影響します。生成されるイメージで作成が有効になっているファイルシステムの一覧に必要な UDF リビジョンが含まれていないファイルシステムオブジェクトに対してこのメソッドを呼び出した場合、このメソッドは IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED を返します。

このメソッドは、Windows Server 2003 with Service Pack 1 (SP1)、Windows XP with Service Pack 2 (SP2)、および Windows Vista において Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。

vtbl 61 HRESULT ProbeSpecificFileSystem(FsiFileSystems fileSystemToProbe, VARIANT_BOOL* isAppendable)

現在のメディア上の特定のファイルシステムが IMAPI を通じて追記可能かどうかを判定します。

fileSystemToProbeFsiFileSystemsin調査対象とする、現在のメディア上のファイルシステム。
isAppendableVARIANT_BOOL*out指定したファイルシステムが追記可能かどうかを示す VARIANT_BOOL 値。

戻り値

成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。

解説(Remarks)

このメソッドは、Windows Server 2003 with Service Pack 1 (SP1)、Windows XP with Service Pack 2 (SP2)、および Windows Vista において Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IFileSystemImage3 "{7CFF842C-7E97-4807-8304-910DD8F7C051}"
#usecom global IFileSystemImage3 IID_IFileSystemImage3 "{}"
#comfunc global IFileSystemImage3_get_CreateRedundantUdfMetadataFiles  59 var
#comfunc global IFileSystemImage3_put_CreateRedundantUdfMetadataFiles  60 int
#comfunc global IFileSystemImage3_ProbeSpecificFileSystem              61 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。