DSBROWSEINFOA 结构 (dsclient.h)

DSBROWSEINFO 结构与 DsBrowseForContainer 函数一起使用,以提供和返回有关 Active Directory 容器浏览器对话框的数据。

语法

typedef struct {
  DWORD       cbStruct;
  HWND        hwndOwner;
  LPCSTR      pszCaption;
  LPCSTR      pszTitle;
  LPCWSTR     pszRoot;
  LPWSTR      pszPath;
  ULONG       cchPath;
  DWORD       dwFlags;
  BFFCALLBACK pfnCallback;
  LPARAM      lParam;
  DWORD       dwReturnFormat;
  LPCWSTR     pUserName;
  LPCWSTR     pPassword;
  LPWSTR      pszObjectClass;
  ULONG       cchObjectClass;
} DSBROWSEINFOA, *PDSBROWSEINFOA;

成员

cbStruct

包含 DSBROWSEINFO 结构的大小(以字节为单位)。 DsBrowseForContainer 函数使用此函数进行版本控制。

hwndOwner

用作容器浏览器对话框父级的窗口的句柄。

pszCaption

指向包含对话框描述文字的以 null 结尾的字符串的指针。 如果此成员为 NULL,则使用默认描述文字。

pszTitle

指向以 null 结尾的字符串的指针,该字符串包含要显示在树控件上方的对话框中的其他文本。 如果此成员为 NULL,则不显示其他文本。

pszRoot

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含放置在对话框根目录下的容器的 ADsPath。 用户无法使用对话框导航到此级别以上。

pszPath

指向以 null 结尾的 Unicode 字符串的指针,该字符串接收对话框中所选容器的 ADsPath。 即使 cchPath 不够大,无法保存整个路径,此字符串也始终以 null 结尾。 如果 dwFlags 包含 DSBI_EXPANDONOPEN 标志,则此成员包含最初应在对话框中选择的容器的 ADsPath。

cchPath

包含 pszPath 缓冲区的大小(以 WCHAR 字符为单位)。

dwFlags

包含一组定义对话框行为的标志。 这可以是零,也可以是以下一个或多个值的组合。

DSBI_NOBUTTONS (1 (0x1) )

+对话框中不显示 和 - 按钮。

DSBI_NOLINES (2 (0x2) )

不显示用于连接对话框中对象的行。

DSBI_NOLINESATROOT (4 (0x4) )

根对象上方的线条和按钮不会显示。

DSBI_CHECKBOXES (256 (0x100) )

使检查框放置在树中的每个项旁边。 用户可以使用鼠标选中并清除此检查框。 由于无法设置或获取项的检查状态,因此当前使用量有限。

DSBI_NOROOT (65536 (0x10000) )

pszRoot 指定的根对象不显示,根的直接子对象显示在树的根位置。 如果 pszRootNULL 或此成员包含 DSBI_ENTIREDIRECTORY,则此标志不起作用。

DSBI_INCLUDEHIDDEN (131072 (0x20000) )

在对话框中包括隐藏的对象。

DSBI_EXPANDONOPEN (262144 (0x40000) )

当对话框打开时, pszPath 中指定的容器将可见并处于选中状态。

DSBI_ENTIREDIRECTORY (589824 (0x90000) )

包括 pszRoot 中指定的服务器或用户登录域(默认情况下)的所有受信任域。

DSBI_RETURN_FORMAT (1048576 (0x100000) )

指示 dwReturnFormat 成员有效。 如果未设置此标志,则路径格式默认为 X.500。

DSBI_HASCREDENTIALS (2097152 (0x200000) )

pUserNamepPassword 用于访问凭据。 否则,如果此成员不包含 DSBI_SIMPLEAUTHENTICATE,则对话将使用调用线程的安全上下文。

DSBI_IGNORETREATASLEAF (4194304 (0x400000) )

确定对象是否显示在对话框中时, 将忽略 treatAsLeaf 显示说明符。

DSBI_SIMPLEAUTHENTICATE (8388608 (0x800000) )

指示调用 ADsOpenObject 时不需要安全身份验证。

DSBI_RETURNOBJECTCLASS (16777216 (0x1000000) )

指示 pszObjectClasscchObjectClass 有效且应填充。

DSBI_DONTSIGNSEAL (33554432 (0x2000000) )

指示在与目录服务通信时不会使用签名和密封。

pfnCallback

指向从容器浏览器对话框接收通知的应用程序定义的 BFFCallBack 回调函数的指针。 如果未使用此成员,请将此成员设置为 NULL

lParam

包含在对 pfnCallback 的所有调用中作为 lpData 参数传递的应用程序定义的 32 位值。 如果 pfnCallbackNULL,则忽略此成员。

dwReturnFormat

包含 ADS_FORMAT_ENUM 值之一,该值指定 pszPath 中返回的 ADSI 路径将接受的格式。

pUserName

指向 Unicode 字符串的指针,该字符串包含用于凭据的用户名。 如果 dwFlags 未设置 DSBI_HASCREDENTIALS 标志,则忽略此成员。 如果此成员为 NULL,则使用当前登录的用户名。

pPassword

指向 Unicode 字符串的指针,该字符串包含用于凭据的密码。 如果 dwFlags 未设置 DSBI_HASCREDENTIALS 标志,则忽略此成员。 如果此成员为 NULL,则使用当前登录用户的密码。

pszObjectClass

指向接收所选的类字符串的 Unicode 字符串缓冲区的指针。 如果 dwFlags 未设置 DSBI_RETURNOBJECTCLASS 标志,则忽略此成员。

cchObjectClass

包含 pszObjectClass 缓冲区的大小(以 WCHAR 字符为单位)。

备注

注意

dsclient.h 标头将 DSBROWSEINFO 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
标头 dsclient.h

请参阅

ADS_FORMAT_ENUM

ADsOpenObject

BFFCallBack

DsBrowseForContainer