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