Share via


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

Exibe um assistente que permite que um usuário crie um Grupo Inicial e, em seguida, recupera as opções de compartilhamento selecionadas pelo usuário por meio do assistente.

Sintaxe

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

Parâmetros

[in] owner

Digite: HWND

Identificador da janela de proprietário do assistente, usado para notificações. Esse valor pode ser NULL.

[out] sharingchoices

Tipo: HOMEGROUPSHARINGCHOICES*

Ponteiro para um valor que, quando esse método retorna com êxito, recebe um ou mais dos valores a seguir que indicam as bibliotecas e os dispositivos escolhidos por meio do assistente a serem compartilhados com o Grupo Inicial.

HGSC_NONE (0x00000000)

0x00000000. Nenhuma das opções do Grupo Inicial foi selecionada

HGSC_MUSICLIBRARY (0x00000001)

0x00000001. A biblioteca música foi selecionada para ser compartilhada com o Grupo Base.

HGSC_PICTURESLIBRARY (0x00000002)

0x00000002. A biblioteca Imagens foi selecionada para ser compartilhada com o Grupo Inicial.

HGSC_VIDEOSLIBRARY (0x00000004)

0x00000004. A biblioteca Vídeos foi selecionada para ser compartilhada com o Grupo Base.

HGSC_DOCUMENTSLIBRARY (0x00000008)

0x00000008. A biblioteca Documentos foi selecionada para ser compartilhada com o Grupo Base.

HGSC_PRINTERS (0x00000010)

0x00000010. Dispositivos de impressora instalados foram selecionados para serem compartilhados com o Grupo Inicial.

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito ou um valor de erro padrão, caso contrário, incluindo o seguinte:

Código de retorno Descrição
ERROR_CANCELLED
O usuário cancelou o assistente. Use HRESULT_FROM_WIN32 para extrair esse código de erro.
E_UNEXPECTED
O computador não está ingressado em um Grupo Doméstico ou a rede ou Grupo Inicial não está em um estado que permita o compartilhamento (como não estar conectado à rede ou ter outra operação de compartilhamento em andamento).
E_NOINTERFACE
O método foi iniciado de um thread MTA (multithreaded apartment).
E_INVALIDARG
O parâmetro sharingchoices é NULL.

Comentários

Esse método deve ser chamado de um thread STA (single-threaded apartment).

Exemplos

O código a seguir mostra um exemplo de uso 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();
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)