IDL 属性

従来.idl ファイルを維持する必要があることを意味しています :

  • 変更できるように.idl ファイルの構造と構文を使い慣れている。

  • .idl ファイルにある要素を変更するウィザードを使用します。

ここではVisual C++ の IDL 属性を使用してソース・コード ファイルの .idl ファイル内でを変更できます。 多くの場合Visual C++ の IDL 属性に MIDL の属性と同じ名前になります。 Visual C++ の IDL 属性名と MIDL の属性は同じである場合同じ名の MIDL の属性を含む .idl ファイルのソース・コード ファイルにはVisual C++ 属性を配置できるようになることを意味します。 ただしVisual C++ の IDL 属性は属性のすべての機能を提供しないものもあります。

COM 属性 に使用しない場合IDL 属性はインターフェイスを定義することもできます。 ソース・コードをコンパイルするときに作成された .idl ファイルを定義するには属性を使用します。 IDL 属性はATL プロジェクトで COM 属性を使用すると コクラス などコードをプロジェクトに挿入します。

idl_quote はVisual C++ の現在のバージョンでサポートされていない MIDL の構造を使用できることに注意してください。 importlibincludelib のヘルプなどこれとそのほかの属性現在の Visual C++ である .idl ファイルを使用するプロジェクト。

属性

Description

aggregatable

コントロールを別のコントロールによって集約できることを示します。

appobject

コクラスを完全な EXE のアプリケーションに関連付けられている特定しコクラスの関数とプロパティがこのタイプ ライブラリでグローバルに使用できるオブジェクトとしてアプリケーションを示します。

async_uuid

MIDL コンパイラの COM インターフェイスを同期的および非同期バージョンを定義するように指示する UUID を指定します。

bindable

プロパティがデータ連結をサポートすることを示します。

call_as

リモート関数にマップするリモート関数を有効にします。

case

共用体で switch_type の属性を使用します。

コクラス

コクラスとして .idl ファイルの場所のクラス定義。

コントロール

ユーザー定義型はコントロールであることを指定します。

cpp_quote

生成されるヘッダー ファイルに引用符なしで指定された文字列を生成します。

defaultbind

最適なオブジェクトを表すを一つの連結できるプロパティを示します。

defaultcollelem

Visual Basic コードの最適化に使用されます。

defaultvalue

指定された省略可能なパラメーターの既定値を指定できます。

default

コクラス内で定義されるカスタムまたはディスパッチ インターフェイスが既定のプログラミング インターフェイスを表すことを示します。

defaultvtable

コントロールの既定の vtable インターフェイスとインターフェイスを定義します。

dispinterface

ディスパッチ インターフェイスとして .idl ファイルを配置します。

displaybind

バインドできるようにユーザーに表示するプロパティを示します。

dual

デュアル インターフェイスとして .idl ファイルを配置します。

エントリ

DLL のエントリ ポイントを指定してモジュール内のエクスポート関数または定数を指定します。

first_is

送信される最初の要素のインデックスを指定します。

helpcontext

ヘルプ ファイルに要素に関するユーザーの情報を表示できるようにするためのコンテキスト ID を指定します。

helpfile

タイプ ライブラリのヘルプ ファイルの名前を設定します。

helpstringcontext

.hlp または .chm ファイルでヘルプ トピックの ID を指定します。

helpstringdll

DLL の名前を文書内の文字列の参照 (ローカリゼーション) を実行するように指定します。

helpstring

適用先の要素の記述に使用される文字列を指定します。

hidden

項目が存在してもユーザー指向ブラウザーに表示されないことを示します。

idl_module

DLL のエントリ ポイントを指定します。

idl_quote

Visual C++ の現在のバージョンでサポートされていない属性を使用するまたは IDL の構造体。

id

メンバー関数 (インターフェイスのプロパティまたはメソッドまたはディスパッチ インターフェイス) に DISPID を指定します。

iid_is

指す COM インターフェイスの IID をインターフェイス ポインターを指定します。

immediatebind

データベースにデータ バインド オブジェクトのプロパティに対するすべての変更がすぐに通知されることを示します。

importlib

作成されたタイプ ライブラリに別のタイプ ライブラリで使用できるようにコンパイル済みの型を作成します。

import

主要な .idl ファイルから参照する定義を含む別の .idl.odlまたはヘッダー ファイルを指定します。

必要

生成された .idl ファイルに含める一つ以上のヘッダー ファイルを指定します。

