次の方法で共有


MULTI_QI 構造体 (objidl.h)

複数のインターフェイスのクエリ内のインターフェイスを表します。

構文

typedef struct tagMULTI_QI {
  const IID *pIID;
  IUnknown  *pItf;
  HRESULT   hr;
} MULTI_QI;

メンバー

pIID

インターフェイス識別子へのポインター。

pItf

pIID で要求されたインターフェイスへのポインター。 このメンバーは、入力時に NULL である必要があります。

hr

要求されたインターフェイスを検索するための QueryInterface 呼び出しの戻り値。 一般的な戻り値には、S_OKとE_NOINTERFACEが含まれます。 このメンバーは、入力時に 0 である必要があります。

注釈

ネットワーク パフォーマンスを最適化するために、ほとんどのリモート アクティブ化関数は、入力として単一の IID ではなく 、MULTI_QI 構造体の配列を受け取り、ローカル アクティブ化関数と同様に、オブジェクト上の要求されたインターフェイスへの単一のポインターを出力として受け取ります。 これにより、インターフェイスへのポインターのセットを、サーバーへの 1 回のラウンド トリップで同じオブジェクトから返すことができます。 ネットワーク シナリオでは、オブジェクトの構築時に複数のインターフェイスを要求すると、一意のインターフェイスに 対して QueryInterface への多数の呼び出しを使用する場合よりもかなりの時間を節約できます。各インターフェイスでは、サーバーへのラウンドトリップが必要になります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
Header objidl.h (Objidl.h を含む)

こちらもご覧ください

CoCreateInstanceEx

CoGetInstanceFromFile

CoGetInstanceFromIStorage

IMultiQI