DSQuery.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:5k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef __dsquery_h
  2. #define __dsquery_h
  3. //
  4. // query handler ID for dsquery.
  5. //
  6. DEFINE_GUID(CLSID_DsQuery, 0x8a23e65e, 0x31c2, 0x11d0, 0x89, 0x1c, 0x0, 0xa0, 0x24, 0xab, 0x2d, 0xbb);
  7. //
  8. // standard forms shipped in dsquery.dll
  9. //
  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. //
  18. // admin forms
  19. //
  20. DEFINE_GUID(CLSID_DsFindDomainController, 0x538c7b7e, 0xd25e, 0x11d0, 0x97, 0x42, 0x0, 0xa0, 0xc9, 0x6, 0xaf, 0x45);
  21. DEFINE_GUID(CLSID_DsFindFrsMembers, 0x94ce4b18, 0xb3d3, 0x11d1, 0xb9, 0xb4, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0);
  22. #ifndef GUID_DEFS_ONLY
  23. //
  24. // DSQUERYINITPARAMS
  25. // -----------------
  26. //  This structured is used when creating a new query view.
  27. //
  28. #define DSQPF_NOSAVE                 0x00000001 // = 1 => remove save verb
  29. #define DSQPF_SAVELOCATION           0x00000002 // = 1 => pSaveLocation contains directory to save queries into
  30. #define DSQPF_SHOWHIDDENOBJECTS      0x00000004 // = 1 => show objects marked as "hidden" in results
  31. #define DSQPF_ENABLEADMINFEATURES    0x00000008 // = 1 => show admin verbs, property pages etc
  32. #define DSQPF_ENABLEADVANCEDFEATURES 0x00000010 // = 1 => set the advanced flag for the property pages
  33. #define DSQPF_HASCREDENTIALS         0x00000020 // = 1 => pServer, pUserName & pPassword are valid
  34. #define DSQPF_NOCHOOSECOLUMNS        0x00000040 // = 1 => remove choose columns from view
  35. typedef struct
  36. {
  37.     DWORD  cbStruct;
  38.     DWORD  dwFlags;
  39.     LPWSTR pDefaultScope;           // -> Active Directory path to use as scope / == NULL for none
  40.     LPWSTR pDefaultSaveLocation;    // -> Directory to save queries into / == NULL default location
  41.     LPWSTR pUserName;               // -> user name to authenticate with
  42.     LPWSTR pPassword;               // -> password for authentication
  43.     LPWSTR pServer;                 // -> server to use for obtaining trusts etc
  44. } DSQUERYINITPARAMS, * LPDSQUERYINITPARAMS;
  45. //
  46. // DSQUERYPARAMS
  47. // -------------
  48. //  The DS query handle takes a packed structure which contains the
  49. //  columns and query to be issued.
  50. //
  51. #define CFSTR_DSQUERYPARAMS         TEXT("DsQueryParameters")
  52. #define DSCOLUMNPROP_ADSPATH        ((LONG)(-1))
  53. #define DSCOLUMNPROP_OBJECTCLASS    ((LONG)(-2))
  54. typedef struct
  55. {
  56.     DWORD dwFlags;                  // flags for this column
  57.     INT   fmt;                      // list view form information
  58.     INT   cx;                       // default column width
  59.     INT   idsName;                  // resource ID for the column dispaly name
  60.     LONG  offsetProperty;           // offset to BSTR defining column ADs property name
  61.     DWORD dwReserved;               // reserved field
  62. } DSCOLUMN, * LPDSCOLUMN;
  63. typedef struct
  64. {
  65.     DWORD     cbStruct;
  66.     DWORD     dwFlags;
  67.     HINSTANCE hInstance;            // instance handle used for string extraction
  68.     LONG      offsetQuery;          // offset to LDAP filter string
  69.     LONG      iColumns;             // column count
  70.     DWORD     dwReserved;           // reserved field for this query
  71.     DSCOLUMN  aColumns[1];          // array of column descriptions
  72. } DSQUERYPARAMS, * LPDSQUERYPARAMS;
  73. //
  74. // CF_DSQUERYSCOPE
  75. // ---------------
  76. //  A clipboard format the puts a string version of the scope into a
  77. //  storage medium via GlobalAlloc.
  78. //
  79. #define CFSTR_DSQUERYSCOPE         TEXT("DsQueryScope")
  80. //
  81. // DSQPM_GETCLASSLIST
  82. // ------------------
  83. //  This page message is sent to the form pages to retrieve the list of classes
  84. //  that the pages are going to query from.  This is used by the feild selector
  85. //  and the property well to build its list of display classes.
  86. //
  87. typedef struct
  88. {
  89.     DWORD   cbStruct;
  90.     LONG    cClasses;               // number of classes in array
  91.     DWORD   offsetClass[1];         // offset to the class names (UNICODE)
  92. } DSQUERYCLASSLIST, * LPDSQUERYCLASSLIST;
  93. #define DSQPM_GETCLASSLIST          (CQPM_HANDLERSPECIFIC+0) // wParam == flags, lParam = LPLPDSQUERYCLASSLIST
  94. //
  95. // DSQPM_HELPTOPICS
  96. // ----------------
  97. //  This page message is sent to the form pages to allow them to handle the
  98. //  "Help Topics" verb.
  99. //
  100. #define DSQPM_HELPTOPICS            (CQPM_HANDLERSPECIFIC+1) // wParam = 0, lParam = hWnd parent
  101. #endif  // GUID_DEFS_ONLY
  102. #endif