Condividi tramite


Metodo IADs::GetInfoEx (iads.h)

Il metodo IADs::GetInfoEx carica i valori delle proprietà specificate dell'oggetto ADSI dall'archivio directory sottostante nella cache delle proprietà.

Sintassi

HRESULT GetInfoEx(
  [in] VARIANT vProperties,
  [in] long    lnReserved
);

Parametri

[in] vProperties

Matrice di voci di stringa Unicode con terminazione null che elencano le proprietà da caricare nella cache delle proprietà di Active Directory. Ogni nome di proprietà deve corrispondere a uno nella definizione della classe dello schema dell'oggetto.

[in] lnReserved

Riservato per utilizzi futuri. Deve essere impostato su zero.

Valore restituito

Questo metodo supporta i valori restituiti standard, nonché i seguenti.

Per altre informazioni, vedere Codici di errore ADSI.

Commenti

Il metodo IADs::GetInfoEx sovrascrive tutti i valori memorizzati nella cache delle proprietà specificate con quelli presenti nell'archivio directory. Pertanto, tutte le modifiche apportate alla cache verranno perse se IADs::SetInfo non è stato richiamato prima della chiamata a IADs::GetInfoEx.

Usare IADs::GetInfoEx per aggiornare i valori della proprietà selezionata nella cache delle proprietà di un oggetto ADSI. Usare IADs::GetInfo per aggiornare tutti i valori delle proprietà.

Per un oggetto contenitore ADSI, IADs::GetInfoEx memorizza nella cache solo i valori delle proprietà del contenitore, ma non quelli degli oggetti figlio.

Esempio

Nell'esempio di codice seguente viene illustrato come usare IADs::GetInfoEx per ottenere i valori delle proprietà selezionate, presupponendo che i valori delle proprietà desiderati siano disponibili nella directory.

Dim x As IADs
On Error GoTo Cleanup

Set x = GetObject("LDAP://CN=JeffSmith,CN=Users,DC=Fabrikam,DC=com")
 
' Retrieve givenName and sn from the underlying directory storage.
' Cache should have givenName and sn values.
x.GetInfoEx Array("givenName", "sn"), 0 
Debug.Print x.Get("givenName")  ' Property is in the cache.
Debug.Print x.Get("sn")         ' Property is in the cache.
 
' If the "homePhone" property is not in the cache (in the next line), 
' GetInfo is called implicitly.
Debug.Print x.Get("homePhone")

Cleanup:
   If(Err.Number<>0) Then
      MsgBox("An error has occurred. " & Err.Number);
   End If

   Set x = Nothing

Nell'esempio di codice seguente viene illustrato come usare IADs::GetInfoEx per ottenere i valori delle proprietà selezionate, presupponendo che i valori delle proprietà desiderati siano disponibili nella directory. Per brevità, il controllo degli errori è stato omesso.

IADs *pADs = NULL;
VARIANT var;
HRESULT hr = S_OK;
 
hr = ADsGetObject(L"WinNT://somecomputer,computer",
                  IID_IADs,
                  (void**)&pADs);

if(!(hr==S_OK)){return hr;} 

VariantInit(&var);
 
// Get "Owner" and "Division" attribute values.
LPWSTR pszAttrs[] = { L"Owner", L"Division" };
DWORD dwNumber = sizeof( pszAttrs ) /sizeof(LPWSTR);
hr = ADsBuildVarArrayStr( pszAttrs, dwNumber, &var );
hr = pADs->GetInfoEx(var, 0);
VariantClear(&var);
 
hr = pADs->Get(CComBSTR("Division"), &var);  
printf("    division   = %S\n", V_BSTR(&var));
VariantClear(&var);
hr = pADs->Get(CComBSTR("Owner"), &var);
printf("    owner      = %S\n", V_BSTR(&var));
VariantClear(&var);

if(pADs)
   pADs->Release();


Requisiti

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

Vedi anche

ID

ID::GetInfo

ID::SetInfo

Cache delle proprietà