IADsDeleteOps-Schnittstelle
Die IADsDeleteOps Schnittstelle wird in Aufsichts- und Wartungsroutinen für den zugrunde liegenden Verzeichnisspeicher verwendet. Es kann Blattobjekte und ganze Unterstrukturen in einem einzigen Vorgang löschen.
Wenn diese Schnittstelle nicht unterstützt wird, erfordert das Löschen eines Objekts aus Active Directory, dass jedes enthaltene Objekt rekursiv aufgezählt und gelöscht werden muss. Mit dieser Schnittstelle kann jedes Containerobjekt mit allen enthaltenen Objekten und Unterobjekten mit einem einzigen Vorgang gelöscht werden.
Im folgenden Codebeispiel werden der Container "Eng" und alle untergeordneten Objekte gelöscht.
HRESULT hr;
IADsDeleteOps *pDeleteOps;
LPWSTR pwszUsername = NULL;
LPWSTR pwszPassword = NULL;
// Insert code to securely retrieve the pwszUsername and pwszPassword
// or leave as NULL to use the default security context of the
// calling application.
// Bind to the LDAP provider.
hr = ADsOpenObject(L"LDAP://CN=Eng,CN=Users,DC=Fabrikam,DC=Com",
pwszUsername,
pwszPassword,
0,
ADS_SECURE_AUTHENTICATION,
IID_IADsDeleteOps,
(void**)&pDeleteOps);
if(S_OK == hr)
{
// Delete the container and all child objects.
pDeleteOps->DeleteObject(0);
// Release the interface.
pDeleteOps->Release();
}
if(pwszUsername)
{
SecureZeroMemory(pwszUsername, lstrlen(pwszUsername) * sizeof(TCHAR));
}
if(pwszPassword)
{
SecureZeroMemory(pwszPassword, lstrlen(pwszPassword) * sizeof(TCHAR));
}
Im folgenden Codebeispiel werden der Container "Eng" und alle untergeordneten Objekte gelöscht.
Dim DeleteOps As IADsDeleteOps
' Bind to the LDAP provider.
Set DeleteOps = GetObject("LDAP://CN=Eng,CN=Users,DC=Fabrikam,DC=Com")
' Delete the container and all child objects.
DeleteOps.DeleteObject (0)