Partager via


IShellFolder::CreateViewObject, méthode (shobjidl_core.h)

Demande un objet qui peut être utilisé pour obtenir des informations à partir d’un objet folder ou interagir avec celui-ci.

Syntaxe

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

Paramètres

[in] hwndOwner

Type : HWND

Handle de la fenêtre propriétaire. Si vous avez implémenté un objet d’affichage de dossier personnalisé, votre fenêtre d’affichage dossier doit être créée en tant qu’enfant de hwndOwner.

[in] riid

Type : REFIID

Référence à l’IID de l’interface à récupérer via ppv, généralement IID_IShellView.

[out] ppv

Type : void**

Lorsque cette méthode retourne correctement, contient le pointeur d’interface demandé dans riid. Il s’agit généralement d’IShellView. Pour plus d’informations, consultez la section Notes.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Pour prendre en charge cette demande, créez un objet qui expose l’interface indiquée par riid et retournez un pointeur vers cette interface.

L’objectif principal de cette méthode est de fournir à Windows Explorer l’objet d’affichage de dossier de l’objet folder. Windows Explorer demande un objet d’affichage de dossier en définissant riid sur IID_IShellView. L’objet d’affichage dossier affiche le contenu du dossier dans l’affichage dossier Windows Explorer. L’objet d’affichage dossier doit être indépendant de l’objet de dossier Shell, car Windows Explorer peut appeler cette méthode plusieurs fois pour créer plusieurs objets d’affichage de dossiers. Un nouvel objet de vue doit être créé chaque fois que cette méthode est appelée. Votre objet folder peut répondre de l’une des deux manières suivantes à cette demande. Il peut :

  • Créez un objet d’affichage de dossiers personnalisé et retournez un pointeur vers son interface IShellView .
  • Créez un objet d’affichage de dossiers système et retournez un pointeur vers son interface IShellView .
Cette méthode est également utilisée pour demander des objets qui exposent l’une des interfaces facultatives, notamment IContextMenu ou IExtractIcon. Dans ce contexte, l’utilisation de CreateViewObject est similaire à IShellFolder::GetUIObjectOf. Toutefois, vous appelez IShellFolder::GetUIObjectOf pour demander un objet pour l’un des éléments contenus dans un dossier. Appelez IShellFolder::CreateViewObject pour demander un objet pour le dossier lui-même. Les interfaces les plus fréquemment demandées sont les suivantes : Nous vous recommandons d’utiliser la macro IID_PPV_ARGS , définie dans Objbase.h, pour empaqueter les paramètres riid et ppv . Cette macro fournit l’IID correct en fonction de l’interface pointée par la valeur dans ppv, ce qui élimine la possibilité d’une erreur de codage dans riid qui pourrait entraîner des résultats inattendus.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (incluez Shobjidl.h)
DLL Shell32.dll (version 4.0 ou ultérieure)

Voir aussi

IShellFolder

IShellFolder2