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 |
标头 | shobjidl_core.h (包括 Shobjidl.h) |