次の方法で共有


PrjFillDirEntryBuffer2 関数 (projectedfslib.h)

1 つのファイルまたはディレクトリの情報を列挙に提供し、呼び出し元が拡張情報を指定できるようにします。

構文

HRESULT PrjFillDirEntryBuffer2(
  [in]           PRJ_DIR_ENTRY_BUFFER_HANDLE dirEntryBufferHandle,
  [in]           PCWSTR                      fileName,
  [in, optional] PRJ_FILE_BASIC_INFO         *fileBasicInfo,
  [in, optional] PRJ_EXTENDED_INFO           *extendedInfo
);

パラメーター

[in] dirEntryBufferHandle

塗りつぶされたエントリに関する情報を受け取る構造体への不透明なハンドル。

[in] fileName

エントリの名前を含む null で終わる文字列へのポインター

[in, optional] fileBasicInfo

入力するエントリに関する基本情報。

[in, optional] extendedInfo

入力するエントリに関する拡張情報を指定する PRJ_EXTENDED_INFO 構造体へのポインター。

戻り値

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) は、dirEntryBufferHandle に新しいエントリ用の十分な領域がないことを示します。

E_INVALIDARGは、extendedInfo.InfoType が認識されないかどうかを示します。

注釈

プロバイダーは、このルーチンを使用して 、PRJ_GET_DIRECTORY_ENUMERATION_CB コールバックを処理します。 コールバックを処理する場合、プロバイダーは列挙体内の一致するファイルまたはディレクトリごとにこのルーチンを呼び出します。 このルーチンを使用すると、プロバイダーはファイルまたはディレクトリに関する拡張情報 (シンボリック リンクかどうかなど) を指定できます。

このルーチンが列挙にエントリを追加するときにHRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) を返す場合、プロバイダーはコールバックからS_OKを返し、次の PRJ_GET_DIRECTORY_ENUMERATION_CB コールバックを待機します。

プロバイダーは、HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) になったときに追加しようとしたエントリで列挙体の入力を再開します。

このルーチンが、PRJ_GET_DIRECTORY_ENUMERATION_CBコールバックの呼び出し中に追加された最初のエントリの HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)を 返す場合、プロバイダーはコールバックからHRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)を返す必要があります。

このディレクトリ エントリがシンボリック リンク用であることを指定するために、プロバイダーは、1 つの PRJ_EXTENDED_INFO 構造体を使用してバッファーを書式設定し、 パラメーターでポインターを extendedInfo 渡します。 プロバイダーは、構造体のフィールドを次のように設定します。

  • extendedInfo.InfoType = PRJ_EXT_INFO_TYPE_SYMLINK
  • extendedInfo.NextInfoOffset = 0
  • extendedInfo.Symlink.TargetName = <path to the target of the symbolic link>

要件

要件
サポートされている最小のクライアント Windows 10バージョン 2004 (10.0;ビルド 19041)
サポートされている最小のサーバー Windows Server バージョン 2004 (10.0;ビルド 19041)
対象プラットフォーム Windows
ヘッダー projectedfslib.h