DSOP_SCOPE_INIT_INFO 结构 (objsel.h)
DSOP_SCOPE_INIT_INFO结构描述具有相同属性的一个或多个范围类型。 范围类型是一种位置类型,例如域、计算机或全局目录,用户可以从中选择对象。 调用 IDsObjectPicker::Initialize 时,此结构与 DSOP_INIT_INFO 一起使用。
语法
typedef struct _DSOP_SCOPE_INIT_INFO {
ULONG cbSize;
ULONG flType;
ULONG flScope;
DSOP_FILTER_FLAGS FilterFlags;
PCWSTR pwzDcName;
PCWSTR pwzADsPath;
HRESULT hr;
} DSOP_SCOPE_INIT_INFO, *PDSOP_SCOPE_INIT_INFO;
成员
cbSize
包含 结构的大小(以字节为单位)。
flType
指示此结构所描述的范围类型的标志。 如果所有指定的范围都使用相同的设置,则可以合并多个范围类型。 此成员可以是以下标志的组合。
DSOP_SCOPE_TYPE_TARGET_COMPUTER (0x00000001)
由 DSOP_INIT_INFO 结构的 pwzTargetComputer 成员指定的计算机。
如果目标计算机是上级或下层域控制器,则忽略此标志,除非 在 DSOP_INIT_INFO 结构的 flOptions 成员中设置了 DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 标志。
DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN (0x00000002)
目标计算机加入到的上级域。 如果设置了此标志,请使用 pwzDcName 成员指定已加入域中域控制器的名称。
DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN (0x00000004)
目标计算机加入到的下层域。
DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN (0x00000008)
目标计算机所属的企业中的所有域。 如果指定 了DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 范围,则 DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 范围表示企业中除加入的域之外的所有域。
DSOP_SCOPE_TYPE_GLOBAL_CATALOG (0x00000010)
包含企业中所有域的对象的范围。 企业只能包含上级域。
DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN (0x00000020)
企业外部但受目标计算机加入的域信任的所有上层域。
DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN (0x00000040)
企业外部但受目标计算机加入的域信任的所有下层域。
DSOP_SCOPE_TYPE_WORKGROUP (0x00000080)
目标计算机加入到的工作组。 仅当目标计算机未加入域时适用。
可从工作组中选择的唯一对象类型是计算机。
DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE (0x00000100)
使用户能够进入上级范围。 如果未指定 DSOP_SCOPE_TYPE_USER_ENTERED_* 类型,则对话框会将用户限制为“ 查找 范围”下拉列表中的范围。
DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE (0x00000200)
使用户能够进入下层范围。
flScope
指示用于返回从此范围中选择的对象的 ADsPath 的格式的标志。 flScope 成员还可以指示“查找范围”下拉列表中显示的初始范围。 此成员可以是以下标志的组合。
LDAP 和全局编录 (GC) 路径可以转换为 WinNT ADsPath 语法。 GC 路径可以转换为 LDAP 格式。 如果指定DSOP_SCOPE_FLAG_WANT_SID_PATH或DSOP_SCOPE_FLAG_WANT_PROVIDER_LDAP标志,则可以将具有 objectSid 属性的 WinNT 对象转换为 LDAP 格式。 没有其他转换是合法的。
DSOP_SCOPE_FLAG_STARTING_SCOPE (0x00000001)
此结构描述的范围最初是在 “查找范围 ”下拉列表中选择的。 只有一个范围可以指定此标志。 如果没有范围指定此标志,则初始作用域是传递给 IDsObjectPicker::Initialize 方法的范围数组中第一个成功创建的范围。
DSOP_SCOPE_FLAG_WANT_PROVIDER_WINNT (0x00000002)
ADsPaths 将转换为使用 WinNT 提供程序。 有关详细信息,请参阅 WinNT ADsPath。
DSOP_SCOPE_FLAG_WANT_PROVIDER_LDAP (0x00000004)
将 ADsPath 转换为使用 LDAP 提供程序。 有关详细信息,请参阅 LDAP ADsPath。
DSOP_SCOPE_FLAG_WANT_PROVIDER_GC (0x00000008)
从此范围中选择的对象的 ADsPaths 将转换为使用 GC 提供程序。
DSOP_SCOPE_FLAG_WANT_SID_PATH (0x00000010)
具有 objectSid 属性的 ADsPath 将转换为 格式 LDAP://< SID=x> ,其中 x 表示 objectSid 属性值的十六进制数字。
DSOP_SCOPE_FLAG_WANT_DOWNLEVEL_BUILTIN_PATH (0x00000020)
下层已知 SID 对象的 ADsPath 是空字符串,除非 (指定此标志。 DSOP_DOWNLEVEL_FILTER_INTERACTIVE) 。 如果指定了此标志,则路径的格式为
WinNT://NT AUTHORITY/Interactive 或 WinNT://Creator 所有者。
DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS (0x00000040)
如果范围筛选器包含用户,请在对话框中选择“用户检查”框。
DSOP_SCOPE_FLAG_DEFAULT_FILTER_GROUPS (0x00000080)
如果范围筛选器包含组,请在对话框中选择“组检查”框。
DSOP_SCOPE_FLAG_DEFAULT_FILTER_COMPUTERS (0x00000100)
如果范围筛选器包含计算机,请在对话框中选择“计算机检查”框。
DSOP_SCOPE_FLAG_DEFAULT_FILTER_CONTACTS (0x00000200)
如果范围筛选器包含联系人,请在对话框中选择“联系人检查”框。
DSOP_SCOPE_FLAG_DEFAULT_FILTER_SERVICE_ACCOUNTS (0x00000400)
如果范围筛选器包含服务帐户,请在对话框中选择“服务帐户”和“组托管服务帐户”检查框。
DSOP_SCOPE_FLAG_DEFAULT_FILTER_PASSWORDSETTINGS_OBJECTS (0x00000800)
如果范围筛选器包含密码设置对象,请在对话框中选择“密码设置对象检查框。
FilterFlags
包含一个 DSOP_FILTER_FLAGS 结构,该结构指示为此范围或作用域向用户呈现的对象类型。
pwzDcName
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含目标计算机加入到的域的域控制器的名称。 仅当 flType 成员包含 DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 标志时,才使用此成员。 如果未设置该标志, pwzDcName 必须为 NULL。
即使指定了DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN标志,此成员也可以为 NULL,在这种情况下,对话框将查找域控制器。 此成员使你能够命名多主机域中的特定域控制器。 例如,管理应用程序可能会在多主机域中的域控制器上进行更改,然后在其他域控制器上复制更改之前打开对象选取器对话框。
pwzADsPath
保留;必须为 NULL。
hr
包含一个 HRESULT 值,该值指示特定作用域的状态。 如果 IDsObjectPicker::Initialize 方法成功创建此结构指定的范围, 则 hr 包含 S_OK。 否则, hr 包含错误代码。
如果 IDsObjectPicker::Initialize 返回S_OK,则所有指定DSOP_SCOPE_INIT_INFO结构的 hr 成员也包含S_OK。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
标头 | objsel.h |