次の方法で共有


暗黙的なハンドルと明示的なハンドル

シリアル化ハンドルを宣言するには、プリミティブ ハンドル型 handle_tを使用します。 シリアル化ハンドルは、明示的または暗黙的にすることができます。 [implicit_handle] 属性を使用して、アプリケーションの ACF で暗黙的なハンドルを指定します。 MIDL コンパイラは、グローバル シリアル化ハンドル変数を生成します。 暗黙的なハンドルを持つシリアル化プロシージャは、有効なシリアル化コンテキストにアクセスするために、このグローバル変数を使用します。

型エンコードを使用する場合、特定の型のシリアル化をサポートする生成されたルーチンは、グローバル暗黙的ハンドルを使用してシリアル化コンテキストにアクセスします。 リモート ルーチンでは、バインディング ハンドルとして暗黙的なハンドルを使用する必要がある場合があることに注意してください。 シリアル化呼び出しを行う前に、暗黙的なハンドルが有効なシリアル化ハンドルに設定されていることを確認してください。

明示的なハンドルは、IDL ファイル内のシリアル化プロシージャ プロトタイプのパラメーターとして指定するか、ACF の [explicit_handle] 属性を使用して指定することもできます。 明示的なハンドル パラメーターは、プロシージャの適切なシリアル化コンテキストを確立するために使用されます。 型のシリアル化の場合に正しいコンテキストを確立するために、コンパイラは、シリアル化ハンドルとして明示的な handle_t パラメーターを使用するサポート ルーチンを生成します。 シリアル化プロシージャまたはシリアル化型のサポート ルーチンを呼び出すときは、有効なシリアル化ハンドルを指定する必要があります。