Freigeben über


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 vom Client angegeben werden soll, wenn ein Dialogfeld oder meldungsfeld angezeigt wird.

[in] cidl

Typ: UINT

Die Anzahl von Dateiobjekten oder Unterordnern, die im apidl-Parameter angegeben sind.

[in] apidl

Typ: PCUITEMID_CHILD_ARRAY

Die Adresse eines Arrays von Zeigern auf ITEMIDLIST-Strukturen , von denen jede ein Dateiobjekt oder unterordner relativ zum übergeordneten Ordner eindeutig identifiziert. Jede Elementbezeichnerliste muss genau eine SHITEMID-Struktur gefolgt von einer endenden Null enthalten.

[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 gängigsten Bezeichner, die von der Shell verwendet werden, sind in den Kommentaren am Ende dieser Referenz aufgeführt.

[in, out] rgfReserved

Typ: UINT*

Reserviert.

[out] ppv

Typ: void**

Wenn diese Methode erfolgreich zurückgegeben wird, enthält den in riid angeforderten Schnittstellenzeiger.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Wenn cidl größer als eins ist, sollte die IShellFolder::GetUIObjectOf-Implementierung nur erfolgreich sein, wenn sie 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 finden Sie die gängigsten Schnittstellenbezeichner, die die Shell beim Anfordern einer Schnittstelle von dieser Methode verwendet. Die Liste gibt auch an, ob cidl für die angeforderte Schnittstelle größer als eins 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.
IQueryInfo Der cidl-Parameter kann nur ein Parameter sein.
 

Es wird empfohlen, das makro IID_PPV_ARGS zu verwenden, das in Objbase.h definiert ist, um die Parameter riid und ppv zu packen. 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 vermieden wird, der zu unerwarteten Ergebnissen führen könnte.

Anforderungen

Anforderung Wert
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 (shobjidl.h einschließen)
DLL Shell32.dll (Version 4.0 oder höher)

Weitere Informationen

IShellFolder

IShellFolder2