インターフェイス (COM)

COM では、次のインターフェイスが提供されます。

インターフェイス 形容
IAccessControlの オブジェクトとオブジェクトのプロパティへのアクセスの管理を有効にします。
IAgileObject インターフェイスをアパートメント全体でアジャイルとしてマークします。
IBindCtxの バインド コンテキストへのアクセスを提供します。これは、特定のモニカー バインド操作に関する情報を格納するオブジェクトです。
IBlockingLock ファイルなどの共有リソースへの一時的な排他的アクセスを提供するために使用できるセマフォを提供します。
ICallFactoryの 非同期インターフェイスのメソッドへの呼び出しを処理するための呼び出しオブジェクトを作成します。
ICallFrameの スタック フレームなどの呼び出しフレームの操作を有効にします。 呼び出しフレームは、プロシージャが呼び出し元に適切に戻ることができるように、プロシージャが保存する必要がある情報の本文です。 呼び出しフレームは、スタックまたはレジスタに存在する可能性があります。 スタック フレームは、呼び出し元のコンテキスト情報をスタックに保持します。
ICallFrameEventsの メソッド呼び出し通知を配信します。
ICallFrameWalkerの 興味深い値を探してスタック フレームをウォークします。
ICallIndirectの 従来の直接呼び出しではなく、呼び出し引数への間接的な参照を持つオブジェクトを呼び出します。
ICallInterceptorの インターフェイスで直接行われた呼び出しの通知を受け取るイベント シンクの登録と登録解除をサポートします。 さらに、このインターフェイスは、呼び出し引数への間接的な参照を使用して呼び出しを実行できる手段を提供します。
ICallUnmarshalをする リモート呼び出しのサーバー (受信側) 側で使用されます。 ICallUnmarshal の適切なインスタンスを使用して、以前にクライアント側の ICallFrame::Marshal の呼び出しによってマーシャリングされたメソッド呼び出しを呼び出しフレームに変換できます。
ICancelMethodCalls 送信メソッド呼び出しのキャンセル要求を管理し、サーバー スレッドでのそのメソッド呼び出しの現在の状態を監視します。
ICatInformationの 特定のクラスによって実装または要求されるカテゴリに関する情報と、指定したコンピューターに登録されているカテゴリに関する情報を取得します。
ICatRegisterの レジストリ内のコンポーネント カテゴリ情報を登録および登録解除するためのメソッドを提供します。 これには、人間が判読できるカテゴリ名と、特定のコンポーネントまたはクラスで実装/必須のカテゴリの両方が含まれます。
IClassActivatorの クラス オブジェクトを取得するメソッドを指定します。
IClassFactoryの オブジェクトのクラスを作成できるようにします。
IClassFactory2の クラス ファクトリ オブジェクトを任意の種類のオブジェクト サーバーで、ライセンスを使用してオブジェクトの作成を制御できるようにします。
IClientSecurityの オブジェクトの各インターフェイス プロキシのセキュリティ設定をクライアントが制御できるようにします。
IComThreadingInfoの 呼び出し元が実行しているアパートメントとスレッドに関する情報 (アパートメントの種類、スレッドの種類、スレッド GUID) を取得できます。 また、スレッド GUID を指定することもできます。
IConnectionPointの 接続可能なオブジェクトの接続ポイントをサポートします。
IConnectionPointContainerの 接続可能なオブジェクトの接続ポイントをサポートします。
IContextの COM+ コンテキスト プロパティの設定をサポートします。
IContextCallbackの 特定の COM+ オブジェクト コンテキスト内で関数を実行するメカニズムを提供します。
IContinueCallbackの 継続するかどうかをオブジェクトに定期的に要求する必要がある割り込み可能なプロセスの汎用コールバック メカニズムを提供します。
IEnumCATIDの カテゴリ識別子を列挙します。
IEnumCLSIDの クラス識別子を列挙します。
IEnumCATEGORYINFOの システムに登録されているコンポーネント カテゴリを列挙します。
IEnumConnectionPointsの 接続ポイントを列挙します。
IEnumConnectionsの 接続可能なオブジェクトの現在の接続を列挙します。
IEnumContextPropsの COM+ オブジェクト コンテキストに関連付けられているコンテキスト プロパティを列挙するためのメカニズムを提供します。
IEnumGUIDの クライアントが COM クラスのクラス ID のコレクションを列挙できるようにします。
IEnumStringの 文字列を列挙します。 LPWSTR は、ワイド文字または Unicode 文字の 0 で終わる文字列へのポインターを示す型です。
IEnumUnknownをする IUnknown インターフェイスを持つオブジェクトを列挙します。 複数のオブジェクトを含むコンポーネント内のオブジェクトを列挙するために使用できます。
IEventPropertyの 名前付きイベント プロパティをその値に関連付けます。
IEventPublisherの イベント 発行元に関する情報を登録、変更、削除、および提供します。
IExternalConnectionの マーシャリングされた外部接続のサーバー オブジェクトの数を管理します。 このような数を保持するサーバーは、外部接続がない場合に検出し、順番にシャットダウンできます。
IFastRundownをする インターフェイスを高速ランダウン動作の対象としてマークします。
IFileBasedLogInitの ILogのファイル ベースの実装のインスタンスを初期化します。
IForegroundTransfer 前景ウィンドウを COM サーバーをホストするプロセスに転送します。
IGlobalInterfaceTableの プロセス内の任意のアパートメントが、プロセス内の他のアパートメント内のオブジェクトに実装されているインターフェイスにアクセスできるようにします。
IGlobalOptionsの COM ランタイムの特定のグローバル プロパティを設定およびクエリします。
IInitializeSpyの COM アパートメントの入退出時に初期化またはクリーンアップを実行します。
IInternalUnknown プロキシ上の一部の内部インターフェイスへのアクセスを必要とする軽量のクライアント側ハンドラーでのみ使用されます。
ILog 一般的な低レベルのログ機能を提供します。
IMallocの メモリの割り当て、解放、管理を行います。
IMallocSpyの アプリケーション開発者は、IMallocメソッドの呼び出しで、メモリの割り当てを監視 (スパイ) したり、メモリ リークを検出したり、メモリ エラーシミュレートしたりできるようにします。
IMarshalをする COM オブジェクトがインターフェイス ポインターのマーシャリングを定義および管理できるようにします。
IMarshalingStreamの カスタム マーシャリングされたオブジェクトとアンマーシャラーへのマーシャリング コンテキストに関する追加情報を提供します。
IMessageFilterの COM サーバーとアプリケーションに、同期呼び出しからの応答を待機している間に、受信および送信 COM メッセージを選択的に処理する機能を提供します。 メッセージのフィルター処理は、パフォーマンスを向上させ、デッドロックを回避する方法で呼び出しを確実に処理するのに役立ちます。 COM メッセージは、同期、非同期、または入力同期にすることができます。インターフェイス呼び出しの大部分は同期的です。
IMonikerをする COM オブジェクトを一意に識別する情報を含むモニカー オブジェクトを使用できます。 モニカー オブジェクトの IMoniker インターフェイスへのポインターを持つオブジェクトは、オブジェクトが分散システム内で実際に配置されている場所に関する他の特定の情報を持たずに、識別されたオブジェクトを検索、アクティブ化、および取得できます。
IMultiQIの 1 つの RPC 呼び出しを使用して、クライアントが複数のインターフェイスのオブジェクト プロキシまたはハンドラーに対してクエリを実行できるようにします。 このインターフェイスを使用すると、IUnknown::QueryInterface を個別に呼び出す代わりに、クライアントはスレッド、プロセス、またはマシンの境界を越える必要がある RPC 呼び出しの数を減らすことができます。そのため、要求されたインターフェイス ポインターを取得するために必要な時間を短縮できます。
IObjContextの コンテキストに対してさまざまな操作を実行します。
IOleItemContainerの アイテム モニカーが識別するオブジェクトにバインドされるときに使用されます。
IOrpcDebugNotifyの リモート デバッグ機能を提供します。
IParseDisplayNameの 表示可能な名前文字列を解析して、カスタム モニカー実装のモニカーに変換します。
IPersist システムに永続的に格納できるオブジェクトの CLSID を提供します。 マーシャリングの既定の実装で使用されるため、クライアント プロセスで使用するオブジェクト ハンドラーをオブジェクトに指定できるようにします。
IPersistFileの ストレージ オブジェクトまたはストリームではなく、ディスク ファイルからオブジェクトを読み込んだり、ディスク ファイルに保存したりできるようにします。
IPersistStorageの コンテナー アプリケーションで、格納されているオブジェクトのいずれかにストレージ オブジェクトを渡し、ストレージ オブジェクトを読み込んで保存できるようにします。
IPersistStreamの 記憶域のニーズに単純なシリアル ストリームを使用するオブジェクトの保存と読み込みを有効にします。
IPersistStreamInitの 初期化メソッドを追加 IPersistStream の置き換え。
IPipeByte バイト型 (8 ビット幅) のデータを転送します。
IPipeDouble double 型 (64 ビット幅) のデータを転送します。
IPipeLongをする long 整数型 (幅 32 ビット) のデータを転送します。
IProcessInitControlの プロセス初期化タイムアウト間隔を指定します。
IProcessLockの タイムアウトが原因でプロセスが終了するのを防ぐために、ISurrogateService によって使用されます。
IProgressNotifyをする アプリケーションやその他のオブジェクトが、ダウンロード操作の進行中の変更の通知を受け取ることができます。
IProvideClassInfoの オブジェクトのタイプ ライブラリ内のコクラス エントリの型情報へのアクセスを提供します。
IProvideClassInfo2の IProvideClassInfoをする拡張機能。これにより、既定のイベント セットのオブジェクトの送信インターフェイス IID を迅速かつ簡単に取得できます。
IProvideMultipleClassInfoの IProvideClassInfo2をする拡張機能。これにより、動作を決定する複数のコクラスがあるコンポーネントから型情報を迅速かつ簡単に取得できます。
IPSFactoryBuffer COM オブジェクト プロキシとスタブを作成するためのカスタム メソッドを提供します。 このインターフェイスはマーシャリングできません。
IROTData 実行中のオブジェクト テーブル (ROT) がモニカーを相互に比較できるようにするためにモニカーによって実装されます。
IRpcChannelBufferの COM クライアント プロキシと COM サーバー スタブの間でデータをマーシャリングします。
IRpcOptionsの 呼び出し元が、COM がリモート プロシージャ コール (RPC) を処理する方法を制御するさまざまなプロパティの値を設定またはクエリできるようにします。
IRpcProxyBufferの COM コンポーネント間でデータをマーシャリングするために使用する RPC プロキシを制御します。
IRpcStubBufferをする COM コンポーネント間でデータをマーシャリングするために使用する RPC スタブを制御します。
IRunnableObjectの コンテナーが埋め込みオブジェクトの実行を制御できるようにします。 ローカル サーバーで実装されたオブジェクトの場合、Run メソッドを呼び出すと、サーバーの.EXE ファイルが起動されます。 インプロセス サーバーで実装されたオブジェクトの場合、Run を呼び出すと、オブジェクト .DLL ファイルが実行中の状態に遷移します。
IRunningObjectTableの 各ワークステーションでグローバルにアクセス可能な検索テーブルである実行中のオブジェクト テーブル (ROT) へのアクセスを管理します。 ワークステーションの ROT は、モニカーによって識別でき、現在ワークステーションで実行されているオブジェクトを追跡します。 クライアントがモニカーをオブジェクトにバインドしようとすると、モニカーは ROT をチェックして、オブジェクトが既に実行されているかどうかを確認します。これにより、モニカーは新しいインスタンスを読み込む代わりに、現在のインスタンスにバインドできます。
IServerSecurityの クライアントの認証とクライアントの偽装の管理に役立つサーバーによって使用されます。
IStdMarshalInfoの 標準マーシャリング中に宛先プロセスで使用されるハンドラーを識別する CLSID を取得します。
ISurrogateをする 新しい DLL サーバーを既存のサロゲートに動的に読み込み、不要になったときにサロゲートを解放するために使用されます。
ISurrogateServiceをする COM+ アプリケーションの初期化、起動、およびリリースに使用されます。 カタログを更新し、プロセスをシャットダウンすることもできます。
ISynchronizeの イベントの発生に関するオブジェクト間の非同期通信を提供します。 ISynchronize実装するオブジェクトは、イベントが発生したことを示す情報を受け取ることができ、イベントに関するクエリに応答できます。 これにより、クライアントは、最初の要求の完了に依存する後続の要求を送信する前に、1 つの要求が処理されていることを確認できます。
ISynchronizeContainerの 署名されていない同期オブジェクトのグループを管理します。
ISynchronizeEventの イベント ハンドルを同期オブジェクトに割り当てます。
ISynchronizeHandleの 同期オブジェクトに関連付けられているハンドルを取得します。
IUnknownをする クライアントは、QueryInterface メソッドを使用して特定のオブジェクト上の他のインターフェイスへのポインターを取得し、AddRef および Releaseメソッドを使用してオブジェクトの存在管理できるようにします。 他のすべての COM インターフェイスは、IUnknownから直接または間接的継承されます。 したがって、IUnknown の 3 つのメソッドは、すべてのインターフェイスの VTable の最初のエントリです。