STDAPI AmsiInitialize(
_In_ LPCWSTR appName,
_Outptr_ HAMSICONTEXT* amsiContext);
В Delphi это разве не
stdcall
будет?
DECLARE_HANDLE(HAMSICONTEXT);
DECLARE_HANDLE(HAMSISESSION);
По-хорошему нужно бы узнать, как объявлена
DECLARE_HANDLE
, но с высокой вероятностью на Delphi это объявление должно идти так:
type
HAMSICONTEXT = type THandle;
HAMSISESSION = type THandle;
Если я прав, последующие объявления типов не нужны — это чисто сишные заморочки. В Delphi возвращаемый описатель логично объявить через
var
:
function AmsiInitialize(appName: LPCWSTR; var amsiContext: HAMSICONTEXT): HRESULT; stdcall;
external 'amsi.dll' name 'AmsiInitialize';
procedure AmsiUninitialize(amsiContext: HAMSICONTEXT); stdcall;
external 'amsi.dll' name 'AmsiUninitialize';