Condividi tramite


Metodo IHomeGroup::ShowSharingWizard (shobjidl_core.h)

Visualizza una procedura guidata che consente a un utente di creare un gruppo home e quindi recupera le opzioni di condivisione selezionate dall'utente tramite la procedura guidata.

Sintassi

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

Parametri

[in] owner

Tipo: HWND

Handle della finestra proprietario della procedura guidata, utilizzata per le notifiche. Questo valore può essere NULL.

[out] sharingchoices

Tipo: HOMEGROUPSHARINGCHOICES*

Puntatore a un valore che, quando il metodo viene restituito correttamente, riceve uno o più dei valori seguenti che indicano le librerie e i dispositivi scelti tramite la procedura guidata da condividere con il gruppo Home.

HGSC_NONE (0x00000000)

0x00000000. Nessuna delle opzioni Gruppo home è stata selezionata

HGSC_MUSICLIBRARY (0x00000001)

0x00000001. La libreria Music è stata selezionata per essere condivisa con il gruppo Home.

HGSC_PICTURESLIBRARY (0x00000002)

0x00000002. La raccolta immagini è stata selezionata per essere condivisa con il gruppo Home.

HGSC_VIDEOSLIBRARY (0x00000004)

0x00000004. La raccolta video è stata selezionata per essere condivisa con il gruppo Home.

HGSC_DOCUMENTSLIBRARY (0x00000008)

0x00000008. La raccolta Documenti è stata selezionata per essere condivisa con il gruppo Home.

HGSC_PRINTERS (0x00000010)

0x00000010. I dispositivi stampanti installati sono stati selezionati per essere condivisi con il gruppo Home.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo o un valore di errore standard, incluso quanto segue:

Codice restituito Descrizione
ERROR_CANCELLED
L'utente ha annullato la procedura guidata. Usare HRESULT_FROM_WIN32 per estrarre questo codice di errore.
E_UNEXPECTED
Il computer non è stato aggiunto a un gruppo home o alla rete o al gruppo home non è in uno stato che consente la condivisione ( ad esempio non è connesso alla rete o ha un'altra operazione di condivisione in corso).
E_NOINTERFACE
Il metodo è stato avviato da un thread MTA (Multithreaded Apartment).
E_INVALIDARG
Il parametro sharingchoices è NULL.

Commenti

Questo metodo deve essere chiamato da un thread apartment a thread singolo (STA).

Esempio

Il codice seguente illustra un esempio di utilizzo di 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();
}

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h (include Shobjidl.h)