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.

181 lines
3.3 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1996 - 1998
  3. All rights reserved.
  4. Module Name:
  5. dsinterf.hxx
  6. Abstract:
  7. Directory service interface header.
  8. Author:
  9. Steve Kiraly (SteveKi) 09-Sept-1996
  10. Revision History:
  11. --*/
  12. #ifndef _DSINTERF_HXX
  13. #define _DSINTERF_HXX
  14. /********************************************************************
  15. Directory Service class
  16. ********************************************************************/
  17. class TDirectoryService {
  18. SIGNATURE( 'dirs' )
  19. public:
  20. enum EStatus
  21. {
  22. kUninitialized,
  23. kAvailable,
  24. kNotAvailable,
  25. };
  26. TDirectoryService::
  27. TDirectoryService(
  28. VOID
  29. );
  30. TDirectoryService::
  31. ~TDirectoryService(
  32. VOID
  33. );
  34. BOOL
  35. TDirectoryService::
  36. bValid(
  37. VOID
  38. );
  39. BOOL
  40. TDirectoryService::
  41. bGetDirectoryName(
  42. IN TString &strName
  43. );
  44. BOOL
  45. TDirectoryService::
  46. bIsDsAvailable(
  47. IN LPCTSTR pName,
  48. IN BOOL bForUser = FALSE
  49. );
  50. static
  51. BOOL
  52. TDirectoryService::
  53. bIsDsAvailable(
  54. VOID
  55. );
  56. HRESULT
  57. TDirectoryService::
  58. ADsGetObject(
  59. IN LPWSTR lpszPathName,
  60. IN REFIID riid,
  61. IN OUT VOID **ppObject
  62. );
  63. HRESULT
  64. TDirectoryService::
  65. ADsBuildEnumerator(
  66. IN IADsContainer *pADsContainer,
  67. IN IEnumVARIANT **ppEnumVariant
  68. );
  69. HRESULT
  70. TDirectoryService::
  71. ADsFreeEnumerator(
  72. IN IEnumVARIANT *pEnumVariant
  73. );
  74. HRESULT
  75. TDirectoryService::
  76. ADsEnumerateNext(
  77. IN IEnumVARIANT *pEnumVariant,
  78. IN ULONG cElements,
  79. IN VARIANT *pvar,
  80. IN ULONG *pcElementsFetched
  81. );
  82. BOOL
  83. TDirectoryService::
  84. Get(
  85. IN IADs *pDsObject,
  86. IN LPCTSTR pszPropertyName,
  87. IN TString &strString
  88. );
  89. BOOL
  90. TDirectoryService::
  91. Put(
  92. IN IADs *pDsObject,
  93. IN LPCTSTR pszPropertyName,
  94. IN LPCTSTR pszString
  95. );
  96. BOOL
  97. TDirectoryService::
  98. ReadStringProperty(
  99. IN LPCTSTR pszPath,
  100. IN LPCTSTR pszProperty,
  101. IN OUT TString &strString
  102. );
  103. BOOL
  104. TDirectoryService::
  105. GetConfigurationContainer(
  106. IN OUT TString &strConfig
  107. );
  108. BOOL
  109. TDirectoryService::
  110. GetDsName(
  111. IN TString &strDsName
  112. );
  113. BOOL
  114. TDirectoryService::
  115. GetLDAPPrefix(
  116. OUT TString &strLDAPPrefix
  117. );
  118. BOOL
  119. TDirectoryService::
  120. GetLDAPPrefixPerUser(
  121. OUT TString &strLDAPPrefix
  122. );
  123. private:
  124. //
  125. // Copying and assignment are not defined.
  126. //
  127. TDirectoryService::
  128. TDirectoryService(
  129. const TDirectoryService &
  130. );
  131. TDirectoryService &
  132. TDirectoryService::
  133. operator =(
  134. const TDirectoryService &
  135. );
  136. BOOL _bValid;
  137. TString _strDirectoryName;
  138. TString _strConfigurationContainer;
  139. TString _strLDAPPrefix;
  140. TString _strLDAPPrefixPerUser;
  141. };
  142. #endif