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 |
---|---|
|
O usuário cancelou o assistente. Use HRESULT_FROM_WIN32 para extrair esse código de erro. |
|
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). |
|
O método foi iniciado de um thread MTA (multithreaded apartment). |
|
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) |