text: /**
   * 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
  