OPENQUERYWINDOW 结构 (cmnquery.h)

OPENQUERYWINDOW 结构与 ICommonQuery::OpenQueryWindow 方法一起使用,以初始化目录服务查询对话框。

语法

typedef struct {
  DWORD         cbStruct;
  DWORD         dwFlags;
  CLSID         clsidHandler;
  LPVOID        pHandlerParameters;
  CLSID         clsidDefaultForm;
  IPersistQuery *pPersistQuery;
  union {
    void         *pFormParameters;
    IPropertyBag *ppbFormParameters;
  };
} OPENQUERYWINDOW, *LPOPENQUERYWINDOW;

成员

cbStruct

包含 结构的大小(以字节为单位)。 此成员用于版本和参数验证,必须在调用 ICommonQuery::OpenQueryWindow 之前填写。

dwFlags

包含一组标志,这些标志定义目录服务查询对话框的行为。 这可以是零,也可以是以下列表中所列的一个或多个值的组合。

OQWF_DEFAULTFORM

使查询对话框在初始化时选择 clsidDefaultForm 成员指定的窗体。

OQWF_HIDEMENUS

使对话框隐藏菜单栏。

OQWF_HIDESEARCHUI

导致在没有标准搜索用户界面的情况下创建查询对话框。 这包括“ 立即查找”、“ 停止”“清除所有 ”按钮。

OQWF_ISSUEONOPEN

导致在首次显示查询对话框时执行查询。

OQWF_LOADQUERY

使查询对话框从 pPersistQuery 成员中的 IPersistQuery 接口检索 查询

OQWF_OKCANCEL

使查询对话框显示 “确定” 和“ 取消 ”按钮(如果适用)。 对话框中实际显示的按钮将取决于所使用的窗体和其他指定的标志。

OQWF_PARAMISPROPERTYBAG

指示 ppbFormParameters 成员包含 IPropertyBag 接口。

OQWF_REMOVEFORMS

导致创建查询对话框时不使用“ 查找: ”标签表示的窗体选择器标签和下拉列表。

OQWF_REMOVESCOPES

导致创建查询对话框时不使用由 In: 标签表示的范围标签和下拉列表。

OQWF_SAVEQUERYONOK

使查询对话框在关闭时将查询保存到 pPersistQuery 成员中的 IPersistQuery 接口。

OQWF_SHOWOPTIONAL

使查询对话框在窗体下拉列表中显示可选窗体。 可选窗体是在 CQFORM 结构的 dwFlags 成员中指定CQFF_ISOPTIONAL标志的表单。

OQWF_SINGLESELECT

使查询对话框成为单选查询结果列表。

clsidHandler

包含一个 CLSID 值,该值指定要由查询对话框使用的查询处理程序。 此成员的值还确定 pHandlerParameters 成员指向的结构类型。

CLSID_DsQuery

这是标准目录服务查询,也是当前唯一支持的查询。

pHandlerParameters

指向结构的指针,该结构包含查询处理程序的数据。 此成员指向的结构类型由 clsidHandler 成员定义。 以下列表根据 clsidHandler 成员的值列出了可能的结构类型。

CLSID_DsQuery

包含指向 DSQUERYINITPARAMS 结构的指针。

clsidDefaultForm

指定要在查询对话框中显示的默认窗体。 如果 dwFlags 不包含OQWF_DEFAULTFORM,则忽略 成员。 此成员可以包含自定义查询窗体或系统提供的窗体之一的 CLSID

CLSID_DsFindAdvanced

标识 自定义搜索 查询窗体。

CLSID_DsFindComputer

标识 计算机 查询窗体。

CLSID_DsFindContainer

标识 “组织单位” 查询窗体。

CLSID_DsFindDomainController

标识 域控制器 查询窗体。

CLSID_DsFindFrsMembers

标识 FRS 成员 查询窗体。

CLSID_DsFindObjects

保留。

CLSID_DsFindPeople

标识 “用户”、“联系人”和“组” 查询窗体。

CLSID_DsFindPrinter

标识 打印机 查询窗体。

CLSID_DsFindVolume

标识 共享文件夹 查询窗体。

CLSID_DsFindWriteableDomainController

标识 域控制器 查询窗体并显示可写域控制器。

pPersistQuery

指向用于存储和检索查询数据的 IPersistQuery 接口的指针。 此数据与查询本身有关,与查询结果无关。 如果 dwFlags 包含 OQWF_LOADQUERY,则从此接口获取查询数据。 如果 dwFlags 包含 OQWF_SAVEQUERY,则查询数据将保存到此接口。

pFormParameters

保留。 指向结构或接口的指针,该结构或接口为窗体提供参数初始化数据。 此指针的内容由 clsidDefaultForm 成员指定的表单类定义。

ppbFormParameters

指向 IPropertyBag 接口的指针,该接口为表单提供参数初始化数据。 此属性包的内容由 clsidDefaultForm 成员指定的表单类定义。 以下系统提供的表单支持此成员。

CLSID_DsFindPrinter

此窗体从属性包中获取以下属性。

属性名称 说明
printName 包含初始打印机名称。
printLocation 包含初始打印机位置。
printModel 包含打印机的初始型号名称和/或编号。
 

CLSID_DsFindComputer

使用此窗体指定计算机角色。 属性包必须包含 computerRole。 使用以下值的组合来限制包含的角色:

角色
0x0000 所有角色
0x0001 工作站或服务器
0x0002 所有域控制器
0x0004 可写域控制器
0x0008 只读域控制器

要求

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

另请参阅

CQFORM

DSQUERYINITPARAMS

在 Active Directory 域服务 中显示结构

ICommonQuery::OpenQueryWindow

IPersistQuery