Share via


Funzione PrjFillDirEntryBuffer2 (projectedfslib.h)

Fornisce informazioni per un file o una directory a un'enumerazione e consente al chiamante di specificare informazioni estese.

Sintassi

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

Parametri

[in] dirEntryBufferHandle

Handle opaco per una struttura che riceve informazioni sulle voci compilate.

[in] fileName

Puntatore a una stringa con terminazione Null contenente il nome della voce

[in, optional] fileBasicInfo

Informazioni di base sulla voce da compilare.

[in, optional] extendedInfo

Puntatore a uno struct PRJ_EXTENDED_INFO che specifica informazioni estese sulla voce da compilare.

Valore restituito

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) indica che dirEntryBufferHandle non dispone di spazio sufficiente per la nuova voce.

E_INVALIDARG indica che extendedInfo.InfoType non è riconosciuto.

Commenti

Il provider usa questa routine per gestire un callback PRJ_GET_DIRECTORY_ENUMERATION_CB . Quando si elabora il callback, il provider chiama questa routine per ogni file o directory corrispondente nell'enumerazione . Questa routine consente al provider di specificare informazioni estese sul file o sulla directory, ad esempio se si tratta di un collegamento simbolico.

Se questa routine restituisce HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) quando si aggiunge una voce all'enumerazione, il provider restituisce S_OK dal callback e attende il callback PRJ_GET_DIRECTORY_ENUMERATION_CB successivo.

Il provider riprende a riempire l'enumerazione con la voce che stava tentando di aggiungere quando ha ottenuto HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER).

Se questa routine restituisce HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) per la prima voce aggiunta durante qualsiasi chiamata di un callback PRJ_GET_DIRECTORY_ENUMERATION_CB , il provider deve restituire HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) dal callback.

Per specificare che questa voce di directory è relativa a un collegamento simbolico, il provider formatta un buffer con un singolo struct PRJ_EXTENDED_INFO e passa un puntatore al extendedInfo parametro . Il provider imposta i campi dello struct nel modo seguente:

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

Requisiti

Requisito Valore
Client minimo supportato Windows 10 versione 2004 (10.0; Build 19041)
Server minimo supportato Windows Server, versione 2004 (10.0; Build 19041)
Piattaforma di destinazione Windows
Intestazione projectedfslib.h