IShellFolder::GetUIObjectOf-Methode (shobjidl_core.h)

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)

Siehe auch

IShellFolder

IShellFolder2