Freigeben über


PrjFillDirEntryBuffer2-Funktion (projectedfslib.h)

Stellt Informationen für eine Datei oder ein Verzeichnis für eine Enumeration bereit und ermöglicht es dem Aufrufer, erweiterte Informationen anzugeben.

Syntax

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
);

Die Parameter

[in] dirEntryBufferHandle

Ein undurchsichtiges Handle für eine Struktur, die Informationen zu den ausgefüllten Einträgen empfängt.

[in] fileName

Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen des Eintrags enthält.

[in, optional] fileBasicInfo

Grundlegende Informationen zum zu füllenden Eintrag.

[in, optional] extendedInfo

Ein Zeiger auf eine PRJ_EXTENDED_INFO Struktur, die erweiterte Informationen über den zu füllenden Eintrag angibt.

Rückgabewert

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) gibt an, dass dirEntryBufferHandle nicht genügend Platz für den neuen Eintrag hat.

E_INVALIDARG gibt an, dass extendedInfo.InfoType nicht erkannt wird.

Bemerkungen

Der Anbieter verwendet diese Routine, um einen PRJ_GET_DIRECTORY_ENUMERATION_CB Rückruf zu verarbeiten. Beim Verarbeiten des Rückrufs ruft der Anbieter diese Routine für jede übereinstimmende Datei oder jedes Verzeichnis in der Enumeration auf. Diese Routine ermöglicht es dem Anbieter, erweiterte Informationen über die Datei oder das Verzeichnis anzugeben, z. B. ob es sich um eine symbolische Verknüpfung handelt.

Wenn diese Routine beim Hinzufügen eines Eintrags zur Enumeration HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) zurückgibt, gibt der Anbieter S_OK aus dem Rückruf zurück und wartet auf den nächsten PRJ_GET_DIRECTORY_ENUMERATION_CB Rückruf.

Der Anbieter setzt das Ausfüllen der Enumeration mit dem Eintrag fort, den er hinzufügen wollte, als er HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) erhalten hat.

Wenn diese Routine HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) für den ersten Eintrag zurückgibt, der während eines Aufrufs eines PRJ_GET_DIRECTORY_ENUMERATION_CB Rückrufs hinzugefügt wurde, muss der Anbieter HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) aus dem Rückruf zurückgeben.

Um anzugeben, dass dieser Verzeichniseintrag für eine symbolische Verknüpfung bestimmt ist, formatiert der Anbieter einen Puffer mit einer einzelnen PRJ_EXTENDED_INFO Struktur und übergibt einen Zeiger an ihn extendedInfo im Parameter. Der Anbieter legt die Felder der Struktur wie folgt fest:

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

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 10, Version 2004 (10.0; Build 19041)
Mindestanforderungen für unterstützte Server Windows Server, Version 2004 (10.0; Build 19041)
Zielplattform Fenster
Header projectedfslib.h
Library ProjectedFSLib.lib