Web検索を少し行うと、このページまたはこのページが表示され、関数が次のようになっていることがわかります。
NTSTATUS NTAPI RtlQueryProcessHeapInformation(
IN OUT PRTL_DEBUG_INFORMATION Buffer
);
あなたはすでにあなたの前の質問NTSTATUS
から何を知っていますか。は、それです。つまり、Delphiでの関数宣言は次のとおりです。NTAPI
__stdcall
function RtlQueryProcessHeapInformation(
Buffer: PRTL_DEBUG_INFORMATION
): NTSTATUS; stdcall; external 'ntdll.dll';
私がリンクしているページには、の宣言も含まれPRTL_DEBUG_INFORMATION
ています。あなたがそれを自分で翻訳できると確信しています。これは実装のプライベートで文書化されていない関数であるため、パラメーターの意味をリバースエンジニアリングする必要があります。
これはあなたが尋ねた2番目の質問であり、ほとんど同じです。両方の質問で、質問をアセンブラー質問として提示します。しかし、そうではありません。どちらの質問でも、関数の宣言と、それを外部DLLからインポートする方法を理解する必要がありました。これから取り除くべきことは、別のDLLで関数を呼び出す必要がある場合、次の2つのいずれかを実行できるということです。
external
両方の質問で示したコードを使用して、暗黙的にインポートします。これはより単純なアプローチです。
LoadLibrary
およびを使用しGetProcAddress
て、明示的にインポートします。これはより面倒なアプローチです。
これを間違った方法でとらないでください。私は、このような問題を自分で解決するために知っておくべきことを示しているだけです。