local 属性

[local] 属性は、インターフェイスまたは関数がリモートではないことを MIDL コンパイラに指定します。

[ 
    local 
    [, interface-attribute-list] 
] 
interface interface-name
{
}

[ 
    object, 
    uuid(string-uuid), 
    local [, interface-attribute-list] 
]
interface interface-name
{
}

[ local [, function-attribute-list] ] function-declarator ;

パラメーター

interface-attribute-list

インターフェイス全体に適用される他の属性を指定します。 属性 [endpoint][version]、および [pointer_default] は省略可能です。 /app_config スイッチを使用してコンパイルする場合、[implicit_handle] または [auto_handle] を指定することもできます。 複数の属性をコンマで区切ります。

interface-name

ソフトウェア コンポーネントがインターフェイスを示す名前を指定します。

string-uuid

Uuidgen ユーティリティによって生成される UUID 文字列を指定します。 MIDL コンパイラ スイッチ /osf を使用していない場合は、UUID 文字列を引用符で囲むことができます。

function-attribute-list

関数に適用される 0 個以上の属性を指定します。 有効な関数属性は [callback];ポインター属性 [ref][unique]、または [ptr];と usage 属性 [string][ignore]、および [context_handle]。 複数の属性をコンマで区切ります。

function-declarator

関数の型指定子、関数名、およびパラメーター リストを指定します。

解説

[local] 属性は、個々の関数またはインターフェイス全体に適用できます。

インターフェイス ヘッダーで [ local] 属性を使用すると、MIDL コンパイラをヘッダー ジェネレーターとして使用できます。 コンパイラは関数のスタブを生成せず、ヘッダーを確実に送信することはできません。

RPC インターフェイスの場合、[ local] 属性を [uuid] 属性と同時に使用することはできません。 インターフェイス ヘッダーには [uuid] または [local] が 存在する必要があり、選択したヘッダーは 1 回だけ実行する必要があります。

COM インターフェイス ([object] インターフェイス属性で識別) の場合、[uuid] 属性が存在する場合でも、インターフェイス属性リストに [local] 属性を含めることができます。

[ local] 属性は、個々の関数で使用する場合、スタブが生成されないローカル プロシージャを指定します。 関数属性として [local] を 使用することは、DCE IDL に対する Microsoft 拡張機能です。 したがって、MIDL /osf スイッチを使用してコンパイルする場合、この属性は使用できません。

属性のないインターフェイスは、ベース IDL ファイルにインポートできることに注意してください。 ただし、インターフェイスには、プロシージャのないデータ型のみを含める必要があります。 1 つのプロシージャがインターフェイスに含まれている場合は、ローカル属性または UUID 属性を指定する必要があります。

/* IDL file #1 */ 
[
    local
] 
interface local_procs 
{ 
    void MyLocalProc(void);
} 
 
/* IDL file #2 */ 
[
    object, 
    uuid(12345678-1234-1234-123456789ABC), 
    local
] 
interface local_object_procs : IUnknown
{ 
    void MyLocalObjectProc(void);
} 
 
/* IDL file #3 */ 
[
    uuid(87654321-1234-1234-123456789ABC)
] 
interface mixed_procs 
{ 
    [local] void MyLocalProc(void); 
    HRESULT MyRemoteProc([in] short sParam); 
}

関連項目

/app_config

auto_handle

コールバック (callback)

context_handle

エンドポイント

インターフェイス定義 (IDL) ファイル

無視

implicit_handle

/Osf

オブジェクト

pointer_default

Ptr

参考

文字列

一意

uuid

version