インターフェイス (COM)

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

Interface 説明
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 クライアントが単一の RPC 呼び出しを使用して、複数のインターフェイスのオブジェクト プロキシまたはハンドラーをクエリできるようにします。 このインターフェイスを使用することで、IUnknown::QueryInterface への個別の呼び出しに依存する代わりに、クライアントはスレッド、プロセス、またはマシンの境界を越える必要がある RPC 呼び出しの数を減らすことができるため、要求されたインターフェイス ポインターを取得するために必要な時間を削減できます。
IObjContext コンテキストに対してさまざまな操作を実行します。
IOleItemContainer アイテム モニカーが識別するオブジェクトにバインドされるときに使用されます。
IOrpcDebugNotify リモート デバッグ機能を提供します。
IParseDisplayName 表示可能な名前文字列を解析して、カスタム モニカー実装のモニカーに変換します。
IPersist システムに永続的に格納できるオブジェクトの CLSID を提供します。 マーシャリングの既定の実装で使用されるように、オブジェクトがクライアント プロセスで使用するオブジェクト ハンドラーを指定できるようにします。
IPersistFile ストレージ オブジェクトまたはストリームではなく、ディスク ファイルからオブジェクトを読み込んだり、ディスク ファイルに保存したりできるようにします。
IPersistStorage コンテナー アプリケーションが、それに含まれるオブジェクトの 1 つにストレージ オブジェクトを渡し、そのストレージ オブジェクトを読み込んで保存できるようにします。
IPersistStream 記憶域のニーズに単純なシリアル ストリームを使用するオブジェクトの保存と読み込みを有効にします。
IPersistStreamInit 初期化メソッドを追加する IPersistStream の置き換えです。
IPipeByte バイト型 (8 ビット幅) のデータを転送します。
IPipeDouble double 型 (64 ビット幅) のデータを転送します。
IPipeLong 長整数型 (幅 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 の最初のエントリです。