Compartir a través de


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

Muestra un asistente que permite a un usuario crear un grupo principal y, a continuación, recuperar las opciones de uso compartido que el usuario seleccionó a través del asistente.

Sintaxis

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

Parámetros

[in] owner

Tipo: HWND

Identificador de la ventana de propietario del asistente, que se usa para las notificaciones. Este valor puede ser NULL.

[out] sharingchoices

Tipo: HOMEGROUPSHARINGCHOICES*

Puntero a un valor que, cuando este método devuelve correctamente, recibe uno o varios de los siguientes valores que indican las bibliotecas y los dispositivos elegidos a través del asistente para compartirse con el grupo principal.

HGSC_NONE (0x00000000)

0x00000000. No se seleccionó ninguna de las opciones del grupo principal

HGSC_MUSICLIBRARY (0x00000001)

0x00000001. La biblioteca de música se seleccionó para compartirse con el grupo principal.

HGSC_PICTURESLIBRARY (0x00000002)

0x00000002. La biblioteca imágenes se seleccionó para compartirla con el grupo principal.

HGSC_VIDEOSLIBRARY (0x00000004)

0x00000004. La biblioteca videos se seleccionó para compartirse con el grupo principal.

HGSC_DOCUMENTSLIBRARY (0x00000008)

0x00000008. La biblioteca Documentos se seleccionó para compartirse con el grupo principal.

HGSC_PRINTERS (0x00000010)

0x00000010. Los dispositivos de impresora instalados se seleccionaron para compartirse con el grupo principal.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se ejecuta correctamente o un valor de error estándar de lo contrario, incluido lo siguiente:

Código devuelto Descripción
ERROR_CANCELLED
El usuario canceló el asistente. Use HRESULT_FROM_WIN32 para extraer este código de error.
E_UNEXPECTED
El equipo no está unido a un grupo principal o a la red o al grupo principal no está en un estado que permita compartir (por ejemplo, no estar conectado a la red o tener otra operación de uso compartido en curso).
E_NOINTERFACE
El método se inició desde un subproceso de apartamento multiproceso (MTA).
E_INVALIDARG
El parámetro sharingchoices es NULL.

Comentarios

Se debe llamar a este método desde un subproceso de apartamento de un solo subproceso (STA).

Ejemplos

En el código siguiente se muestra un ejemplo 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 Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (incluya Shobjidl.h)