Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 701 of file wintrust_main.c.
Referenced by CertViewPropertiesW(), CryptUIDlgViewCertificateW(), and WinVerifyTrustEx().
{ static const GUID unknown = { 0xC689AAB8, 0x8E78, 0x11D0, { 0x8C,0x47, 0x00,0xC0,0x4F,0xC2,0x95,0xEE } }; static const GUID published_software = WIN_SPUB_ACTION_PUBLISHED_SOFTWARE; static const GUID generic_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2; static const GUID generic_cert_verify = WINTRUST_ACTION_GENERIC_CERT_VERIFY; static const GUID generic_chain_verify = WINTRUST_ACTION_GENERIC_CHAIN_VERIFY; static const GUID cert_action_verify = CERT_CERTIFICATE_ACTION_VERIFY; LONG err = ERROR_SUCCESS; WINTRUST_DATA *actionData = ActionData; TRACE("(%p, %s, %p)\n", hwnd, debugstr_guid(ActionID), ActionData); dump_wintrust_data(ActionData); /* Support for known old-style callers: */ if (IsEqualGUID(ActionID, &published_software)) err = WINTRUST_PublishedSoftware(hwnd, ActionID, ActionData); else if (IsEqualGUID(ActionID, &cert_action_verify)) err = WINTRUST_CertActionVerify(hwnd, ActionID, ActionData); else { DWORD stateAction; /* Check known actions to warn of possible problems */ if (!IsEqualGUID(ActionID, &unknown) && !IsEqualGUID(ActionID, &generic_verify_v2) && !IsEqualGUID(ActionID, &generic_cert_verify) && !IsEqualGUID(ActionID, &generic_chain_verify)) WARN("unknown action %s, default behavior may not be right\n", debugstr_guid(ActionID)); if (WVT_ISINSTRUCT(WINTRUST_DATA, actionData->cbStruct, dwStateAction)) stateAction = actionData->dwStateAction; else { TRACE("no dwStateAction, assuming WTD_STATEACTION_IGNORE\n"); stateAction = WTD_STATEACTION_IGNORE; } switch (stateAction) { case WTD_STATEACTION_IGNORE: err = WINTRUST_DefaultVerifyAndClose(hwnd, ActionID, ActionData); break; case WTD_STATEACTION_VERIFY: err = WINTRUST_DefaultVerify(hwnd, ActionID, ActionData); break; case WTD_STATEACTION_CLOSE: err = WINTRUST_DefaultClose(hwnd, ActionID, ActionData); break; default: FIXME("unimplemented for %d\n", actionData->dwStateAction); } } TRACE("returning %08x\n", err); return err; }