PRJ_GET_FILE_DATA_CB コールバック関数 (projectedfslib.h)
ファイルのプライマリ データ ストリームの内容を要求します。
構文
PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;
HRESULT PrjGetFileDataCb(
[in] const PRJ_CALLBACK_DATA *callbackData,
[in] UINT64 byteOffset,
[in] UINT32 length
)
{...}
パラメーター
[in] callbackData
操作に関する情報。 このコールバックを実装するには、次の callbackData メンバーが必要です。
- FilePathName データを返すプロバイダーのバッキング ストア内のファイルへのパスを識別します。 これは、プレースホルダーの作成時にファイルが持っていた名前を反映しています。 それ以降に名前が変更された場合、 FilePathName は、現在の (名前変更後の) 名前ではなく、元の (名前変更前の) 名前を識別します。
- DataStreamIdこのファイル ストリームに関連付ける一意の値。 プロバイダーは、このコールバックの処理の一環としてファイル データを提供するときに、PrjWriteFileData の dataStreamId パラメーターにこの値を渡す必要があります。
- VersionInfo プロバイダーがこのファイルのプレースホルダーを作成したときに指定した PRJ_PLACEHOLDER_VERSION_INFO 情報を提供します。 これは、プロバイダーが返すファイル コンテンツのバージョンを決定するのに役立つ場合があります。 ファイルの名前が変更され、プロバイダーが名前の変更を追跡する場合は、要求されているファイルの内容をプロバイダーが判断するのにも役立ちます。
プロバイダーは、コールバックの実行中にのみこのバッファーにアクセスできます。 操作にペンを付け、このバッファーからのデータが必要な場合は、独自のコピーを作成する必要があります。
[in] byteOffset
ファイルの先頭からの要求されたデータのオフセット (バイト単位)。 プロバイダーは、このオフセット以降または前のファイル データを返す必要があります
[in] length
要求されたファイル データのバイト数。 プロバイダーは、byteOffset で始まるこの数バイト以上のファイル データを返す必要があります。
戻り値
リターン コード | 説明 |
---|---|
|
プロバイダーは、要求されたすべてのデータを正常に返しました。 |
|
プロバイダーは、後で操作を完了することを望みます。 |
プロバイダーが操作に失敗した場合の適切な HRESULT エラー コード。
注釈
ProjFS がデータを受け取ると、それをファイルに書き込み、ハイドレートされたプレースホルダーに変換します。
このコールバックを処理するために、プロバイダーは PrjWriteFileData への 1 つ以上の呼び出しを発行して、ファイルのプライマリ データ ストリームの要求された内容を ProjFS に提供します。 その後、プロバイダーはコールバックを完了します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 Version 1809 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | projectedfslib.h |