다음을 통해 공유


프로시저 직렬화

프로시저 serialization을 사용하면 프로시저에 [인코딩] 또는 [디코딩] 특성이 레이블이 지정됩니다. 컴파일러는 일반적인 원격 스텁을 생성하는 대신 루틴에 대한 serialization 스텁을 생성합니다.

원격 프로시저가 바인딩 핸들을 사용하여 원격 호출을 수행해야 하는 것처럼 serialization 프로시저는 serialization 핸들을 사용하여 serialization 서비스를 사용해야 합니다. serialization 핸들을 지정하지 않으면 기본 암시적 핸들이 호출을 지시하는 데 사용됩니다. 반면에 serialization 핸들이 루틴의 명시적 handle_t 인수로 지정되거나 [explicit_handle] 특성을 사용하여 지정된 경우 호출의 인수로 유효한 핸들을 전달해야 합니다. 유효한 serialization 핸들을 만드는 방법에 대한 자세한 내용은 Serialization 핸들, 고정 버퍼 인코딩 예제증분 인코딩 예제를 참조하세요.

참고

Microsoft RPC를 사용하면 원격 및 직렬화 프로시저를 하나의 인터페이스에 혼합할 수 있습니다. 그러나 이렇게 할 때는 주의해야 합니다.

암시적 바인딩 핸들이 있는 원격 프로시저의 경우 MIDL 컴파일러는 handle_t 형식의 전역 핸들 변수를 생성합니다. 암시적 serialization 핸들이 있는 프로시저 및 형식은 동일한 전역 핸들 변수를 사용합니다.

암시적 핸들의 경우 원격 호출 전에 전역 암시적 핸들을 유효한 바인딩 핸들로 설정해야 합니다. 암시적 핸들은 serialization 호출 전에 유효한 serialization 핸들로 설정해야 합니다. 따라서 프로시저를 원격 및 직렬화할 수 없습니다. 하나 또는 다른 항목이어야 합니다.