MULTI_QI structure (objidl.h)

Représente une interface dans une requête pour plusieurs interfaces.

Syntaxe

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

Membres

pIID

Pointeur vers un identificateur d’interface.

pItf

Pointeur vers l’interface demandée dans pIID. Ce membre doit être NULL lors de l’entrée.

hr

Valeur de retour de l’appel QueryInterface pour localiser l’interface demandée. Les valeurs de retour courantes incluent S_OK et E_NOINTERFACE. Ce membre doit être 0 lors de l’entrée.

Remarques

Pour optimiser les performances réseau, la plupart des fonctions d’activation distantes prennent un tableau de structures MULTI_QI plutôt qu’un seul IID comme entrée et un pointeur unique vers l’interface demandée sur l’objet comme sortie, comme le font les fonctions d’activation locales. Cela permet à un ensemble de pointeurs vers des interfaces d’être retournés à partir du même objet en un seul aller-retour vers le serveur. Dans les scénarios réseau, demander plusieurs interfaces au moment de la construction de l’objet peut gagner beaucoup de temps en utilisant un certain nombre d’appels à QueryInterface pour des interfaces uniques, chacune nécessitant un aller-retour vers le serveur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
En-tête objidl.h (inclure Objidl.h)

Voir aussi

CoCreateInstanceEx

CoGetInstanceFromFile

CoGetInstanceFromIStorage

IMultiQI