xpmgr/BuildTools/Include/CertPolEng.h

77 lines
2.6 KiB
C

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#if !defined(_CERT_POL_ENG_)
#define CERTPOLENGAPI DECLSPEC_IMPORT
#else
#define CERTPOLENGAPI
#endif
CERTPOLENGAPI
NTSTATUS
NTAPI
PstGetTrustAnchors(
__in PUNICODE_STRING pTargetName,
__in DWORD cCriteria,
__in_ecount_opt(cCriteria) PCCERT_SELECT_CRITERIA rgpCriteria,
__deref_out PSecPkgContext_IssuerListInfoEx* ppTrustedIssuers
);
CERTPOLENGAPI
NTSTATUS
NTAPI
PstGetCertificates(
__in PUNICODE_STRING pTargetName,
__in DWORD cCriteria,
__in_ecount_opt(cCriteria) PCCERT_SELECT_CRITERIA rgpCriteria,
__in BOOL bIsClient,
__out PDWORD pdwCertChainContextCount,
__deref_out_ecount(*pdwCertChainContextCount) PCCERT_CHAIN_CONTEXT** ppCertChainContexts
);
CERTPOLENGAPI
NTSTATUS
NTAPI
PstAcquirePrivateKey(
__in PCCERT_CONTEXT pCert
);
CERTPOLENGAPI
NTSTATUS
NTAPI
PstValidate(
__in_opt PUNICODE_STRING pTargetName,
__in BOOL bIsClient,
__in_opt CERT_USAGE_MATCH* pRequestedIssuancePolicy,
__in_opt HCERTSTORE* phAdditionalCertStore,
__in PCCERT_CONTEXT pCert,
__out_opt GUID* pProvGUID
);
CERTPOLENGAPI
NTSTATUS
NTAPI
PstMapCertificate(
__in PCCERT_CONTEXT pCert,
__out LSA_TOKEN_INFORMATION_TYPE* pTokenInformationType,
__deref_out PVOID* ppTokenInformation
);
CERTPOLENGAPI
NTSTATUS
NTAPI
PstGetUserNameForCertificate(
__in PCCERT_CONTEXT pCertContext,
__out PUNICODE_STRING UserName
);
#ifdef __cplusplus
}
#endif