次の方法で共有


PrjWritePlaceholderInfo 関数 (projectedfslib.h)

ファイルまたはディレクトリのメタデータを ProjFS に送信します。

構文

HRESULT PrjWritePlaceholderInfo(
  [in] PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT namespaceVirtualizationContext,
  [in] PCWSTR                               destinationFileName,
  [in] const PRJ_PLACEHOLDER_INFO           *placeholderInfo,
  [in] UINT32                               placeholderInfoSize
);

パラメーター

[in] namespaceVirtualizationContext

仮想化インスタンスの不透明なハンドル。 これは、 PRJ_GET_PLACEHOLDER_INFO_CB コールバックでプロバイダーに渡される callbackData の VirtualizationInstanceHandle メンバーの値である必要があります。

[in] destinationFileName

プレースホルダーを作成するファイルまたはディレクトリへの仮想化ルートに対する相対パスを指定する null で終わる Unicode 文字列。

これは、 PRJ_GET_PLACEHOLDER_INFO_CB コールバックでプロバイダーに渡される callbackData パラメーターの FilePathName メンバーと一致している必要があります。 プロバイダーは、PrjFileNameCompare 関数を使用して、2 つの名前が一致するかどうかを判断する必要があります。

たとえば、 PRJ_GET_PLACEHOLDER_INFO_CB コールバックで callbackData-FilePathName> に "dir1\dir1\FILE.TXT" が指定され、プロバイダーのバッキング ストアに dir1\dir2 ディレクトリに "File.txt" というファイルが含まれており、名前 "FILE.TXT" と "File.txt" を比較すると PrjFileNameCompare が 0 を返す場合、プロバイダーはこのパラメーターの値として "dir1\dir2\File.txt" を指定します。

[in] placeholderInfo

ファイルまたはディレクトリのメタデータへのポインター。

[in] placeholderInfoSize

placeholderInfo が指すバッファーのサイズ (バイト単位)。

戻り値

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

プロバイダーは、このルーチンを使用して、 PRJ_GET_PLACEHOLDER_INFO_CB コールバックの呼び出しで要求されたデータを提供するか、プレースホルダーを事前に配置するために使用できます。

PRJ_PLACEHOLDER_INFOの EaInformation、SecurityInformation、StreamsInformation の各メンバーは省略可能です。 プロバイダーが拡張属性、カスタム セキュリティ記述子、または代替データ ストリームを提供しない場合は、これらのフィールドを 0 に設定する必要があります。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1809 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー projectedfslib.h