다음을 통해 공유


ICallFrame::Free 메서드(callobj.h)

메모리 누수 방지를 위해 프레임 복사본을 해제합니다.

Copy 메서드를 사용하여 호출 프레임의 복사본을 만들면 호출 프레임이 복사된 데이터를 자동으로 클린 않습니다. 따라서 호출 프레임의 복사본이 반환된 후 사용자는 Free 메서드를 호출하여 프레임 복사본을 해제하고 메모리 누수 방지를 담당합니다.

구문

HRESULT Free(
  [in] ICallFrame       *pframeArgsDest,
  [in] ICallFrameWalker *pWalkerDestFree,
  [in] ICallFrameWalker *pWalkerCopy,
  [in] DWORD            freeFlags,
  [in] ICallFrameWalker *pWalkerFree,
  [in] DWORD            nullFlags
);

매개 변수

[in] pframeArgsDest

ICallFrame 인터페이스의 instance 대한 포인터입니다. 프레임 복사본을 해제하기 전에 out 매개 변수를 복사해야 하는 호출 프레임의 스택 포인터를 나타냅니다. 대상 프레임은 일반적으로 프레임이 원래 복사된 부모 프레임입니다. 이 매개 변수는 선택적 요소입니다.

프레임을 해제하고 수신기 프레임과 동일한 메모리 공간에 있는 pframeArgsDest 매개 변수를 지정하는 경우 각 인터페이스 포인터에서 pWalkerCopy 매개 변수만 호출됩니다.

[in] pWalkerDestFree

ICallFrameWalker 인터페이스의 instance 대한 포인터입니다. pframeArgsDest에 및 out 매개 변수가 있는 경우 전파하려면 해당 값을 해제해야 합니다. pWalkerDestFree 개체를 제공하면 인터페이스 포인터가 해제됩니다. pframeArgsDestNULL인 경우 이 매개 변수도 NULL이어야 하며 Release 메서드를 호출하여 인터페이스 포인터를 해제해야 합니다.

[in] pWalkerCopy

ICallFrameWalker 인터페이스의 instance 대한 포인터입니다. pframeArgsDest의 in 및 out 매개 변수가 해제되면 out 매개 변수의 전파가 수행됩니다. 이 매개 변수를 지정하지 않으면 인터페이스 포인터가 AddRef에 전달됩니다. 이 매개 변수는 선택적 요소입니다.

[in] freeFlags

CALLFRAME_FREE 열거형의 플래그입니다.

[in] pWalkerFree

ICallFrameWalker 인터페이스의 instance 대한 포인터입니다. 지정하면 해제하는 동안 발생하는 각 인터페이스 포인터에 대해 콜백이 수행됩니다. 이 매개 변수를 지정하지 않으면 Release 메서드에 의해 인터페이스 포인터가 해제됩니다.

[in] nullFlags

CALLFRAME_NULL 열거형의 플래그입니다.

반환 값

이 메서드는 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

요구 사항

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

추가 정보

ICallFrame