Метод 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 в случае успешного выполнения или стандартное значение ошибки в противном случае, включая следующее:
Код возврата | Описание |
---|---|
|
Пользователь отменил работу мастера. Используйте HRESULT_FROM_WIN32 для извлечения этого кода ошибки. |
|
Компьютер не присоединен к домашней группе, сеть или домашняя группа не находится в состоянии, позволяющем предоставить общий доступ (например, не подключен к сети или выполняется другая операция общего доступа). |
|
Метод был запущен из потока многопоточного объекта (MTA). |
|
Параметр 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) |