PRJ_GET_DIRECTORY_ENUMERATION_CB
コールバックシグネチャ
HRESULT PRJ_GET_DIRECTORY_ENUMERATION_CB(
PRJ_CALLBACK_DATA* callbackData,
GUID* enumerationId,
LPWSTR searchExpression,
PRJ_DIR_ENTRY_BUFFER_HANDLE dirEntryBufferHandle
);パラメーター
| フィールド | 型 | 説明 | ||||
|---|---|---|---|---|---|---|
| callbackData | PRJ_CALLBACK_DATA* | 操作に関する情報です。このコールバックを実装するには、次の callbackData メンバーが必要です:
プロバイダーがこのバッファーにアクセスできるのは、コールバックの実行中のみです。操作を保留にしたい場合で、このバッファーのデータが必要なときは、プロバイダー自身がそのコピーを作成する必要があります。 | ||||
| enumerationId | GUID* | この列挙セッションの識別子です。 | ||||
| searchExpression | LPWSTR | 検索式を指定する、null で終わる Unicode 文字列へのポインターです。検索式にはワイルドカード文字を含めることができます。プロバイダーは、searchExpression にワイルドカードが含まれているかどうかを判定するために PrjDoesNameContainWildCards 関数を使用し、バッキングストア内のエントリがワイルドカードを含む検索式に一致するかどうかを判定するために PrjFileNameMatch 関数を使用してください。 このパラメーターは省略可能で、NULL でもかまいません。
プロバイダーは、列挙セッションでこのコールバックが最初に呼び出されたときにこのパラメーターの値を保持し、以降の呼び出しではその保持した値を使用して、それらの呼び出しではこのパラメーターを無視してください。ただし、callbackData の Flags メンバーに PRJ_CB_DATA_FLAG_ENUM_RESTART_SCAN が指定されている場合は除きます。その場合、プロバイダーは searchExpression. の値を取得し直す必要があります。 | ||||
| dirEntryBufferHandle | PRJ_DIR_ENTRY_BUFFER_HANDLE | プロバイダーからの列挙結果を受け取る構造体への不透明なハンドルです。プロバイダーは、この構造体を設定するために PrjFillDirEntryBuffer ルーチンを使用します。 |
公式ドキュメント
プロバイダーにディレクトリ列挙の情報を要求します。
戻り値
| 戻り値 | 説明 |
|---|---|
| プロバイダーが dirEntryBufferHandle に少なくとも 1 つのエントリを追加できたか、またはプロバイダーのストア内に searchExpression に一致するエントリがありません。 | |
|
プロバイダーが dirEntryBufferHandle に最初に追加しようとしたファイルまたはディレクトリについて、PrjFillDirEntryBuffer からこのエラーを受け取りました。 |
|
プロバイダーが操作を後で完了することを望んでいます。 |
プロバイダーが操作を失敗させる場合は、適切な HRESULT エラーコードを返します。
解説(Remarks)
ProjFS は、PRJ_START_DIRECTORY_ENUMERATION_CB を呼び出した後、このコールバックを 1 回以上呼び出します。詳細については、PRJ_START_DIRECTORY_ENUMERATION_CB の「解説」セクションを参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)