Source code of Windows XP (NT5)
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.

94 lines
1.7 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows NT Security
  4. // Copyright (C) Microsoft Corporation, 1997 - 1998
  5. //
  6. // File: ldapsp.h
  7. //
  8. // Contents: LDAP Scheme Provider definitions
  9. //
  10. // History: 28-Jul-97 kirtd Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #if !defined(__LDAPSP_H__)
  14. #define __LDAPSP_H__
  15. #include <windows.h>
  16. #include <wininet.h>
  17. #include <winldap.h>
  18. #include <dsgetdc.h>
  19. #include <stdlib.h>
  20. #define LDAP_SCHEME_U L"ldap://"
  21. #define LDAP_SCHEME_UC L"LDAP://"
  22. //
  23. // LDAP Scheme Provider Support API
  24. //
  25. typedef struct _LDAP_URL_COMPONENTS {
  26. LPWSTR pwszHost;
  27. ULONG Port;
  28. LPWSTR pwszDN;
  29. ULONG cAttr;
  30. LPWSTR* apwszAttr;
  31. ULONG Scope;
  32. LPWSTR pwszFilter;
  33. } LDAP_URL_COMPONENTS, *PLDAP_URL_COMPONENTS;
  34. BOOL
  35. LdapCrackUrl (
  36. LPCWSTR pwszUrl,
  37. PLDAP_URL_COMPONENTS pLdapUrlComponents
  38. );
  39. BOOL
  40. LdapParseCrackedHost (
  41. LPWSTR pwszHost,
  42. PLDAP_URL_COMPONENTS pLdapUrlComponents
  43. );
  44. BOOL
  45. LdapParseCrackedDN (
  46. LPWSTR pwszDN,
  47. PLDAP_URL_COMPONENTS pLdapUrlComponents
  48. );
  49. BOOL
  50. LdapParseCrackedAttributeList (
  51. LPWSTR pwszAttrList,
  52. PLDAP_URL_COMPONENTS pLdapUrlComponents
  53. );
  54. BOOL
  55. LdapParseCrackedScopeAndFilter (
  56. LPWSTR pwszScope,
  57. LPWSTR pwszFilter,
  58. PLDAP_URL_COMPONENTS pLdapUrlComponents
  59. );
  60. VOID
  61. LdapFreeUrlComponents (
  62. PLDAP_URL_COMPONENTS pLdapUrlComponents
  63. );
  64. BOOL
  65. LdapGetBindings (
  66. LPWSTR pwszHost,
  67. ULONG Port,
  68. DWORD dwRetrievalFlags,
  69. DWORD dwTimeout,
  70. LDAP** ppld
  71. );
  72. VOID
  73. LdapFreeBindings (
  74. LDAP* pld
  75. );
  76. BOOL
  77. LdapBindWithOptionalRediscover (LDAP* pld, LPWSTR pwszHost);
  78. #endif
  79.