auto_handle属性
[auto_handle] ACF 属性は、明示的な binding-handle パラメーターを持たない関数のバインドを自動的に確立するようにスタブに指示します。
注意
この属性は廃止され、サポートされなくなりました。 /robust スイッチを使用することをお勧めします。
[
auto_handle [, interface-attribute-list]
]
interface interface-name
{
interface-definition
}
パラメーター
-
interface-attribute-list
-
コードや nocode など、インターフェイス全体に適用される 0 個以上の属性を指定します。 インターフェイス属性はコンマで区切ります。
-
interface-name
-
インターフェイスの名前を指定します。
-
interface-definition
-
インターフェイスの定義を形成する IDL ステートメントを指定します。
解説
[auto_handle] 属性は、ACF のインターフェイス ヘッダーに表示されます。 また、MIDL コンパイラ スイッチ /app_config を指定すると、IDL ファイルのインターフェイス ヘッダーにも表示されます。
クライアントが自動バインドを使用する関数を呼び出し、サーバーへのバインドが存在しない場合、スタブによってバインディングが自動的に確立されます。 バインディングは、自動バインドを使用するインターフェイス内の他の関数への後続の呼び出しに再利用されます。 クライアント アプリケーション プログラムは、バインディング ハンドルに関連する処理を宣言または実行する必要はありません。
ACF が存在しない場合、または [implicit_handle] 属性が含まれていない場合、MIDL コンパイラは [auto_handle] を 使用して情報メッセージを発行します。 MIDL コンパイラでは、 必要に応じて [auto_handle] を使用して 、[context_handle] の初期バインディングを確立します。
[auto_handle] 属性は、[implicit_handle] 属性または [explicit_handle] 属性が発生しない場合にのみ発生します。 [auto_handle] 属性は、ACF または IDL インターフェイス ヘッダーで最大で 1 回だけ発生する可能性があります。
注意
パイプを介してデータを処理する場合は、自動バインド ( [auto_handle] 属性を使用するか、既定で) を使用することはできません。
例
[
auto_handle
]
interface MyInterface
{
/* Interface definition goes here*/
}
[
auto_handle,
code
]
interface MyInterface
{
/* Interface definition goes here*/
}
関連項目