67static const WCHAR Trust[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
68 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
69 'C',
'r',
'y',
'p',
't',
'o',
'g',
'r',
'a',
'p',
'h',
'y',
'\\',
70 'P',
'r',
'o',
'v',
'i',
'd',
'e',
'r',
's',
'\\',
71 'T',
'r',
'u',
's',
't',
'\\', 0 };
73static const WCHAR Initialization[] = {
'I',
'n',
'i',
't',
'i',
'a',
'l',
'i',
'z',
'a',
't',
'i',
'o',
'n',
'\\', 0};
74static const WCHAR Message[] = {
'M',
'e',
's',
's',
'a',
'g',
'e',
'\\', 0};
75static const WCHAR Signature[] = {
'S',
'i',
'g',
'n',
'a',
't',
'u',
'r',
'e',
'\\', 0};
76static const WCHAR Certificate[] = {
'C',
'e',
'r',
't',
'i',
'f',
'i',
'c',
'a',
't',
'e',
'\\', 0};
77static const WCHAR CertCheck[] = {
'C',
'e',
'r',
't',
'C',
'h',
'e',
'c',
'k',
'\\', 0};
78static const WCHAR FinalPolicy[] = {
'F',
'i',
'n',
'a',
'l',
'P',
'o',
'l',
'i',
'c',
'y',
'\\', 0};
79static const WCHAR DiagnosticPolicy[] = {
'D',
'i',
'a',
'g',
'n',
'o',
's',
't',
'i',
'c',
'P',
'o',
'l',
'i',
'c',
'y',
'\\', 0};
80static const WCHAR Cleanup[] = {
'C',
'l',
'e',
'a',
'n',
'u',
'p',
'\\', 0};
83static const WCHAR Dll[] = {
'$',
'D',
'L',
'L', 0};
93#define WINTRUST_INITREGENTRY( action, dllname, functionname ) \
94 action.cbStruct = sizeof(CRYPT_TRUST_REG_ENTRY); \
95 action.pwszDLLName = WINTRUST_Alloc(sizeof(dllname)); \
96 lstrcpyW(action.pwszDLLName, dllname); \
97 action.pwszFunctionName = WINTRUST_Alloc(sizeof(functionname)); \
98 lstrcpyW(action.pwszFunctionName, functionname);
119#undef WINTRUST_INITREGENTRY
130#define WINTRUST_FREEREGENTRY( action ) \
131 WINTRUST_Free(action.pwszDLLName); \
132 WINTRUST_Free(action.pwszFunctionName);
153#undef WINTRUST_FREEREGENTRY
164 static const WCHAR wszFormat[] = {
'{',
'%',
'0',
'8',
'l',
'X',
'-',
'%',
'0',
'4',
'X',
'-',
'%',
'0',
'4',
'X',
'-',
165 '%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'-',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
166 'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'}', 0};
169 pgActionID->Data4[0], pgActionID->Data4[1], pgActionID->Data4[2], pgActionID->Data4[3],
170 pgActionID->Data4[4], pgActionID->Data4[5], pgActionID->Data4[6], pgActionID->Data4[7]);
180 const WCHAR* FunctionType,
183 static const WCHAR Function[] = {
'$',
'F',
'u',
'n',
'c',
't',
'i',
'o',
'n', 0};
305 const WCHAR* FunctionType)
377 static const WCHAR Usages[] = {
'U',
's',
'a',
'g',
'e',
's',
'\\', 0};
442 RegisteredOK =
FALSE;
445 RegisteredOK =
FALSE;
480#define WIN_SPUB_ACTION_PUBLISHED_SOFTWARE_NOBADUI { 0xc6b2e8d0, 0xe005, 0x11cf, { 0xa1,0x34,0x00,0xc0,0x4f,0xd7,0xbf,0x43 }}
584 static CHAR SoftpubLoadUsage[] =
"SoftpubLoadDefUsageCallData";
585 static CHAR SoftpubFreeUsage[] =
"SoftpubFreeDefUsageCallData";
608 RegisteredOK =
FALSE;
610 RegisteredOK =
FALSE;
612 RegisteredOK =
FALSE;
614 RegisteredOK =
FALSE;
619 RegisteredOK =
FALSE;
736 static const WCHAR CBAlloc[] = {
'C',
'a',
'l',
'l',
'b',
'a',
'c',
'k',
'A',
'l',
'l',
'o',
'c',
'F',
'u',
'n',
'c',
't',
'i',
'o',
'n', 0};
737 static const WCHAR CBFree[] = {
'C',
'a',
'l',
'l',
'b',
'a',
'c',
'k',
'F',
'r',
'e',
'e',
'F',
'u',
'n',
'c',
't',
'i',
'o',
'n', 0};
817 Size =
sizeof(DllName);
848 if (!pPfns)
return FALSE;
887 {
'C',
'r',
'y',
'p',
't',
'S',
'I',
'P',
'G',
'e',
't',
'S',
'i',
'g',
'n',
'e',
'd',
'D',
'a',
't',
'a',
'M',
's',
'g', 0};
889 {
'C',
'r',
'y',
'p',
't',
'S',
'I',
'P',
'P',
'u',
't',
'S',
'i',
'g',
'n',
'e',
'd',
'D',
'a',
't',
'a',
'M',
's',
'g', 0};
891 {
'C',
'r',
'y',
'p',
't',
'S',
'I',
'P',
'C',
'r',
'e',
'a',
't',
'e',
'I',
'n',
'd',
'i',
'r',
'e',
'c',
't',
'D',
'a',
't',
'a', 0};
893 {
'C',
'r',
'y',
'p',
't',
'S',
'I',
'P',
'V',
'e',
'r',
'i',
'f',
'y',
'I',
'n',
'd',
'i',
'r',
'e',
'c',
't',
'D',
'a',
't',
'a', 0};
895 {
'C',
'r',
'y',
'p',
't',
'S',
'I',
'P',
'R',
'e',
'm',
'o',
'v',
'e',
'S',
'i',
'g',
'n',
'e',
'd',
'D',
'a',
't',
'a',
'M',
's',
'g', 0};
928 static const CHAR SpcPeImageDataEncode[] =
"WVTAsn1SpcPeImageDataEncode";
929 static const CHAR SpcPeImageDataDecode[] =
"WVTAsn1SpcPeImageDataDecode";
930 static const CHAR SpcLinkEncode[] =
"WVTAsn1SpcLinkEncode";
931 static const CHAR SpcLinkDecode[] =
"WVTAsn1SpcLinkDecode";
932 static const CHAR SpcSigInfoEncode[] =
"WVTAsn1SpcSigInfoEncode";
933 static const CHAR SpcSigInfoDecode[] =
"WVTAsn1SpcSigInfoDecode";
934 static const CHAR SpcIndirectDataContentEncode[] =
"WVTAsn1SpcIndirectDataContentEncode";
935 static const CHAR SpcIndirectDataContentDecode[] =
"WVTAsn1SpcIndirectDataContentDecode";
936 static const CHAR SpcSpAgencyInfoEncode[] =
"WVTAsn1SpcSpAgencyInfoEncode";
937 static const CHAR SpcSpAgencyInfoDecode[] =
"WVTAsn1SpcSpAgencyInfoDecode";
938 static const CHAR SpcMinimalCriteriaInfoEncode[] =
"WVTAsn1SpcMinimalCriteriaInfoEncode";
939 static const CHAR SpcMinimalCriteriaInfoDecode[] =
"WVTAsn1SpcMinimalCriteriaInfoDecode";
940 static const CHAR SpcFinancialCriteriaInfoEncode[] =
"WVTAsn1SpcFinancialCriteriaInfoEncode";
941 static const CHAR SpcFinancialCriteriaInfoDecode[] =
"WVTAsn1SpcFinancialCriteriaInfoDecode";
942 static const CHAR SpcStatementTypeEncode[] =
"WVTAsn1SpcStatementTypeEncode";
943 static const CHAR SpcStatementTypeDecode[] =
"WVTAsn1SpcStatementTypeDecode";
944 static const CHAR CatNameValueEncode[] =
"WVTAsn1CatNameValueEncode";
945 static const CHAR CatNameValueDecode[] =
"WVTAsn1CatNameValueDecode";
946 static const CHAR CatMemberInfoEncode[] =
"WVTAsn1CatMemberInfoEncode";
947 static const CHAR CatMemberInfoDecode[] =
"WVTAsn1CatMemberInfoDecode";
948 static const CHAR SpcSpOpusInfoEncode[] =
"WVTAsn1SpcSpOpusInfoEncode";
949 static const CHAR SpcSpOpusInfoDecode[] =
"WVTAsn1SpcSpOpusInfoDecode";
950 static GUID Unknown1 = { 0xDE351A42, 0x8E59, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
951 static GUID Unknown2 = { 0xC689AABA, 0x8E78, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
952 static GUID Unknown3 = { 0xC689AAB8, 0x8E78, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
953 static GUID Unknown4 = { 0xC689AAB9, 0x8E78, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
954 static GUID Unknown5 = { 0xDE351A43, 0x8E59, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
955 static GUID Unknown6 = { 0x9BA61D3F, 0xE73A, 0x11D0, { 0x8C,0xD2,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
956 static WCHAR MagicNumber2[] = {
'M',
'S',
'C',
'F', 0};
957 static WCHAR MagicNumber3[] = {
'0',
'x',
'0',
'0',
'0',
'0',
'4',
'5',
'5',
'0', 0};
958 static WCHAR CafeBabe[] = {
'0',
'x',
'c',
'a',
'f',
'e',
'b',
'a',
'b',
'e', 0};
974#define WINTRUST_REGISTEROID( oid, encode_funcname, decode_funcname ) \
976 if (!CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC, oid, SP_POLICY_PROVIDER_DLL_NAME, encode_funcname)) \
978 CryptRegisterRes = HRESULT_FROM_WIN32(GetLastError()); \
979 goto add_trust_providers; \
981 if (!CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC, oid, SP_POLICY_PROVIDER_DLL_NAME, decode_funcname)) \
983 CryptRegisterRes = HRESULT_FROM_WIN32(GetLastError()); \
984 goto add_trust_providers; \
1015#undef WINTRUST_REGISTEROID
1085 else ERR(
"Failed to acquire cryptographic context: %u\n",
GetLastError());
1088 if (CryptRegisterRes !=
S_OK)
1089 return CryptRegisterRes;
1090 else if (SIPAddProviderRes ==
S_OK)
1091 return TrustProviderRes;
1093 return SIPAddProviderRes;
1152 return TrustProviderRes;
PRTL_UNICODE_STRING_BUFFER PULONG PULONG Unknown4
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char * FunctionName
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
STDAPI DllRegisterServer(void)
STDAPI DllUnregisterServer(void)
#define RegCloseKey(hKey)
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD IN DWORD Unknown6
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD Unknown5
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags)
BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR pszContainer, LPCWSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
BOOL WINAPI CryptSIPPutSignedDataMsg(SIP_SUBJECTINFO *pSubjectInfo, DWORD pdwEncodingType, DWORD *pdwIndex, DWORD cbSignedDataMsg, BYTE *pbSignedDataMsg)
BOOL WINAPI CryptSIPRemoveSignedDataMsg(SIP_SUBJECTINFO *pSubjectInfo, DWORD dwIndex)
BOOL WINAPI CryptSIPGetSignedDataMsg(SIP_SUBJECTINFO *pSubjectInfo, DWORD *pdwEncodingType, DWORD dwIndex, DWORD *pcbSignedDataMsg, BYTE *pbSignedDataMsg)
BOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO *pSubjectInfo, DWORD *pcbIndirectData, SIP_INDIRECT_DATA *pIndirectData)
BOOL WINAPI CryptSIPVerifyIndirectData(SIP_SUBJECTINFO *pSubjectInfo, SIP_INDIRECT_DATA *pIndirectData)
BOOL WINAPI CryptSIPAddProvider(SIP_ADD_NEWPROVIDER *psNewProv)
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define MultiByteToWideChar
static const CRYPT_TRUST_REG_ENTRY NullCTRE
static const WCHAR FinalPolicy[]
static const WCHAR CertCheck[]
static BOOL WINTRUST_SIPPAddProvider(GUID *Subject, WCHAR *MagicNumber)
static CRYPT_TRUST_REG_ENTRY SoftpubCertificate
static LONG WINTRUST_WriteSingleUsageEntry(LPCSTR OID, const WCHAR *Value, WCHAR *Data)
HRESULT WINAPI mssip32DllUnregisterServer(void)
static void WINTRUST_Guid2Wstr(const GUID *pgActionID, WCHAR *GuidString)
BOOL WINAPI WintrustLoadFunctionPointers(GUID *pgActionID, CRYPT_PROVIDER_FUNCTIONS *pPfns)
static const WCHAR Message[]
static CRYPT_TRUST_REG_ENTRY DriverFinalPolicy
static BOOL WINTRUST_RegisterGenVerifyV2(void)
static CRYPT_TRUST_REG_ENTRY GenericChainCertificateTrust
static CRYPT_TRUST_REG_ENTRY SoftpubMessage
static CRYPT_TRUST_REG_ENTRY HTTPSCertificateTrust
HRESULT WINAPI mscat32DllUnregisterServer(void)
static BOOL WINTRUST_RegisterPublishedSoftware(void)
static const WCHAR Cleanup[]
static CRYPT_TRUST_REG_ENTRY DriverInitializePolicy
static const WCHAR DiagnosticPolicy[]
static CRYPT_TRUST_REG_ENTRY GenericChainFinalProv
static const WCHAR Signature[]
#define WINTRUST_REGISTEROID(oid, encode_funcname, decode_funcname)
static const WCHAR DefaultId[]
static const WCHAR Certificate[]
static FARPROC WINTRUST_ReadProviderFromReg(WCHAR *GuidString, const WCHAR *FunctionType)
static void WINTRUST_InitRegStructs(void)
#define WINTRUST_INITREGENTRY(action, dllname, functionname)
static CRYPT_TRUST_REG_ENTRY SoftpubCleanup
static BOOL WINTRUST_RegisterTrustProviderTest(void)
HRESULT WINAPI SoftpubDllRegisterServer(void)
static BOOL WINTRUST_RegisterOfficeSignVerify(void)
static BOOL WINTRUST_RegisterGenCertVerify(void)
static LONG WINTRUST_WriteProviderToReg(WCHAR *GuidString, const WCHAR *FunctionType, CRYPT_TRUST_REG_ENTRY RegEntry)
static BOOL WINTRUST_RegisterDriverVerify(void)
static CRYPT_TRUST_REG_ENTRY DriverCleanupPolicy
HRESULT WINAPI mscat32DllRegisterServer(void)
static CRYPT_TRUST_REG_ENTRY SoftpubDefCertInit
static void WINTRUST_RemoveProviderFromReg(WCHAR *GuidString, const WCHAR *FunctionType)
#define WINTRUST_FREEREGENTRY(action)
static CRYPT_TRUST_REG_ENTRY SoftpubFinalPolicy
static const WCHAR Trust[]
static CRYPT_TRUST_REG_ENTRY SoftpubCertCheck
static CRYPT_TRUST_REG_ENTRY SoftpubInitialization
HRESULT WINAPI SoftpubDllUnregisterServer(void)
BOOL WINAPI WintrustAddActionID(GUID *pgActionID, DWORD fdwFlags, CRYPT_REGISTER_ACTIONID *psProvInfo)
static BOOL WINTRUST_RegisterGenChainVerify(void)
BOOL WINAPI WintrustRemoveActionID(GUID *pgActionID)
static BOOL WINTRUST_RegisterHttpsProv(void)
static CRYPT_TRUST_REG_ENTRY OfficeCleanupPolicy
BOOL WINAPI WintrustAddDefaultForUsage(const char *pszUsageOID, CRYPT_PROVIDER_REGDEFUSAGE *psDefUsage)
static CRYPT_TRUST_REG_ENTRY OfficeInitializePolicy
static CRYPT_TRUST_REG_ENTRY HTTPSFinalProv
static void WINTRUST_FreeRegStructs(void)
static const WCHAR Initialization[]
static CRYPT_TRUST_REG_ENTRY SoftpubDumpStructure
#define WIN_SPUB_ACTION_PUBLISHED_SOFTWARE_NOBADUI
static CRYPT_TRUST_REG_ENTRY SoftpubSignature
static BOOL WINTRUST_RegisterPublishedSoftwareNoBadUi(void)
HRESULT WINAPI mssip32DllRegisterServer(void)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
struct SIP_ADD_NEWPROVIDER_ SIP_ADD_NEWPROVIDER
static const WCHAR SP_INIT_FUNCTION[]
static const WCHAR GENERIC_CHAIN_CERTTRUST_FUNCTION[]
#define WINTRUST_ACTION_GENERIC_VERIFY_V2
static const WCHAR OFFICE_CLEANUPPOLICY_FUNCTION[]
static const WCHAR SP_POLICY_PROVIDER_DLL_NAME[]
static const WCHAR GENERIC_CHAIN_FINALPOLICY_FUNCTION[]
#define DRIVER_ACTION_VERIFY
static const WCHAR HTTPS_CERTTRUST_FUNCTION[]
static const WCHAR SP_FINALPOLICY_FUNCTION[]
#define WINTRUST_ACTION_TRUSTPROVIDER_TEST
static const WCHAR DRIVER_INITPROV_FUNCTION[]
static const WCHAR SP_CLEANUPPOLICY_FUNCTION[]
static const WCHAR HTTPS_FINALPOLICY_FUNCTION[]
static const WCHAR SP_GENERIC_CERT_INIT_FUNCTION[]
static const WCHAR SP_TESTDUMPPOLICY_FUNCTION_TEST[]
static const WCHAR SP_CHKCERT_FUNCTION[]
static const WCHAR OFFICE_INITPROV_FUNCTION[]
#define WINTRUST_ACTION_GENERIC_CHAIN_VERIFY
#define OFFICESIGN_ACTION_VERIFY
static const WCHAR DRIVER_CLEANUPPOLICY_FUNCTION[]
static const WCHAR SP_OBJTRUST_FUNCTION[]
static const WCHAR SP_SIGTRUST_FUNCTION[]
#define WINTRUST_ACTION_GENERIC_CERT_VERIFY
static const WCHAR OFFICE_POLICY_PROVIDER_DLL_NAME[]
static const WCHAR DRIVER_FINALPOLPROV_FUNCTION[]
WCHAR * pwszCreateFuncName
WCHAR * pwszGetCapFuncName
WCHAR * pwszRemoveFuncName
WCHAR * pwszIsFunctionName
WCHAR * pwszIsFunctionNameFmt2
WCHAR * pwszVerifyFuncName
PFN_PROVIDER_CLEANUP_CALL pfnCleanupPolicy
PFN_PROVIDER_CERTTRUST_CALL pfnCertificateTrust
PFN_PROVIDER_OBJTRUST_CALL pfnObjectTrust
PFN_PROVIDER_SIGTRUST_CALL pfnSignatureTrust
PFN_CPD_ADD_CERT pfnAddCert2Chain
PFN_PROVIDER_TESTFINALPOLICY_CALL pfnTestFinalPolicy
PFN_CPD_MEM_ALLOC pfnAlloc
PFN_CPD_ADD_PRIVDATA pfnAddPrivData2Chain
PFN_PROVIDER_FINALPOLICY_CALL pfnFinalPolicy
PFN_CPD_ADD_STORE pfnAddStore2Chain
PFN_PROVIDER_INIT_CALL pfnInitialize
PFN_PROVIDER_CERTCHKPOLICY_CALL pfnCertCheckPolicy
struct _CRYPT_PROVUI_FUNCS * psUIpfns
PFN_CPD_ADD_SGNR pfnAddSgnr2Chain
char * pwszLoadCallbackDataFunctionName
char * pwszFreeCallbackDataFunctionName
CRYPT_TRUST_REG_ENTRY sCertificateProvider
CRYPT_TRUST_REG_ENTRY sInitProvider
CRYPT_TRUST_REG_ENTRY sTestPolicyProvider
CRYPT_TRUST_REG_ENTRY sCertificatePolicyProvider
CRYPT_TRUST_REG_ENTRY sFinalPolicyProvider
CRYPT_TRUST_REG_ENTRY sCleanupProvider
CRYPT_TRUST_REG_ENTRY sObjectProvider
CRYPT_TRUST_REG_ENTRY sSignatureProvider
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
DWORD WINAPI GetLastError(void)
#define szOID_SGC_NETSCAPE
#define CRYPT_VERIFYCONTEXT
#define szOID_PKIX_KP_CLIENT_AUTH
#define szOID_PKIX_KP_CODE_SIGNING
#define szOID_PKIX_KP_SERVER_AUTH
#define szOID_SERVER_GATED_CRYPTO
#define HKEY_LOCAL_MACHINE
#define SPC_JAVA_CLASS_DATA_OBJID
#define SPC_MINIMAL_CRITERIA_OBJID
#define SPC_INDIRECT_DATA_CONTENT_STRUCT
HRESULT(WINAPI * PFN_PROVIDER_OBJTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
#define SPC_JAVA_CLASS_DATA_STRUCT
HRESULT(WINAPI * PFN_PROVIDER_CLEANUP_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
#define SPC_FINANCIAL_CRITERIA_OBJID
#define SPC_MINIMAL_CRITERIA_STRUCT
HRESULT(WINAPI * PFN_PROVIDER_CERTTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
#define SPC_PE_IMAGE_DATA_OBJID
#define SPC_SIGINFO_OBJID
BOOL(WINAPI * PFN_PROVIDER_CERTCHKPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSignerChain, DWORD idxCounterSigner)
#define CAT_NAMEVALUE_OBJID
struct _CRYPT_PROVIDER_REGDEFUSAGE CRYPT_PROVIDER_REGDEFUSAGE
#define SPC_PE_IMAGE_DATA_STRUCT
#define SPC_CAB_DATA_STRUCT
HRESULT(WINAPI * PFN_PROVIDER_SIGTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
struct _CRYPT_REGISTER_ACTIONID CRYPT_REGISTER_ACTIONID
#define SPC_SP_OPUS_INFO_OBJID
static const WCHAR WT_PROVIDER_CERTTRUST_FUNCTION[]
#define CAT_MEMBERINFO_OBJID
#define WIN_SPUB_ACTION_PUBLISHED_SOFTWARE
#define SPC_SP_OPUS_INFO_STRUCT
#define WT_ADD_ACTION_ID_RET_RESULT_FLAG
#define SPC_STATEMENT_TYPE_STRUCT
#define SPC_SP_AGENCY_INFO_OBJID
#define SPC_SP_AGENCY_INFO_STRUCT
#define CAT_MEMBERINFO_STRUCT
#define SPC_STATEMENT_TYPE_OBJID
#define SPC_SIGINFO_STRUCT
#define SPC_CAB_DATA_OBJID
HRESULT(WINAPI * PFN_PROVIDER_FINALPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
#define SPC_FINANCIAL_CRITERIA_STRUCT
HRESULT(WINAPI * PFN_PROVIDER_TESTFINALPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
HRESULT(WINAPI * PFN_PROVIDER_INIT_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
#define CAT_NAMEVALUE_STRUCT
#define SPC_INDIRECT_DATA_OBJID
void *WINAPI WINTRUST_Alloc(DWORD cb)
void WINAPI WINTRUST_Free(void *p)
BOOL WINAPI WINTRUST_AddStore(CRYPT_PROVIDER_DATA *data, HCERTSTORE store)
BOOL WINAPI WINTRUST_AddCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner, BOOL fCounterSigner, DWORD idxCounterSigner, PCCERT_CONTEXT pCert2Add)
BOOL WINAPI WINTRUST_AddPrivData(CRYPT_PROVIDER_DATA *data, CRYPT_PROVIDER_PRIVDATA *pPrivData2Add)
BOOL WINAPI WINTRUST_AddSgnr(CRYPT_PROVIDER_DATA *data, BOOL fCounterSigner, DWORD idxSigner, CRYPT_PROVIDER_SGNR *sgnr)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)