次の方法で共有


type_UserFree関数

<型>_UserFree 関数は、[ wire_marshal] 属性と [ user_marshal] 属性のヘルパー関数です。 スタブはこの関数を呼び出して、サーバー側のデータを解放します。 この関数は次のように定義されます。

void __RPC_USER  <type>_UserFree(
    unsigned long __RPC_FAR * pFlags,
    <type_name>  __RPC_FAR *  pMyObj );

関数名に><型は、[wire_marshal] または [user_marshal] 型定義で指定された userm 型を意味します。

pFlags パラメーターは、符号なし長 フラグ フィールドへのポインターです。 フラグの上の単語には、浮動小数点、バイト順、および文字表現の OSF DCE で定義されている NDR データ表現フラグが含まれています。 下の単語には、COM チャネルで定義されているマーシャリング コンテキスト フラグが含まれています。 フィールド内のフラグの正確なレイアウトについては、「type_UserSize関数 で説明されています。

pMyObj パラメーターは、ユーザー型オブジェクトへのポインターです。 NDR エンジンは、最上位レベルのオブジェクトを解放します。 最上位のオブジェクトがポイントする可能性のあるオブジェクトを解放する責任があります。

例外をキャッチしてローカルで処理する必要があります。例外は呼び出し履歴を割り当てることはできません。

user_marshalとwire_marshal のマーシャリング規則を する

wire_marshal

user_marshal