다음을 통해 공유


CoRegisterMallocSpy 함수(objbase.h)

IMallocSpy 인터페이스의 구현을 등록한 후 OLE가 해당 IMalloc 메서드를 호출할 때마다 래퍼 메서드를 호출하도록 요구합니다.

구문

HRESULT CoRegisterMallocSpy(
  [in] LPMALLOCSPY pMallocSpy
);

매개 변수

[in] pMallocSpy

IMallocSpy 구현의 instance 대한 포인터입니다.

반환 값

이 함수는 E_INVALIDARG 표준 반환 값과 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
개체가 성공적으로 등록되었습니다.
CO_E_OBJISREG
개체가 이미 등록되어 있습니다.

설명

CoRegisterMallocSpy 함수는 IMalloc 메서드에 대한 호출을 디버그하는 데 사용되는 IMallocSpy 개체를 등록합니다. 함수는 인터페이스 IID_IMallocSpy 대한 포인터 pMallocSpy에서 QueryInterface를 호출합니다. 이는 pMallocSpy 가 실제로 IMallocSpy의 구현을 가리키도록 하기 위한 것입니다. OLE 규칙에 따라 QueryInterface 를 성공적으로 호출하면 AddRef 메서드를 통해 참조가 IMallocSpy 개체에 추가될 것으로 예상됩니다. 즉, CoRegisterMallocSpypMallocSpy에서 AddRef를 직접 호출하지 않지만 QueryInterface 호출이 수행될 것으로 완전히 예상합니다.

IMallocSpy 개체가 등록되면 IMalloc 메서드 중 하나에 대한 호출이 있을 때마다 OLE는 먼저 해당 IMallocSpy 사전 메서드를 호출합니다. 그런 다음 IMalloc 메서드를 실행한 후 OLE는 해당 IMallocSpy 사후 메서드를 호출합니다. 예를 들어 IMalloc::Alloc에 대한 호출이 있을 때마다 OLE는 IMallocSpy::P reAlloc를 호출하고, Alloc를 호출하고, 할당이 완료된 후 IMallocSpy::P ostAlloc를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 objbase.h
라이브러리 Ole32.lib
DLL Ole32.dll

추가 정보

CoGetMalloc

CoRevokeMallocSpy

IMallocSpy