CoRegisterMallocSpy 関数 (objbase.h)
IMallocSpy インターフェイスの実装を登録します。その後、対応する IMalloc メソッドの呼び出しごとにラッパー メソッドを呼び出す必要があります。
構文
HRESULT CoRegisterMallocSpy(
[in] LPMALLOCSPY pMallocSpy
);
パラメーター
[in] pMallocSpy
IMallocSpy 実装のインスタンスへのポインター。
戻り値
この関数は、標準の戻り値E_INVALIDARGと、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
オブジェクトが正常に登録されました。 |
|
オブジェクトは既に登録されています。 |
注釈
CoRegisterMallocSpy 関数は、IMallocSpy オブジェクトを登録します。これは、IMalloc メソッドの呼び出しをデバッグするために使用されます。 この関数は、インターフェイス IID_IMallocSpyのポインター pMallocSpy で QueryInterface を呼び出します。 これは、 pMallocSpy が実際に IMallocSpy の実装を指していることを確認するため です。 OLE の規則により、 QueryInterface の呼び出しが成功すると、( AddRef メソッドを介して) IMallocSpy オブジェクトへの参照が追加されることが予想されます。 つまり、CoRegisterMallocSpy は pMallocSpy で AddRef を直接呼び出すのではなく、QueryInterface 呼び出しが行われると完全に想定しています。
IMallocSpy オブジェクトが登録されている場合、IMalloc メソッドの 1 つを呼び出すたびに、OLE は最初に対応する IMallocSpy プリメソッドを呼び出します。 次に、 IMalloc メソッドを実行した後、OLE は対応する IMallocSpy post-method を呼び出します。 たとえば、任意のソースから IMalloc::Alloc を呼び出すたびに、OLE は IMallocSpy::P reAlloc を呼び出し、 Alloc を呼び出し、その割り当てが完了したら 、IMallocSpy::P ostAlloc を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | objbase.h |
Library | Ole32.lib |
[DLL] | Ole32.dll |