IADs::GetInfoEx-Methode (iads.h)
Die IADs::GetInfoEx-Methode lädt die Werte der angegebenen Eigenschaften des ADSI-Objekts aus dem zugrunde liegenden Verzeichnisspeicher in den Eigenschaftencache.
Syntax
HRESULT GetInfoEx(
[in] VARIANT vProperties,
[in] long lnReserved
);
Parameter
[in] vProperties
Array von Unicode-Zeichenfolgeneinträgen mit Null-Beendigung, die die Eigenschaften auflisten, die in den Active Directory-Eigenschaftencache geladen werden sollen. Jeder Eigenschaftsname muss mit einem in der Schemaklassendefinition dieses Objekts übereinstimmen.
[in] lnReserved
Für die zukünftige Verwendung reserviert. Muss auf 0 festgelegt werden.
Rückgabewert
Diese Methode unterstützt die Standardrückgabewerte sowie folgendes.
Weitere Informationen finden Sie unter ADSI-Fehlercodes.
Hinweise
Die IADs::GetInfoEx-Methode überschreibt alle zuvor zwischengespeicherten Werte der angegebenen Eigenschaften mit denen im Verzeichnisspeicher. Daher gehen alle änderungen am Cache verloren, wenn IADs::SetInfo vor dem Aufruf von IADs::GetInfoEx nicht aufgerufen wurde.
Verwenden Sie IADs::GetInfoEx , um Die Werte der ausgewählten Eigenschaft im Eigenschaftencache eines ADSI-Objekts zu aktualisieren. Verwenden Sie IADs::GetInfo , um alle Eigenschaftswerte zu aktualisieren.
Für ein ADSI-Containerobjekt speichert IADs::GetInfoEx nur die Eigenschaftswerte des Containers, nicht aber die werte der untergeordneten Objekte zwischen.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie die IADs::GetInfoEx verwenden, um Werte der ausgewählten Eigenschaften abzurufen, vorausgesetzt, dass die gewünschten Eigenschaftswerte im Verzeichnis gefunden werden können.
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
Im folgenden Codebeispiel wird veranschaulicht, wie Sie die IADs::GetInfoEx verwenden, um Werte der ausgewählten Eigenschaften abzurufen, vorausgesetzt, dass die gewünschten Eigenschaftswerte im Verzeichnis gefunden werden können. Aus Gründen der Kürze wurde die Fehlerüberprüfung weggelassen.
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();
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll |