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