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 
9 DEFINE_GUID(CLSID_DsQuery,0x8a23e65e,0x31c2,0x11d0,0x89,0x1c,0x0,0xa0,0x24,0xab,0x2d,0xbb);
10 DEFINE_GUID(CLSID_DsFindObjects,0x83ee3fe1,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
11 DEFINE_GUID(CLSID_DsFindPeople,0x83ee3fe2,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
12 DEFINE_GUID(CLSID_DsFindPrinter,0xb577f070,0x7ee2,0x11d0,0x91,0x3f,0x0,0xaa,0x0,0xc1,0x6e,0x65);
13 DEFINE_GUID(CLSID_DsFindComputer,0x16006700,0x87ad,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
14 DEFINE_GUID(CLSID_DsFindVolume,0xc1b3cbf1,0x886a,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
15 DEFINE_GUID(CLSID_DsFindContainer,0xc1b3cbf2,0x886a,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
16 DEFINE_GUID(CLSID_DsFindAdvanced,0x83ee3fe3,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
17 DEFINE_GUID(CLSID_DsFindDomainController,0x538c7b7e,0xd25e,0x11d0,0x97,0x42,0x0,0xa0,0xc9,0x6,0xaf,0x45);
18 DEFINE_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 
29 typedef 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 
44 typedef struct {
45   DWORD dwFlags;
46   INT fmt;
47   INT cx;
48   INT idsName;
49   LONG offsetProperty;
50   DWORD dwReserved;
51 } DSCOLUMN,*LPDSCOLUMN;
52 
53 typedef 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 
65 typedef 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