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

DFileSystemImageEvents

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID2c941fdf-975b-59be-a960-9a2a262853a5継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

現在の書き込み操作の通知を受け取るには、このインターフェイスを実装します。(DFileSystemImageEvents)

メソッド 1

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

vtbl 7 HRESULT Update(IDispatch* object, LPWSTR currentFile, INT copiedSectors, INT totalSectors)

現在の書き込み操作の進行状況通知を受け取るには、このメソッドを実装します。通知は、ファイルの内容をコピーしているとき、またはファイルシステムイメージにディレクトリやファイルを追加しているときに送信されます。

objectIDispatch*in

書き込み対象となっているファイルシステムイメージの IFileSystemImage インターフェイス。

スクリプトでは、このパラメーターは CFileSystemImage オブジェクトです。

currentFileLPWSTRin書き込まれているファイルのフルパスを含む文字列。
copiedSectorsINTinコピーされたセクター数。
totalSectorsINTinファイル内の総セクター数。

戻り値

戻り値は無視されます。

解説(Remarks)

通知は、次のいずれかのメソッドの呼び出しに応じて送信されます。

また、即時割り当て (immediate allocation) を使用して作成された UDF ファイルシステムをインポートするために次のいずれかのメソッドを呼び出した場合にも、通知が送信されることがあります (即時割り当てとは、データのセクターを指す割り当て記述子をファイル記述子内に持つのではなく、ファイルデータそのものがファイル記述子内に格納されることを意味します)。 通知は次のタイミングで送信されます。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_DFileSystemImageEvents "{2C941FDF-975B-59BE-A960-9A2A262853A5}"
#usecom global DFileSystemImageEvents IID_DFileSystemImageEvents "{}"
#comfunc global DFileSystemImageEvents_Update  7 sptr,wstr,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。