Client-Side 파이프 구현
클라이언트 애플리케이션은 데이터 전송 중에 클라이언트 스텁이 호출할 다음 절차를 구현해야 합니다.
- 끌어오기 프로시저(입력 파이프의 경우)
- 푸시 프로시저(출력 파이프의 경우)
- 전송 데이터에 대한 버퍼를 할당하는 할당 프로시저
이러한 모든 프로시저는 MIDL 생성 헤더 파일에 지정된 인수를 사용해야 합니다. 또한 클라이언트 애플리케이션에는 데이터를 찾거나 배치할 위치를 식별하는 상태 변수가 있어야 합니다.
할당 프로시저는 필요에 따라 간단하거나 복잡할 수도 있습니다. 예를 들어 스텁이 함수를 호출할 때마다 동일한 버퍼에 대한 포인터를 반환하거나 매번 다른 양의 메모리를 할당할 수 있습니다. 데이터가 이미 적절한 형식(예: 파이프 요소의 배열)인 경우 끌어오기 프로시저와 할당 프로시저를 조정하여 이미 데이터가 포함된 버퍼를 할당할 수 있습니다. 이 경우 끌어오기 프로시저는 빈 루틴일 수 있습니다.
버퍼 할당은 바이트 단위여야 합니다. 반면에 밀어넣기 및 끌어오기 프로시저는 정의 방법에 따라 크기가 바이트 단위인 요소를 조작합니다.
이 섹션에서는 다음 섹션에서 입력 및 출력 파이프의 클라이언트 구현에 대해 설명합니다.