Condividi tramite


Funzione SHGetDataFromIDListW (shlobj_core.h)

Recupera i dati delle proprietà estese da un elenco di identificatori relativi.

Sintassi

SHSTDAPI SHGetDataFromIDListW(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

Parametri

[in] psf

Tipo: * IShellFolder

Indirizzo dell'interfaccia padre IShellFolder. Deve essere l'elemento padre immediato della struttura ITEMIDLIST a cui fa riferimento il parametro pidl .

[in] pidl

Tipo: PCUITEMID_CHILD

Puntatore a una struttura ITEMIDLIST che identifica l'oggetto relativo alla cartella specificata in psf.

nFormat

Tipo: int

Formato in cui vengono richiesti i dati. Questo parametro deve essere impostato su uno dei valori seguenti.

SHGDFIL_FINDDATA

Formato utilizzato per gli oggetti del file system. Il parametro pv è l'indirizzo di una struttura di WIN32_FIND_DATA.

SHGDFIL_NETRESOURCE

Formato usato per le risorse di rete. Il parametro pv è l'indirizzo di una struttura di NETRESOURCE .

SHGDFIL_DESCRIPTIONID

versione 4.71. Formato usato per le risorse di rete. Il parametro pv è l'indirizzo di una struttura di SHDESCRIPTIONID .

[out] pv

Tipo: void*

Puntatore a un buffer che, quando questa funzione restituisce correttamente, riceve i dati richiesti. Il formato di questo buffer è determinato da nFormat.

Se nFormat è SHGDFIL_NETRESOURCE, esistono due casi possibili. Se il buffer è sufficientemente grande, le informazioni sulla stringa della risorsa net (campi per il nome di rete, il nome locale, il provider e i commenti) verranno inserite nel buffer. Se il buffer non è sufficientemente grande, solo la struttura di risorse net verrà inserita nel buffer e i puntatori alle informazioni sulla stringa verranno NULL.

cb

Tipo: int

Dimensioni del buffer in byte pv.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo o E_INVALIDARG in caso contrario.

Osservazioni

Questa funzione estrae solo le informazioni presenti nel puntatore a un elenco di identificatori di elemento (PIDL). Poiché il contenuto di un PIDL dipende dall'oggetto cartella che ha creato il PIDL, non esiste alcuna garanzia che tutte le informazioni richieste saranno disponibili. Inoltre, le informazioni restituite riflettono lo stato dell'oggetto al momento della creazione del file PIDL. Lo stato corrente dell'oggetto potrebbe essere diverso. Ad esempio, se si imposta nFormat su SHGDFIL_FINDDATA, la funzione potrebbe assegnare valori significativi solo ad alcuni dei membri della struttura WIN32_FIND_DATA. I membri rimanenti verranno impostati su zero. Per recuperare informazioni correnti complete su un file o una cartella del file system, usare funzioni standard del file system, ad esempio GetFileTime o FindFirstFile.

E_INVALIDARG viene restituito se il parametro psf, pidl, pvo cb non corrisponde al parametro nFormat oppure se nFormat non è uno dei valori SHGDFIL_ specifici illustrati in precedenza.

Nota

L'intestazione shlobj_core.h definisce SHGetDataFromIDList come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione shlobj_core.h (includere Shlobj.h, Shlobj_core.h)
libreria Shell32.lib
dll Shell32.dll (versione 4.0 o successiva)
set di API ext-ms-win-shell-shell32-l1-2-1 (introdotto in Windows 10, versione 10.0.10240)