Funzione SHGetDataFromIDListA (shlobj_core.h)

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

Sintassi

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

Parametri

[in] psf

Tipo: IShellFolder*

Indirizzo dell'interfaccia IShellFolder padre. 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 rispetto 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 WIN32_FIND_DATA .

SHGDFIL_NETRESOURCE

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

SHGDFIL_DESCRIPTIONID

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

[out] pv

Tipo: void*

Puntatore a un buffer che, quando questa funzione viene restituita 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 stringa saranno NULL.

cb

Tipo: int

Dimensioni del buffer in pv, in byte.

Valore restituito

Tipo: HRESULT

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

Commenti

Questa funzione estrae solo le informazioni presenti nel puntatore a un elenco di identificatori di elemento (PIDL). Poiché il contenuto di un FILE 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 membri della struttura WIN32_FIND_DATA . I membri rimanenti verranno impostati su zero. Per recuperare informazioni aggiornate 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, pv o cb non corrisponde al parametro nFormat oppure se nFormat non è uno dei valori SHGDFIL_ specifici indicati 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlobj_core.h (include 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)