IShellFolder::EnumObjects-Methode (shobjidl_core.h)
Ermöglicht es einem Client, den Inhalt eines Ordners zu bestimmen, indem er ein Elementbezeichner-Enumerationsobjekt erstellt und seine IEnumIDList-Schnittstelle zurückgibt. Die von dieser Schnittstelle unterstützten Methoden können dann verwendet werden, um den Inhalt des Ordners aufzulisten.
Syntax
HRESULT EnumObjects(
[in] HWND hwnd,
[in] SHCONTF grfFlags,
[out] IEnumIDList **ppenumIDList
);
Parameter
[in] hwnd
Typ: HWND
Wenn benutzereingaben erforderlich sind, um die Enumeration auszuführen, sollte dieses Fensterhandle vom Enumerationsobjekt als übergeordnetes Fenster verwendet werden, um Benutzereingaben zu übernehmen. Ein Beispiel wäre ein Dialogfeld, in dem Sie nach einem Kennwort fragen oder den Benutzer auffordern, eine CD oder Diskette einzulegen. Wenn hwndOwner auf NULL festgelegt ist, sollte der Enumerator keine Nachrichten posten, und wenn Benutzereingaben erforderlich sind, sollte dies automatisch fehlschlagen.
[in] grfFlags
Typ: SHCONTF
Flags, die angeben, welche Elemente in die Enumeration eingeschlossen werden sollen. Eine Liste der möglichen Werte finden Sie im aufgezählten SHCONTF-Typ .
[out] ppenumIDList
Typ: IEnumIDList**
Die Adresse, die einen Zeiger auf die IEnumIDList-Schnittstelle des von dieser Methode erstellten Enumerationsobjekts empfängt. Wenn ein Fehler auftritt oder keine geeigneten Unterobjekte gefunden werden, wird ppenumIDList auf NULL festgelegt.
Rückgabewert
Typ: HRESULT
Gibt S_OK
zurück, wenn erfolgreich, oder andernfalls einen Fehlerwert. Einige Implementierungen geben möglicherweise auch zurück S_FALSE
, was angibt, dass es keine untergeordneten Elemente gibt, die den übergebenen grfFlags entsprechen. Wenn S_FALSE
zurückgegeben wird, ist ppenumIDList auf NULL
festgelegt.
Hinweise
Wenn die Methode S_OK zurückgibt, empfängt ppenumIDList einen Zeiger auf einen Enumerator. In diesem Fall muss die aufrufende Anwendung das zurückgegebene IEnumIDList-Objekt freigeben, indem die Release-Methode aufgerufen wird.
Wenn die Methode S_FALSE zurückgibt, enthält der Ordner keine geeigneten Unterobjekte, und der in ppenumIDList angegebene Zeiger ist auf NULL festgelegt.
Wenn die Methode fehlschlägt, wird ein Fehlerwert zurückgegeben, und der in ppenumIDList angegebene Zeiger wird auf NULL festgelegt.
Wenn der Ordner keine geeigneten Unterobjekte enthält, kann die IShellFolder::EnumObjects-Methode entweder *ppenumIDList auf NULL festlegen und S_FALSE zurückgeben oder *ppenumIDList auf einen Enumerator festlegen, der keine Objekte erzeugt und S_OK zurückgibt. Aufrufen von Anwendungen muss für beide Erfolgsfälle vorbereitet sein.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shobjidl_core.h (einschließlich Shobjidl.h) |
DLL | Shell32.dll (Version 4.0 oder höher) |