Partager via


Méthode IHomeGroup ::ShowSharingWizard (shobjidl_core.h)

Affiche un Assistant qui permet à un utilisateur de créer un groupe d’accueil, puis récupère les options de partage sélectionnées par l’utilisateur via l’Assistant.

Syntaxe

HRESULT ShowSharingWizard(
  [in]  HWND                    owner,
  [out] HOMEGROUPSHARINGCHOICES *sharingchoices
);

Paramètres

[in] owner

Type : HWND

Handle de la fenêtre propriétaire de l’Assistant, utilisé pour les notifications. Cette valeur peut être NULL.

[out] sharingchoices

Type : HOMEGROUPSHARINGCHOICES*

Pointeur vers une valeur qui, lorsque cette méthode retourne correctement, reçoit une ou plusieurs des valeurs suivantes qui indiquent les bibliothèques et les appareils choisis par le biais de l’Assistant à partager avec le groupe Accueil.

HGSC_NONE (0x00000000)

0x00000000. Aucune des options groupe d’accueil n’a été sélectionnée

HGSC_MUSICLIBRARY (0x00000001)

0x00000001. La bibliothèque de musique a été sélectionnée pour être partagée avec le groupe Accueil.

HGSC_PICTURESLIBRARY (0x00000002)

0x00000002. La bibliothèque Images a été sélectionnée pour être partagée avec le groupe d’accueil.

HGSC_VIDEOSLIBRARY (0x00000004)

0x00000004. La bibliothèque de vidéos a été sélectionnée pour être partagée avec le groupe Accueil.

HGSC_DOCUMENTSLIBRARY (0x00000008)

0x00000008. La bibliothèque Documents a été sélectionnée pour être partagée avec le groupe Accueil.

HGSC_PRINTERS (0x00000010)

0x00000010. Les périphériques d’imprimante installés ont été sélectionnés pour être partagés avec le groupe Accueil.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite, ou une valeur d’erreur standard dans le cas contraire, y compris les éléments suivants :

Code de retour Description
ERROR_CANCELLED
L’utilisateur a annulé l’Assistant. Utilisez HRESULT_FROM_WIN32 pour extraire ce code d’erreur.
E_UNEXPECTED
L’ordinateur n’est pas joint à un groupe d’accueil ou le réseau ou le groupe d’accueil n’est pas dans un état qui autorise le partage (par exemple, ne pas être connecté au réseau ou avoir une autre opération de partage en cours).
E_NOINTERFACE
La méthode a été lancée à partir d’un thread d’appartement multithread (MTA).
E_INVALIDARG
Le paramètre sharingchoices est NULL.

Remarques

Cette méthode doit être appelée à partir d’un thread d’appartement à thread unique (STA).

Exemples

Le code suivant illustre un exemple d’utilisation de ShowSharingWizard.

HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (SUCCEEDED(hr))
{
    IHomeGroup *phg;
    
    hr = CoCreateInstance(CLSID_HomeGroup, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&phg));
    if (SUCCEEDED(hr))
    {
        HOMEGROUPSHARINGCHOICES sharingchoices;

        hr = phg->ShowSharingWizard(NULL, &sharingchoices);
        if (SUCCEEDED(hr))
        {
            \\ The user selected to share.
            
            if (sharingchoices & HGSC_MUSICLIBRARY)
            {
                \\ Music
            }
            if (sharingchoices & HGSC_PICTURESLIBRARY)
            {
                \\ Pictures
            }
            if (sharingchoices & HGSC_VIDEOSLIBRARY)
            {
                \\ Videos
            }
            if (sharingchoices & HGSC_DOCUMENTSLIBRARY)
            {
                \\ Documents
            }
            if (sharingchoices & HGSC_PRINTERS)
            {
                \\ Printers
            }
        }
        phg->Release();
    }
    CoUninitialize();
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (incluez Shobjidl.h)