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.

64 lines
1.5 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000, Microsoft Corp. All rights reserved.
  4. //
  5. // FILE
  6. //
  7. // ntsamuser.h
  8. //
  9. // SYNOPSIS
  10. //
  11. // Declares the class AccountValidation.
  12. //
  13. ///////////////////////////////////////////////////////////////////////////////
  14. #ifndef NTSAMUSER_H
  15. #define NTSAMUSER_H
  16. #include <iastl.h>
  17. namespace IASTL
  18. {
  19. class IASRequest;
  20. }
  21. ///////////////////////////////////////////////////////////////////////////////
  22. //
  23. // CLASS
  24. //
  25. // AccountValidation
  26. //
  27. // DESCRIPTION
  28. //
  29. // Implements the NT-SAM Account Validation and Groups handler.
  30. //
  31. ///////////////////////////////////////////////////////////////////////////////
  32. class ATL_NO_VTABLE AccountValidation
  33. : public IASTL::IASRequestHandlerSync,
  34. public CComCoClass<AccountValidation, &__uuidof(AccountValidation)>
  35. {
  36. public:
  37. IAS_DECLARE_REGISTRY(AccountValidation, 1, 0, IASTypeLibrary)
  38. // IIasComponent
  39. STDMETHOD(Initialize)();
  40. STDMETHOD(Shutdown)();
  41. private:
  42. virtual IASREQUESTSTATUS onSyncRequest(IRequest* pRequest) throw ();
  43. static void doDownlevel(
  44. IASTL::IASRequest& request,
  45. PCWSTR domainName,
  46. PCWSTR username
  47. );
  48. static bool tryNativeMode(
  49. IASTL::IASRequest& request,
  50. PCWSTR domainName,
  51. PCWSTR username
  52. );
  53. };
  54. #endif // NTSAMUSER_H