Compartilhar via


Método IADsExtension::P rivateGetIDsOfNames (iads.h)

O método IADsExtension::P rivateGetIDsOfNames é chamado pelo agregador, ADSI, depois que ADSI determina que a extensão é usada para dar suporte a uma interface dupla ou de expedição. O método pode usar os dados de tipo para obter DISPID usando IDispatch::GetIDsOfNames.

Sintaxe

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

Parâmetros

riid

Reservado para uso futuro. Deve ser IID_NULL.

rgszNames

Matriz passada de nomes a serem mapeados.

cNames

Contagem dos nomes a serem mapeados.

lcid

O contexto de localidade no qual interpretar os nomes.

rgDispid

Matriz alocada pelo chamador, cada elemento do qual contém um identificador que corresponde a um dos nomes passados na matriz rgszNames . O primeiro elemento representa o nome do membro. Os elementos subsequentes representam cada um dos parâmetros do membro.

Valor retornado

Os valores retornados são os mesmos do método IDispatch::GetIDsOfNames padrão. Para obter mais informações sobre outros valores retornados, consulte Códigos de erro ADSI.

Comentários

Todos os parâmetros têm o mesmo significado que os correspondentes no IDispatch::GetIDsOfNames(). O componente de extensão retorna um identificador exclusivo (rgDispID) para cada método ou propriedade definida nas interfaces duplas com suporte. A exclusividade é imposta dentro do componente de extensão. O provedor ADSI deve garantir a exclusividade dos DISPIDs de todos os objetos de extensão e do agregador (ADSI) em si. O parâmetro rgDispID deve estar entre 1 e 16777215 (2^24-1) ou -1 (DISPID_UNKNOWN).

Exemplos

O exemplo de código C/C++ a seguir mostra uma implementação genérica desse método.

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);
}

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll

Confira também

Códigos de erro ADSI

IADsExtension

IADsExtension::P rivateInvoke

IDispatch::GetIDsOfNames