次の関数プロトタイプでは、2 つのパラメーターを使用します。[の、文字列] パラメーター、および [out, 文字列] パラメーターです。
void Analyze(
[in, string] *pszInput,
[out, string, size_is(STRSIZE)] *pszOutput);
1 つ目のパラメーターは [で] のみです。 この入力文字列は、クライアントからサーバーにのみ送信されます。 サーバーは、それを追加処理の基礎として使用します。 文字列は変更されず、クライアントによって再度必要とされないため、クライアントに返す必要はありません。
医師の応答を表す 2 番目のパラメーターは、[アウト] のみです。 この応答文字列は、サーバーからクライアントにのみ送信されます。 割り当てサイズは、サーバー スタブがメモリを割り当てることができるように提供されます。 pszOutput は [ref] ポインターであるため、クライアントは呼び出しの前に文字列に十分なメモリを割り当てる必要があります。 応答文字列は、リモート プロシージャが戻るときに、このメモリ領域に書き込まれます。