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 |