Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft ein Objekt ab, das zum Ausführen von Aktionen für die angegebenen Dateiobjekte oder Ordner verwendet werden kann.
Syntax
HRESULT GetUIObjectOf(
[in] HWND hwndOwner,
[in] UINT cidl,
[in] PCUITEMID_CHILD_ARRAY apidl,
[in] REFIID riid,
[in, out] UINT *rgfReserved,
[out] void **ppv
);
Parameter
[in] hwndOwner
Typ: HWND-
Ein Handle für das Besitzerfenster, das der Client angeben soll, wenn es ein Dialogfeld oder Meldungsfeld anzeigt.
[in] cidl
Typ: UINT
Die Anzahl der Im apidl-Parameter angegebenen Dateiobjekte oder Unterordner.
[in] apidl
Typ: PCUITEMID_CHILD_ARRAY
Die Adresse eines Arrays von Zeigern auf ITEMIDLIST-Strukturen , von denen jedes ein Dateiobjekt oder einen Unterordner relativ zum übergeordneten Ordner eindeutig identifiziert. Jede Elementbezeichnerliste muss genau eine SHITEMID-Struktur enthalten, gefolgt von einer beendeten Null.
[in] riid
Typ: REFIID
Ein Verweis auf die IID der Schnittstelle, die über ppv abgerufen werden soll. Dies kann ein beliebiger gültiger Schnittstellenbezeichner sein, der für ein Element erstellt werden kann. Die am häufigsten verwendeten Bezeichner der Shell werden in den Kommentaren am Ende dieses Verweises aufgeführt.
[in, out] rgfReserved
Typ: UINT*
Reserviert.
[out] ppv
Typ: void**
Wenn diese Methode erfolgreich zurückgegeben wird, enthält sie den in riid angeforderten Schnittstellenzeiger.
Rückgabewert
Typ: HRESULT-
Wenn diese Methode erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.
Bemerkungen
Wenn cidl größer als eine ist, sollte die IShellFolder::GetUIObjectOf-Implementierung nur erfolgreich sein, wenn es ein Objekt für alle in apidl angegebenen Elemente erstellen kann. Wenn die Implementierung kein Objekt für alle Elemente erstellen kann, schlägt diese Methode fehl.
Im Folgenden sind die am häufigsten verwendeten Schnittstellenbezeichner aufgeführt, die von der Shell beim Anfordern einer Schnittstelle aus dieser Methode verwendet werden. Die Liste gibt auch an, ob cidl größer als eine für die angeforderte Schnittstelle sein kann.
| Schnittstellenbezeichner | Zulässiger Cidl-Wert |
|---|---|
| IContextMenu | Der Cidl-Parameter kann größer oder gleich 1 sein. |
| IContextMenu2 | Der Cidl-Parameter kann größer oder gleich 1 sein. |
| IDataObject- | Der Cidl-Parameter kann größer oder gleich 1 sein. |
| IDropTarget | Der Cidl-Parameter kann nur ein Parameter sein. |
| IExtractIcon | Der Cidl-Parameter kann nur ein Parameter sein. |
| IExtractImage | Der Cidl-Parameter kann nur ein Parameter sein. |
| IQueryInfo | Der Cidl-Parameter kann nur ein Parameter sein. |
Es wird empfohlen, das in Objbase.h definierte IID_PPV_ARGS-Makro zu verwenden, um die Riid - und ppv-Parameter zu verpacken. Dieses Makro stellt die richtige IID basierend auf der Schnittstelle bereit, auf die der Wert in ppv verweist, wodurch die Möglichkeit eines Codierungsfehlers in Riid beseitigt wird, der zu unerwarteten Ergebnissen führen könnte.
Requirements
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows XP [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows 2000 Server [nur Desktop-Apps] |
| Zielplattform | Windows |
| Header | shobjidl_core.h (include Shobjidl.h) |
| DLL | Shell32.dll (Version 4.0 oder höher) |