Condividi tramite


Metodo IADsExtension::P rivateGetIDsOfNames (iads.h)

Il metodo IADsExtension::P rivateGetIDsOfNames viene chiamato dall'aggregatore, ADSI, dopo che ADSI determina che l'estensione viene usata per supportare un'interfaccia duale o dispatch. Il metodo può usare i dati di tipo per ottenere DISPID usando IDispatch::GetIDsOfNames.

Sintassi

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

Parametri

riid

Riservato per utilizzi futuri. Deve essere IID_NULL.

rgszNames

Matrice di nomi passata di cui eseguire il mapping.

cNames

Conteggio dei nomi di cui eseguire il mapping.

lcid

Contesto delle impostazioni locali in cui interpretare i nomi.

rgDispid

Matrice allocata dal chiamante, ogni elemento di che contiene un identificatore che corrisponde a uno dei nomi passati nella matrice rgszNames . Il primo elemento rappresenta il nome del membro. Gli elementi successivi rappresentano ognuno dei parametri del membro.

Valore restituito

I valori restituiti corrispondono a quelli del metodo IDispatch::GetIDsOfNames standard. Per altre informazioni sugli altri valori restituiti, vedere Codici di errore ADSI.

Commenti

Tutti i parametri hanno lo stesso significato di quelli corrispondenti nello standard IDispatch::GetIDsOfNames(). Il componente di estensione restituisce un identificatore univoco (rgDispID) per ogni metodo o proprietà definita nelle interfacce duali supportate. L'univocità viene applicata all'interno del componente di estensione. Il provider ADSI deve garantire l'univocità dei DISPID di tutti gli oggetti di estensione e l'aggregatore stesso (ADSI). Il parametro rgDispID deve essere compreso tra 1 e 16777215 (2^24-1) o -1 (DISPID_UNKNOWN).

Esempio

L'esempio di codice C/C++ seguente illustra un'implementazione generica di questo metodo.

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

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll

Vedi anche

Codici di errore ADSI

IADsExtension

IADsExtension::P rivateInvoke

IDispatch::GetIDsOfNames