Condividi tramite


Metodo IShellFolder::EnumObjects (shobjidl_core.h)

Consente a un client di determinare il contenuto di una cartella creando un oggetto di enumerazione dell'identificatore di elemento e restituendo l'interfaccia IEnumIDList . I metodi supportati da tale interfaccia possono quindi essere usati per enumerare il contenuto della cartella.

Sintassi

HRESULT EnumObjects(
  [in]  HWND        hwnd,
  [in]  SHCONTF     grfFlags,
  [out] IEnumIDList **ppenumIDList
);

Parametri

[in] hwnd

Tipo: HWND

Se l'input dell'utente è necessario per eseguire l'enumerazione, questo handle di finestra deve essere usato dall'oggetto di enumerazione come finestra padre per accettare l'input dell'utente. Un esempio è una finestra di dialogo per richiedere una password o chiedere all'utente di inserire un CD o un disco floppy. Se hwndOwner è impostato su NULL, l'enumeratore non deve pubblicare messaggi e, se è necessario l'input dell'utente, l'errore dovrebbe avere esito negativo.

[in] grfFlags

Tipo: SHCONTF

Flag che indicano gli elementi da includere nell'enumerazione . Per un elenco dei valori possibili, vedere il tipo enumerato SHCONTF .

[out] ppenumIDList

Tipo: IEnumIDList**

Indirizzo che riceve un puntatore all'interfaccia IEnumIDList dell'oggetto di enumerazione creato da questo metodo. Se si verifica un errore o non viene trovato alcun sottooggetto appropriato, ppenumIDList è impostato su NULL.

Valore restituito

Tipo: HRESULT

Restituisce S_OK se l'operazione viene eseguita correttamente; in caso contrario, un valore di errore. Alcune implementazioni possono anche restituire S_FALSE, a indicare che non sono presenti elementi figlio corrispondenti ai grfFlag passati. Se S_FALSE viene restituito, ppenumIDList è impostato su NULL.

Commenti

Se il metodo restituisce S_OK, ppenumIDList riceve un puntatore a un enumeratore. In questo caso, l'applicazione chiamante deve liberare l'oggetto IEnumIDList restituito chiamando il relativo metodo Release .

Se il metodo restituisce S_FALSE, la cartella non contiene oggetti secondari appropriati e il puntatore specificato in ppenumIDList è impostato su NULL.

Se il metodo ha esito negativo, viene restituito un valore di errore e il puntatore specificato in ppenumIDList è impostato su NULL.

Se la cartella non contiene oggetti secondari appropriati, il metodo IShellFolder::EnumObjects può impostare *ppenumIDList su NULL e restituire S_FALSE oppure impostare *ppenumIDList su un enumeratore che non produce oggetti e restituisce S_OK. Le applicazioni chiamante devono essere preparate per entrambi i casi di esito positivo.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h (include Shobjidl.h)
DLL Shell32.dll (versione 4.0 o successiva)

Vedi anche

IShellFolder

IShellFolder2

SHGetDesktopFolder