다음을 통해 공유


type_UserFree 함수

<type>_UserFree 함수는 [ wire_marshal] 및 [user_marshal] 특성에 대한 도우미 함수입니다. 스텁은 이 함수를 호출하여 서버 쪽에서 데이터를 해제합니다. 함수는 다음과 같이 정의됩니다.

void __RPC_USER  <type>_UserFree(
    unsigned long __RPC_FAR * pFlags,
    <type_name>  __RPC_FAR *  pMyObj );

함수 이름의 형식>은 <[wire_marshal] 또는 [user_marshal] 형식 정의에 지정된 userm-type을 의미합니다.

pFlags 매개 변수는 서명되지 않은 긴 플래그 필드에 대한 포인터입니다. 플래그의 위쪽 단어에는 부동 소수점, 바이트 순서 및 문자 표현에 대해 OSF DCE에서 정의한 NDR 데이터 표현 플래그가 포함됩니다. 아래쪽 단어에는 COM 채널에서 정의한 대로 마샬링 컨텍스트 플래그가 포함됩니다. 필드 내 플래그의 정확한 레이아웃은 type_UserSize 함수에 설명되어 있습니다.

pMyObj 매개 변수는 사용자 형식 개체에 대한 포인터입니다. NDR 엔진은 최상위 개체를 해제합니다. 최상위 개체가 가리킬 수 있는 개체를 해제해야 합니다.

예외를 catch하고 로컬로 처리해야 합니다. 예외가 호출 스택을 전파할 수 없어야 합니다.

user_marshal 및 wire_marshal 대한 마샬링 규칙

wire_marshal

user_marshal