Поделиться через


Метод IHomeGroup::ShowSharingWizard (shobjidl_core.h)

Отображает мастер, который позволяет пользователю создать домашнюю группу, а затем получает параметры общего доступа, выбранные пользователем в мастере.

Синтаксис

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

Параметры

[in] owner

Тип: HWND

Дескриптор окна владельца мастера, используемого для уведомлений. Это значение может иметь значение NULL.

[out] sharingchoices

Тип: HOMEGROUPSHARINGCHOICES*

Указатель на значение, которое при успешном возвращении этого метода получает одно или несколько из следующих значений, указывающих библиотеки и устройства, выбранные мастером для совместного использования с домашней группой.

HGSC_NONE (0x00000000)

0x00000000. Ни один из параметров домашней группы не выбран

HGSC_MUSICLIBRARY (0x00000001)

0x00000001. Библиотека музыки была выбрана для совместного использования с домашней группой.

HGSC_PICTURESLIBRARY (0x00000002)

0x00000002. Выбрана библиотека рисунков для совместного использования с домашней группой.

HGSC_VIDEOSLIBRARY (0x00000004)

0x00000004. Выбрана библиотека видео для совместного использования с домашней группой.

HGSC_DOCUMENTSLIBRARY (0x00000008)

0x00000008. Библиотека документов была выбрана для совместного использования с домашней группой.

HGSC_PRINTERS (0x00000010)

0x00000010. Для общего доступа к домашней группе выбраны установленные принтеры.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения или стандартное значение ошибки в противном случае, включая следующее:

Код возврата Описание
ERROR_CANCELLED
Пользователь отменил работу мастера. Используйте HRESULT_FROM_WIN32 для извлечения этого кода ошибки.
E_UNEXPECTED
Компьютер не присоединен к домашней группе, сеть или домашняя группа не находится в состоянии, позволяющем предоставить общий доступ (например, не подключен к сети или выполняется другая операция общего доступа).
E_NOINTERFACE
Метод был запущен из потока многопоточного объекта (MTA).
E_INVALIDARG
Параметр sharingchoices имеет значение NULL.

Комментарии

Этот метод должен вызываться из потока однопотоковых квартир (STA).

Примеры

В следующем коде показан пример использования 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();
}

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)