Partager via


MÉTHODE IADsExtension::P rivateGetIDsOfNames (iads.h)

La méthode IADsExtension::P rivateGetIDsOfNames est appelée par l’agrégateur, ADSI, une fois qu’ADSI a déterminé que l’extension est utilisée pour prendre en charge une interface double ou de répartition. La méthode peut utiliser les données de type pour obtenir DISPID à l’aide de IDispatch::GetIDsOfNames.

Syntaxe

HRESULT PrivateGetIDsOfNames(
  REFIID       riid,
  OLECHAR      **rgszNames,
  unsigned int cNames,
  LCID         lcid,
  DISPID       *rgDispid
);

Paramètres

riid

Réservé pour un usage futur. Il doit être IID_NULL.

rgszNames

Tableau passé des noms à mapper.

cNames

Compte des noms à mapper.

lcid

Contexte des paramètres régionaux dans lequel interpréter les noms.

rgDispid

Tableau alloué par l’appelant, chaque élément de contenant un identificateur qui correspond à l’un des noms passés dans le tableau rgszNames . Le premier élément représente le nom du membre. Les éléments suivants représentent chacun des paramètres du membre.

Valeur retournée

Les valeurs de retour sont les mêmes que celles de la méthode IDispatch::GetIDsOfNames standard. Pour plus d’informations sur les autres valeurs de retour, consultez Codes d’erreur ADSI.

Notes

Tous les paramètres ont la même signification que ceux correspondants dans la norme IDispatch::GetIDsOfNames(). Le composant d’extension retourne un identificateur unique (rgDispID) pour chaque méthode ou propriété définie dans les interfaces doubles prises en charge. L’unicité est appliquée dans le composant d’extension. Le fournisseur ADSI doit garantir l’unicité des DISPID de tous les objets d’extension et de l’agrégateur (ADSI) lui-même. Le paramètre rgDispID doit être compris entre 1 et 16777215 (2^24-1) ou -1 (DISPID_UNKNOWN).

Exemples

L’exemple de code C/C++ suivant montre une implémentation générique de cette méthode.

STDMETHOD(PrivateGetIDsOfNames)(REFIID riid, OLECHAR ** rgszNames, unsigned int cNames, LCID lcid, DISPID  * rgdispid)
{
  if (rgdispid == NULL)
  {
     return E_POINTER;
  }
  return  DispGetIDsOfNames(m_pTypeInfo, rgszNames, cNames, rgdispid);
}

Configuration requise

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête iads.h
DLL Activeds.dll

Voir aussi

Codes d’erreur ADSI

IADsExtension

IADsExtension::P rivateInvoke

IDispatch::GetIDsOfNames