Freigeben über


PRJ_GET_DIRECTORY_ENUMERATION_CB Rückruffunktion (projectedfslib.h)

Fordert Verzeichnisaufzählungsinformationen vom Anbieter an.

Syntax

PRJ_GET_DIRECTORY_ENUMERATION_CB PrjGetDirectoryEnumerationCb;

HRESULT PrjGetDirectoryEnumerationCb(
  [in]           const PRJ_CALLBACK_DATA *callbackData,
  [in]           const GUID *enumerationId,
  [in, optional] PCWSTR searchExpression,
  [in]           PRJ_DIR_ENTRY_BUFFER_HANDLE dirEntryBufferHandle
)
{...}

Parameter

[in] callbackData

Informationen zum Vorgang. Die folgenden callbackData-Member sind erforderlich, um diesen Rückruf zu implementieren:

FilePathName Gibt das verzeichnis an, das aufgezählt werden soll.
VersionInfo Stellt Versionsinformationen für das verzeichnis bereit, das aufgezählt werden soll.
Flaggen Flags, um zu steuern, was in der Enumeration zurückgegeben wird. Gültige Werte sind:
PRJ_CB_DATA_FLAG_ENUM_RETURN_SINGLE_ENTRY Dieses Bit wird festgelegt, wenn der Benutzer nur einen Eintrag von der Enumeration anfordert. Der Anbieter kann dies als Hinweis behandeln und mehrere Einträge zurückgeben, um eine Enumeration, die ein Element nach dem anderen zurückgibt, effizienter zu gestalten. In diesem Fall gibt ProjFS einen einzelnen Eintrag an den Benutzer zurück und ruft den Anbieter nur auf, wenn er weitere Einträge benötigt.
PRJ_CB_DATA_FLAG_ENUM_RESTART_SCAN Dieses Bit wird festgelegt, wenn die Enumeration am ersten Eintrag im Verzeichnis beginnen soll. Beim ersten Aufruf dieses Rückrufs für eine Enumerationssitzung muss der Anbieter dieses Flag unabhängig vom Wert als festgelegt behandeln. Alle Enumerationen müssen beim ersten Eintrag beginnen. Bei nachfolgenden Aufrufen dieses Rückrufs muss der Anbieter diesen Wert berücksichtigen.
 

Der Anbieter kann nur während der Ausführung des Rückrufs auf diesen Puffer zugreifen. Wenn er den Vorgang mit stiften möchte und Daten aus diesem Puffer benötigt, muss er eine eigene Kopie davon erstellen.

[in] enumerationId

Ein Bezeichner für diese Enumerationssitzung.

[in, optional] searchExpression

Ein Zeiger auf eine unicode-Zeichenfolge, die null endet, die einen Suchausdruck angibt. Der Suchausdruck kann Wildcardzeichen enthalten. Der Anbieter sollte die PrjDoesNameContainWildCards-Funktion verwenden, um zu bestimmen, ob in searchExpression Wildcards vorhanden sind, und er sollte die PrjFileNameMatch-Funktion verwenden, um zu bestimmen, ob ein Eintrag in seinem Sicherungsspeicher mit einem Suchausdruck übereinstimmt, der Wildcards enthält.

Dieser Parameter ist optional und kann NULL sein.

  • Wenn dieser Parameter nicht NULL ist, darf der Anbieter nur die Verzeichniseinträge zurückgeben, deren Namen dem Suchausdruck entsprechen.
  • Wenn dieser Parameter NULL ist, muss der Anbieter alle Verzeichniseinträge zurückgeben.

Der Anbieter sollte den Wert dieses Parameters beim ersten Aufruf dieses Rückrufs für eine Enumerationssitzung erfassen und bei nachfolgenden Aufrufen verwenden, wobei dieser Parameter für diese Aufrufe ignoriert wird, es sei denn , PRJ_CB_DATA_FLAG_ENUM_RESTART_SCAN im Flags-Member von callbackData angegeben ist. In diesem Fall muss der Anbieter den Wert von searchExpression erneut erfassen.

[in] dirEntryBufferHandle

Ein undurchsichtiges Handle für eine Struktur, die die Ergebnisse der Enumeration vom Anbieter empfängt. Der Anbieter verwendet die PrjFillDirEntryBuffer-Routine , um die -Struktur zu füllen.

Rückgabewert

Rückgabecode BESCHREIBUNG
S_OK
Der Anbieter hat dirEntryBufferHandle mindestens einen Eintrag hinzugefügt, oder keine Einträge in der Store-Übereinstimmung searchExpression des Anbieters.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
Der Anbieter hat diesen Fehler von PrjFillDirEntryBuffer für die erste Datei oder das erste Verzeichnis erhalten, das bzw. das er zu dirEntryBufferHandle hinzufügen wollte.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
Der Anbieter möchte den Vorgang zu einem späteren Zeitpunkt abschließen.
 

Ein geeigneter HRESULT-Fehlercode, wenn der Anbieter den Vorgang fehlschlägt.

Hinweise

ProjFS ruft diesen Rückruf nach dem Aufruf von PRJ_START_DIRECTORY_ENUMERATION_CB ein oder mehrmals auf. Weitere Informationen finden Sie im Abschnitt "Hinweise " von PRJ_START_DIRECTORY_ENUMERATION_CB .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile projectedfslib.h