includelib

生成された .idl ファイルに含める .idl ファイルまたは .h ファイルを指定します。

[in]

パラメーターが呼び出し元のプロシージャから呼び出し先のプロシージャに渡す必要があることを示します。

last_is

送信する最後の要素のインデックスを指定します。

lcid

関数にロケール ID を渡すことができます。

length_is

送信される配列要素の数を指定します。

Licensed

これを適用するコクラスはライセンスされたコントロール IClassFactory2 を使用してをインスタンス化する必要があります。

local

インターフェイスのヘッダーで使用するとヘッダーのジェネレーターとして MIDL コンパイラを使用できます。 個々の関数ではスタブが生成されないローカル プロシージャを指定します。

max_is

有効な配列インデックスの最大値を指定します。

module

.idl ファイルのライブラリ ブロックを定義します。

ms_union

nonencapsulated 共用体のネットワーク データ表現の配置を制御します。

no_injected_text

コンパイラで属性を使用した結果としてコードを挿入できません。

nonbrowsable

インターフェイス メンバーをプロパティ ブラウザーに表示されないことを示します。

作成

単独ではインスタンス化できないオブジェクトを定義します。

nonextensible

IDispatch のインターフェイスを実装の詳細に示すプロパティとメソッドのみを含め実行時のメンバーによって拡張することができないことを指定します。

object

カスタム インターフェイスを識別します ; カスタム属性と同じ意味です。

odl

オブジェクト記述言語のインターフェイスとしてインターフェイスを (ODL) 識別します。

oleautomation

インターフェイスはオートメーションとの互換性があることを示します。

省略可能

メンバー関数に省略可能なパラメーターを指定します。

[out]

呼び出し先のプロシージャから呼び出し元のプロシージャから返されたポインターのパラメーターを識別します (サーバーからクライアントに)。

pointer_default

パラメーター リストに表示される最上位のポインターを除くすべての既定のポインターの属性を指定します。

プラグマ

生成された .idl ファイルに引用符なしで指定された文字列を生成します。

ProgID

COM オブジェクトに ProgID を指定します。

propget

プロパティ アクセサー (取得関数) を指定します。

propputref

値ではなく参照を使用するプロパティ設定の関数を指定します。

propput

プロパティ設定の関数を指定します。

ptr

完全なポインターとしてポインターを指定します。

public

.idl ファイル内で参照されていない場合でも型定義をタイプ ライブラリに入ることを確認します。

範囲

値が実行時に設定されたフィールドまたは引数に許可される値の範囲を指定します。

readonly

変数に代入を禁止します。

ref

参照のポインターを指定します。

requestedit

プロパティが OnRequestEdit 通知をサポートすることを示します。

restricted

モジュールインターフェイスまたはディスパッチ インターフェイス ライブラリまたはメンバーを任意に呼び出すことができないことを指定します。

retval

メンバーの戻り値を受け取るパラメーターを指定します。

size_is

付きサイズポインター サイズ設定されたポインター用に設定されたポインター サイズおよび単一または多次元配列に割り当てられているメモリのサイズを指定します。

source

クラスプロパティまたはメソッドのメンバーがイベントのソースであることを示します。

string

配列の 1 番 charwchar_t バイト または同等の配列またはポインターが文字列のように扱うことを示します。

switch_is

discriminant クラスを選択する共用体として機能する式または識別子を指定します。

switch_type

discriminant 共用体として使用されている変数の型を指定します。

transmit_as

コンパイラにクライアント アプリケーションとサーバー アプリケーションが処理する転送された型と指定の型に関連付けるように指示します。

uidefault

型情報のメンバーがユーザー インターフェイスの既定のメンバーであることを示します。

一意

一意のポインターを指定します。

usesgetlasterror

この関数を呼び出すとエラー コードを取得するために呼び出し元はGetLastError を呼び出すことができるエラーがある場合は呼び出し元が表示されます。

uuid

クラスまたはインターフェイスの一意の ID を指定します。

v1_enum

指定した列挙体が16 ビットの既定値ではなく 32 ビット エンティティとして送信されることを指定します。

vararg

関数が引数の数が可変であることを指定します。

vi_progid

ProgID のバージョンに依存しない形式を指定します。

wire_marshal

アプリケーション固有のデータ型の代わりに転送に使用されるデータ型を指定します。

参照

概念

属性に関する制限事項 [リダイレクト]

その他の技術情報

グループ別の属性