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 |