すべての操作コールバックに対してプロバイダーに渡される標準情報を定義します。
構文
typedef struct PRJ_CALLBACK_DATA {
UINT32 Size;
PRJ_CALLBACK_DATA_FLAGS Flags;
PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT NamespaceVirtualizationContext;
INT32 CommandId;
GUID FileId;
GUID DataStreamId;
PCWSTR FilePathName;
PRJ_PLACEHOLDER_VERSION_INFO *VersionInfo;
UINT32 TriggeringProcessId;
PCWSTR TriggeringProcessImageFileName;
void *InstanceContext;
} PRJ_CALLBACK_DATA;
メンバー
Size
この構造体のサイズ (バイト単位)。 プロバイダーは、この値を超える位置にあるこの構造体のフィールドへのアクセスを試みてはなりません。
Flags
コールバック固有のフラグ。
NamespaceVirtualizationContext
コールバックを送信している仮想化インスタンスへの不透明なハンドル。
CommandId
コールバックの特定の呼び出しを一意に識別する 値。 プロバイダーはこの値を使用します。
- 以前に HRESULT_FROM_WIN32(ERROR_IO_PENDING) を返したコールバックの完了を通知する PrjCompleteCommand の呼び出し。
- ProjFS が PRJ_CANCEL_COMMAND_CB コールバックを送信する場合。 PRJ_CANCEL_COMMAND_CB呼び出しの commandId は、プロバイダーが取り消す必要があるコールバックの以前の呼び出しを識別します。
FileId
コールバックのファイル ハンドルを一意に識別する 値。
DataStreamId
コールバックの開いているデータ ストリームを一意に識別する 値。
FilePathName
ターゲット ファイルへのパス。 これは、Unicode 文字の null で終わる文字列です。 このパスは、常に仮想化ルートに対して相対的に指定されます。
VersionInfo
コールバックのターゲットがプレースホルダーまたは部分ファイルである場合のバージョン情報。
TriggeringProcessId
このコールバックをトリガーしたプロセスのプロセス識別子。 この情報が利用できない場合、これは 0 になります。 この情報を提供するコールバックには、 PRJ_GET_PLACEHOLDER_INFO_CB、 PRJ_GET_FILE_DATA_CB、PRJ_NOTIFICATION_CBが含 まれます。
TriggeringProcessImageFileName
TriggeringProcessId に対応するイメージ ファイル名を指定する null で終わる Unicode 文字列。 TriggeringProcessId が 0 の場合、これは NULL になります。
InstanceContext
プロバイダーによって定義されたコンテキスト情報へのポインター。 プロバイダーは、 PrjStartVirtualizing の instanceContext パラメーターでこのコンテキストを渡します。
プロバイダーがこのようなコンテキストを指定しなかった場合、この値は NULL になります。
要件
| 要件 | 値 |
|---|---|
| サポートされている最小のクライアント | Windows 10 Version 1809 [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server [デスクトップ アプリのみ] |
| Header | projectedfslib.h |