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.
 
 
 
 
 
 

145 lines
3.6 KiB

//+-----------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (c) Microsoft Corporation 2000
//
// File: credman.h
//
// Contents: Structures and prototyps for accessing credential manager
//
//
// History: 23-Feb-2000 Created Jeffspel
//
//------------------------------------------------------------------------
#ifndef __CREDMAN_H__
#define __CREDMGR_H__
VOID
KerbFreeCredmanList(KERBEROS_LIST CredmanList);
VOID
KerbDereferenceCredmanCred(
IN PKERB_CREDMAN_CRED Cred,
IN PKERBEROS_LIST CredmanList
);
VOID
KerbLogCredmanError(
IN PKERB_CREDMAN_CRED Cred,
IN NTSTATUS Status
);
NTSTATUS
KerbInitPrimaryCreds(
IN PKERB_LOGON_SESSION LogonSession,
IN PUNICODE_STRING UserString,
IN PUNICODE_STRING DomainString,
IN PUNICODE_STRING PrincipalName,
IN PUNICODE_STRING PasswordString, // either the password or if pin
IN BOOLEAN PubKeyCreds,
IN OPTIONAL PCERT_CONTEXT pCertContext,
OUT PKERB_PRIMARY_CREDENTIAL * PrimaryCreds
);
NTSTATUS
CredpExtractMarshalledTargetInfo(
IN PUNICODE_STRING TargetServerName,
OUT CREDENTIAL_TARGET_INFORMATIONW **pTargetInfo
);
VOID
KerbReferenceCredmanCred(
IN PKERB_CREDMAN_CRED Cred,
IN PKERB_LOGON_SESSION LogonSession,
IN BOOLEAN Unlink
);
NTSTATUS
KerbAddCredmanCredToLogonSession(
IN PKERB_LOGON_SESSION pLogonSession,
IN PKERB_PRIMARY_CREDENTIAL CredToMatch,
IN ULONG AdditionalCredFlags,
IN OUT PKERB_CREDMAN_CRED *NewCred
);
NTSTATUS
KerbRetrieveOWF(
IN PKERB_LOGON_SESSION LogonSession,
IN PKERB_CREDENTIAL Credential,
IN PKERB_CREDMAN_CRED CredmanCred,
IN PUNICODE_STRING CredTargetName,
IN OUT PKERB_QUERY_SUPPLEMENTAL_CREDS_RESPONSE * Response,
IN OUT PULONG ResponseSize
);
NTSTATUS
KerbCheckUserNameForCert(
IN PLUID ClientLogonId,
IN BOOLEAN fImpersonateClient,
IN UNICODE_STRING *pUserName,
OUT PCERT_CONTEXT *ppCertContext
);
NTSTATUS
KerbConvertCertCredential(
IN PKERB_LOGON_SESSION LogonSession,
IN LPCWSTR MarshalledCredential,
IN PUNICODE_STRING TargetName,
IN OUT PKERB_PRIMARY_CREDENTIAL * PrimaryCredential
);
NTSTATUS
KerbTicklePackage(
IN PKERB_LOGON_SESSION LogonSession,
IN PUNICODE_STRING CredentialBlob
);
NTSTATUS
KerbAddCertCredToPrimaryCredential(
IN PKERB_LOGON_SESSION pLogonSession,
IN PUNICODE_STRING pTargetName,
IN PCERT_CONTEXT pCertContext,
IN PUNICODE_STRING pPin,
IN ULONG CredFlags,
IN OUT PKERB_PRIMARY_CREDENTIAL *ppCredMgrCred);
NTSTATUS
KerbCheckCredMgrForGivenTarget(
IN PKERB_LOGON_SESSION pLogonSession,
IN PKERB_CREDENTIAL Credential,
IN PUNICODE_STRING SuppliedTargetName,
IN PKERB_INTERNAL_NAME pTargetName,
IN ULONG TargetInfoFlags,
IN PUNICODE_STRING pTargetDomainName,
IN PUNICODE_STRING pTargetForestName,
IN OUT PKERB_CREDMAN_CRED *CredmanCred,
IN OUT PBYTE *pbMarshalledTargetInfo,
IN OUT ULONG *cbMarshalledTargetInfo
);
VOID
KerbNotifyCredentialManager(
IN PKERB_LOGON_SESSION LogonSession,
IN PKERB_CHANGEPASSWORD_REQUEST ChangeRequest,
IN PKERB_INTERNAL_NAME ClientName,
IN PUNICODE_STRING RealmName
);
NTSTATUS
KerbProcessUserNameCredential(
IN PUNICODE_STRING MarshalledUserName,
OUT PUNICODE_STRING UserName,
OUT PUNICODE_STRING DomainName,
OUT PUNICODE_STRING Password
);
#define RAS_CREDENTIAL 0x1
#endif // __CREDMAN_H__