Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
4.9 KiB

  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