다음을 통해 공유


IMallocSpy::P reRealloc 메서드(objidl.h)

IMalloc::Realloc을 호출하기 전에 필요한 작업을 수행합니다.

구문

SIZE_T PreRealloc(
  [in]  void   *pRequest,
  [in]  SIZE_T cbRequest,
  [out] void   **ppNewRequest,
  [in]  BOOL   fSpyed
);

매개 변수

[in] pRequest

IMalloc::Realloc 호출에 지정된 메모리 블록에 대한 포인터입니다.

[in] cbRequest

IMalloc::Realloc에 대한 원래 호출에 지정된 메모리 블록의 바이트 수입니다.

[out] ppNewRequest

다시 할당할 메모리 블록에 대한 포인터를 수신하는 포인터 변수의 주소입니다. PreRealloc 구현이 재할당을 확장하거나 수정하는 경우 pRequest의 포인터와 다를 수 있습니다. 이 포인터는 항상 PreRealloc에 의해 저장되어야 합니다.

[in] fSpyed

이 스파이가 활성화된 동안 메모리 블록이 할당되었는지 여부를 나타냅니다.

반환 값

IMalloc::Realloc에 전달할 바이트 수입니다.

설명

PreRealloc 구현은 할당과 함께 디버그 관련 정보를 저장하도록 할당을 확장 및/또는 수정할 수 있습니다. 따라서 ppNewRequest 매개 변수는 Realloc에 대한 원래 호출에 지정된 요청에 대한 포인터인 pRequest와 다를 수 있습니다.

PreRealloc 은 0을 반환하여 메모리 할당 오류를 강제로 적용할 수 있으므로 테스트는 애플리케이션이 모든 경우에 할당 오류를 정상적으로 처리하도록 할 수 있습니다. 이 경우 PostRealloc 가 호출되지 않고 ReallocNULL을 반환합니다. 그러나 Realloc 에서 실제 메모리 오류가 발생하고 NULL을 반환하는 경우 PostRealloc 가 호출됩니다. 강제 할당 실패는 cbRequest 가 0과 같지 않은 경우에만 적용됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 objidl.h

추가 정보

IMalloc::Realloc

IMallocSpy

IMallocSpy::P ostRealloc