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