[in, string] 및 [out, string] 프로토타입

다음 함수 프로토타입은 [in, string] 매개 변수와 [out, string] 매개 변수라는 두 개의 매개 변수를 사용합니다.

void Analyze(
    [in, string]                       *pszInput,
    [out, string, size_is(STRSIZE)]    *pszOutput);

첫 번째 매개 변수는 [in]에만 해당합니다. 이 입력 문자열은 클라이언트에서 서버로만 전송됩니다. 서버는 이를 추가 처리의 기초로 사용합니다. 문자열은 수정되지 않으며 클라이언트에서 다시 필요하지 않으므로 클라이언트에 반환할 필요가 없습니다.

의사의 응답을 나타내는 두 번째 매개 변수는 [out]만입니다. 이 응답 문자열은 서버에서 클라이언트로만 전송됩니다. 서버 스텁이 메모리를 할당할 수 있도록 할당 크기가 제공됩니다. pszOutput은 [ref] 포인터이므로 호출 전에 클라이언트에 문자열에 할당된 충분한 메모리가 있어야 합니다. 원격 프로시저가 반환되면 응답 문자열이 이 메모리 영역에 기록됩니다.