/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef __dsquery_h
#define __dsquery_h
DEFINE_GUID(CLSID_DsQuery,0x8a23e65e,0x31c2,0x11d0,0x89,0x1c,0x0,0xa0,0x24,0xab,0x2d,0xbb);
DEFINE_GUID(CLSID_DsFindObjects,0x83ee3fe1,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
DEFINE_GUID(CLSID_DsFindPeople,0x83ee3fe2,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
DEFINE_GUID(CLSID_DsFindPrinter,0xb577f070,0x7ee2,0x11d0,0x91,0x3f,0x0,0xaa,0x0,0xc1,0x6e,0x65);
DEFINE_GUID(CLSID_DsFindComputer,0x16006700,0x87ad,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
DEFINE_GUID(CLSID_DsFindVolume,0xc1b3cbf1,0x886a,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
DEFINE_GUID(CLSID_DsFindContainer,0xc1b3cbf2,0x886a,0x11d0,0x91,0x40,0x0,0xaa,0x0,0xc1,0x6e,0x65);
DEFINE_GUID(CLSID_DsFindAdvanced,0x83ee3fe3,0x57d9,0x11d0,0xb9,0x32,0x0,0xa0,0x24,0xab,0x2d,0xbb);
DEFINE_GUID(CLSID_DsFindDomainController,0x538c7b7e,0xd25e,0x11d0,0x97,0x42,0x0,0xa0,0xc9,0x6,0xaf,0x45);
DEFINE_GUID(CLSID_DsFindFrsMembers,0x94ce4b18,0xb3d3,0x11d1,0xb9,0xb4,0x0,0xc0,0x4f,0xd8,0xd5,0xb0);
#ifndef GUID_DEFS_ONLY
#define DSQPF_NOSAVE 0x00000001
#define DSQPF_SAVELOCATION 0x00000002
#define DSQPF_SHOWHIDDENOBJECTS 0x00000004
#define DSQPF_ENABLEADMINFEATURES 0x00000008
#define DSQPF_ENABLEADVANCEDFEATURES 0x00000010
#define DSQPF_HASCREDENTIALS 0x00000020
#define DSQPF_NOCHOOSECOLUMNS 0x00000040
typedef struct {
DWORD cbStruct;
DWORD dwFlags;
LPWSTR pDefaultScope;
LPWSTR pDefaultSaveLocation;
LPWSTR pUserName;
LPWSTR pPassword;
LPWSTR pServer;
} DSQUERYINITPARAMS,*LPDSQUERYINITPARAMS;
#define CFSTR_DSQUERYPARAMS TEXT("DsQueryParameters")
#define DSCOLUMNPROP_ADSPATH ((LONG)(-1))
#define DSCOLUMNPROP_OBJECTCLASS ((LONG)(-2))
typedef struct {
DWORD dwFlags;
INT fmt;
INT cx;
INT idsName;
LONG offsetProperty;
DWORD dwReserved;
} DSCOLUMN,*LPDSCOLUMN;
typedef struct {
DWORD cbStruct;
DWORD dwFlags;
HINSTANCE hInstance;
LONG offsetQuery;
LONG iColumns;
DWORD dwReserved;
DSCOLUMN aColumns[1];
} DSQUERYPARAMS,*LPDSQUERYPARAMS;
#define CFSTR_DSQUERYSCOPE TEXT("DsQueryScope")
typedef struct {
DWORD cbStruct;
LONG cClasses;
DWORD offsetClass[1];
} DSQUERYCLASSLIST,*LPDSQUERYCLASSLIST;
#define DSQPM_GETCLASSLIST (CQPM_HANDLERSPECIFIC+0)
#define DSQPM_HELPTOPICS (CQPM_HANDLERSPECIFIC+1)
#endif
#endif