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.

84 lines
2.0 KiB

  1. //+-----------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (c) Microsoft Corporation 2000
  6. //
  7. // File: credman.h
  8. //
  9. // Contents: Structures and prototyps for accessing credential manager
  10. //
  11. //
  12. // History: 23-Feb-2000 Created Jeffspel
  13. //
  14. //------------------------------------------------------------------------
  15. #ifndef __CREDMAN_H__
  16. #define __CREDMGR_H__
  17. VOID
  18. KerbFreeCredmanList(KERBEROS_LIST CredmanList);
  19. VOID
  20. KerbDereferenceCredmanCred(
  21. IN PKERB_CREDMAN_CRED Cred,
  22. IN PKERBEROS_LIST CredmanList
  23. );
  24. VOID
  25. KerbReferenceCredmanCred(
  26. IN PKERB_CREDMAN_CRED Cred,
  27. IN PKERB_LOGON_SESSION LogonSession,
  28. IN BOOLEAN Unlink
  29. );
  30. NTSTATUS
  31. KerbCheckUserNameForCert(
  32. IN PLUID ClientLogonId,
  33. IN BOOLEAN fImpersonateClient,
  34. IN UNICODE_STRING *pUserName,
  35. OUT PCERT_CONTEXT *ppCertContext
  36. );
  37. NTSTATUS
  38. KerbAddCertCredToPrimaryCredential(
  39. IN PKERB_LOGON_SESSION pLogonSession,
  40. IN PUNICODE_STRING pTargetName,
  41. IN PCERT_CONTEXT pCertContext,
  42. IN PUNICODE_STRING pPin,
  43. IN ULONG CredFlags,
  44. IN OUT PKERB_PRIMARY_CREDENTIAL *ppCredMgrCred);
  45. NTSTATUS
  46. KerbCheckCredMgrForGivenTarget(
  47. IN PKERB_LOGON_SESSION pLogonSession,
  48. IN PKERB_CREDENTIAL Credential,
  49. IN PUNICODE_STRING SuppliedTargetName,
  50. IN PKERB_INTERNAL_NAME pTargetName,
  51. IN ULONG TargetInfoFlags,
  52. IN PUNICODE_STRING pTargetDomainName,
  53. IN PUNICODE_STRING pTargetForestName,
  54. IN OUT PKERB_CREDMAN_CRED *CredmanCred,
  55. IN OUT PBYTE *pbMarshalledTargetInfo,
  56. IN OUT ULONG *cbMarshalledTargetInfo
  57. );
  58. VOID
  59. KerbNotifyCredentialManager(
  60. IN PKERB_LOGON_SESSION LogonSession,
  61. IN PKERB_CHANGEPASSWORD_REQUEST ChangeRequest,
  62. IN PKERB_INTERNAL_NAME ClientName,
  63. IN PUNICODE_STRING RealmName
  64. );
  65. NTSTATUS
  66. KerbProcessUserNameCredential(
  67. IN PUNICODE_STRING MarshalledUserName,
  68. OUT PUNICODE_STRING UserName,
  69. OUT PUNICODE_STRING DomainName,
  70. OUT PUNICODE_STRING Password
  71. );
  72. #endif // __CREDMAN_H__