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.
45 lines
941 B
45 lines
941 B
#ifdef __cplusplus
|
|
|
|
#include "capi.h"
|
|
|
|
// WinVerifyTrust delay load modelled on shell's urlmonp.h
|
|
|
|
#define DELAY_LOAD_WVT
|
|
|
|
class Cwvt
|
|
{
|
|
public:
|
|
#ifdef DELAY_LOAD_WVT
|
|
#define DELAYWVTAPI(_fn, _args, _nargs) \
|
|
HRESULT _fn _args { \
|
|
HRESULT hres = Init(); \
|
|
if (SUCCEEDED(hres)) { \
|
|
hres = _pfn##_fn _nargs; \
|
|
} \
|
|
return hres; } \
|
|
HRESULT (STDAPICALLTYPE* _pfn##_fn) _args;
|
|
|
|
HRESULT Init(void);
|
|
Cwvt();
|
|
~Cwvt();
|
|
|
|
BOOL m_fInited;
|
|
HMODULE m_hMod;
|
|
#else
|
|
#define DELAYWVTAPI(_fn, _args, _nargs) \
|
|
HRESULT _fn _args { \
|
|
HRESULT hr = ::#_fn _nargs; \
|
|
}
|
|
|
|
#endif
|
|
|
|
private:
|
|
DELAYWVTAPI(WinVerifyTrust,
|
|
(HWND hwnd, GUID * ActionID, LPVOID ActionData),
|
|
(hwnd, ActionID, ActionData));
|
|
|
|
public:
|
|
HRESULT VerifyTrust(HANDLE hFile, HWND hWnd, LPCWSTR szStatusText);
|
|
|
|
};
|
|
#endif
|