関数の戻り値
関数の戻り値は、クライアント アプリケーションによってデータが提供されないため、[ 出力] のみのパラメーターに似ています。 ただし、管理方法は異なります。 [出力] のみのパラメーターとは異なり、ポインターである必要はありません。 リモート プロシージャは、参照ポインターと非カプセル化された共用体を除く任意の有効なデータ型を返すことができます。
ただし、複合データ型の戻り値の代わりに [out] パラメーターを使用することをお勧めします。 複合データ型を返す間、MIDL コンパイラは /Os モード スタブを生成します。 その結果、/robust によって提供された最近のエラー チェック情報はすべて失われます。
ポインター型である関数の戻り値は、 midl_user_allocateの呼び出しでクライアント スタブによって割り当てられます。 したがって、ポインター関数の戻り値の型には、一意または完全なポインター属性のみを適用できます。