Freigeben über


IShellFolder::CreateViewObject-Methode (shobjidl_core.h)

Fordert ein Objekt an, das zum Abrufen von Informationen aus einem Ordnerobjekt oder zum Interagieren mit einem Ordnerobjekt verwendet werden kann.

Syntax

HRESULT CreateViewObject(
  [in]  HWND   hwndOwner,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parameter

[in] hwndOwner

Typ: HWND

Ein Handle für das Besitzerfenster. Wenn Sie ein benutzerdefiniertes Ordneransichtsobjekt implementiert haben, sollte Ihr Ordneransichtsfenster als untergeordnetes Element von hwndOwner erstellt werden.

[in] riid

Typ: REFIID

Ein Verweis auf die IID der Schnittstelle, die über ppv abgerufen werden soll, in der Regel IID_IShellView.

[out] ppv

Typ: void**

Wenn diese Methode erfolgreich zurückgibt, enthält den in riid angeforderten Schnittstellenzeiger. Dies ist in der Regel IShellView. Weitere Details finden Sie im Abschnitt „Anmerkungen“.

Rückgabewert

Typ: HRESULT

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

Hinweise

Um diese Anforderung zu unterstützen, erstellen Sie ein -Objekt, das die durch riid angegebene Schnittstelle verfügbar macht, und geben einen Zeiger auf diese Schnittstelle zurück.

Der Hauptzweck dieser Methode besteht darin, Windows Explorer mit dem Ordneransichtsobjekt des Ordnerobjekts bereitzustellen. Windows Explorer fordert ein Ordneransichtsobjekt an, indem riid auf IID_IShellView festgelegt wird. Das Ordneransichtsobjekt zeigt den Inhalt des Ordners in der Ordneransicht von Windows Explorer an. Das Ordneransichtsobjekt muss unabhängig vom Shell-Ordnerobjekt sein, da Windows Explorer diese Methode möglicherweise mehrmals aufruft, um mehrere Ordneransichtsobjekte zu erstellen. Jedes Mal, wenn diese Methode aufgerufen wird, muss ein neues Ansichtsobjekt erstellt werden. Ihr Ordnerobjekt kann auf eine von zwei Arten auf diese Anforderung reagieren. Sie haben damit folgende Möglichkeiten:

  • Erstellen Sie ein benutzerdefiniertes Ordneransichtsobjekt, und geben Sie einen Zeiger auf die IShellView-Schnittstelle zurück.
  • Erstellen Sie ein Systemordneransichtsobjekt, und geben Sie einen Zeiger auf die IShellView-Schnittstelle zurück.
Diese Methode wird auch verwendet, um Objekte anzufordern, die eine von mehreren optionalen Schnittstellen verfügbar machen, einschließlich IContextMenu oder IExtractIcon. In diesem Kontext ähnelt CreateViewObject der Verwendung von IShellFolder::GetUIObjectOf. Sie rufen jedoch IShellFolder::GetUIObjectOf auf, um ein Objekt für eines der in einem Ordner enthaltenen Elemente anzufordern. Rufen Sie IShellFolder::CreateViewObject auf, um ein Objekt für den Ordner selbst anzufordern. Die am häufigsten angeforderten Schnittstellen sind: 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 beseitigt wird, der zu unerwarteten Ergebnissen führen kann.

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)

Weitere Informationen

IShellFolder

IShellFolder2