1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __dsquery_h
7#define __dsquery_h
8
9DEFINE_GUID(CLSID_DsQuery,0x8a23e65e,0x31c2,0x11d0,0x89,0x1c,0x0,0xa0,0x24,0xab,0x2d,0xbb);
10DEFINE_GUID(CLSID_DsFindObjects,0x83ee3fe1,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
11DEFINE_GUID(CLSID_DsFindPeople,0x83ee3fe2,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
12DEFINE_GUID(CLSID_DsFindPrinter,0xb577f070,0x7ee2,0x11d0,0x91,0x3f,0x0,0xaa,0x0,0xc1,0x6e,0x65);
13DEFINE_GUID(CLSID_DsFindComputer,0x16006700,0x87ad,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
14DEFINE_GUID(CLSID_DsFindVolume,0xc1b3cbf1,0x886a,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
15DEFINE_GUID(CLSID_DsFindContainer,0xc1b3cbf2,0x886a,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
16DEFINE_GUID(CLSID_DsFindAdvanced,0x83ee3fe3,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
17DEFINE_GUID(CLSID_DsFindDomainController,0x538c7b7e,0xd25e,0x11d0,0x97,0x42,0x0,0xa0,0xc9,0x6,0xaf,0x45);
18DEFINE_GUID(CLSID_DsFindFrsMembers,0x94ce4b18,0xb3d3,0x11d1,0xb9,0xb4,0x0,0xc0,0x4f,0xd8,0xd5,0xb0);
19
20#ifndef GUID_DEFS_ONLY
21#define DSQPF_NOSAVE 0x00000001
22#define DSQPF_SAVELOCATION 0x00000002
23#define DSQPF_SHOWHIDDENOBJECTS 0x00000004
24#define DSQPF_ENABLEADMINFEATURES 0x00000008
25#define DSQPF_ENABLEADVANCEDFEATURES 0x00000010
26#define DSQPF_HASCREDENTIALS 0x00000020
27#define DSQPF_NOCHOOSECOLUMNS 0x00000040
28
29typedef struct {
30  DWORD cbStruct;
31  DWORD dwFlags;
32  LPWSTR pDefaultScope;
33  LPWSTR pDefaultSaveLocation;
34  LPWSTR pUserName;
35  LPWSTR pPassword;
36  LPWSTR pServer;
37} DSQUERYINITPARAMS,*LPDSQUERYINITPARAMS;
38
39#define CFSTR_DSQUERYPARAMS TEXT("DsQueryParameters")
40
41#define DSCOLUMNPROP_ADSPATH ((LONG)(-1))
42#define DSCOLUMNPROP_OBJECTCLASS ((LONG)(-2))
43
44typedef struct {
45  DWORD dwFlags;
46  INT fmt;
47  INT cx;
48  INT idsName;
49  LONG offsetProperty;
50  DWORD dwReserved;
51} DSCOLUMN,*LPDSCOLUMN;
52
53typedef struct {
54  DWORD cbStruct;
55  DWORD dwFlags;
56  HINSTANCE hInstance;
57  LONG offsetQuery;
58  LONG iColumns;
59  DWORD dwReserved;
60  DSCOLUMN aColumns[1];
61} DSQUERYPARAMS,*LPDSQUERYPARAMS;
62
63#define CFSTR_DSQUERYSCOPE TEXT("DsQueryScope")
64
65typedef struct {
66  DWORD cbStruct;
67  LONG cClasses;
68  DWORD offsetClass[1];
69} DSQUERYCLASSLIST,*LPDSQUERYCLASSLIST;
70
71#define DSQPM_GETCLASSLIST (CQPM_HANDLERSPECIFIC+0)
72#define DSQPM_HELPTOPICS (CQPM_HANDLERSPECIFIC+1)
73#endif
74
75#endif
76