ICallFrame::ReleaseMarshalData 메서드(callobj.h)
마샬링된 데이터 패킷에 있는 인터페이스 포인터에 의해 유지되는 리소스를 해제합니다. 이 메서드는 패킷의 모든 인터페이스 포인터를 찾아 각각 에 대해 CoReleaseMarshalData 함수를 호출합니다.
구문
HRESULT ReleaseMarshalData(
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] ULONG ibFirstRelease,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext
);
매개 변수
[in] pBuffer
마샬링된 [out] 값을 포함하는 버퍼에 대한 포인터입니다.
[in] cbBuffer
버퍼의 크기(바이트)입니다.
[in] ibFirstRelease
해제할 버퍼의 첫 번째 바이트입니다. 값이 0이면 전체 버퍼의 인터페이스 포인터를 해제해야 합니다. 마샬링된 인터페이스 포인터는 다른 메커니즘에 의해 해제된 것으로 간주됩니다.
[in] dataRep
데이터가 마샬링된 데이터 표현입니다.
[in] pcontext
마샬링 해제가 수행되는 방법에 대한 컨텍스트 정보를 포함하는 CALLFRAME_MARSHALCONTEXT 구조체에 대한 포인터입니다.
반환 값
이 메서드는 다음 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
메서드가 완료되었습니다. |
|
예기치 않은 오류가 발생했습니다. |
설명
마샬링된 버퍼에 보관된 리소스를 클린 위해 ReleaseMarshalData 메서드를 정확히 한 번 호출해야 합니다. 그러나 MSHLFLAGS 열거형이 MSHLFLAGS_NORMAL 설정되면 마샬링 해제 중에 자동으로 수행되므로 명시적으로 수행할 필요가 없습니다.
이 메서드는 마샬링된 [in] 및 [out] 매개 변수 모두에서 올바르게 작동할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | callobj.h |