IADsContainer::D elete-Methode (iads.h)
Die IADsContainer::D elete-Methode löscht ein angegebenes Verzeichnisobjekt aus diesem Container.
Syntax
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName
);
Parameter
[in] bstrClassName
Das zu löschende Schemaklassenobjekt. Der Name wird von der IADs::get_Class-Methode zurückgegeben. Außerdem ist NULL eine gültige Option für diesen Parameter. Die Angabe von NULL für diesen Parameter ist die einzige Möglichkeit, nicht mehr ausgeführte Schemaklassen zu behandeln. Wenn ein instance erstellt wurde, bevor die Klasse außer Kraft gesetzt wurde, besteht die einzige Möglichkeit zum Löschen der instance der veralteten Klasse darin, IADsContainer::D elete aufzurufen und NULL für diesen Parameter anzugeben.
[in] bstrRelativeName
Name des Objekts, wie es im zugrunde liegenden Verzeichnis bekannt ist, und identisch mit dem Namen, der mit der IADs::get_Name-Methode abgerufen wurde.
Rückgabewert
Diese Methode unterstützt die Standardrückgabewerte, einschließlich S_OK für einen erfolgreichen Vorgang. Weitere Informationen zu Fehlercodes finden Sie unter ADSI-Fehlercodes.
Hinweise
Das zu löschende Objekt muss ein Blattobjekt oder ein untergeordneter Untercontainer sein. Verwenden Sie IADsDeleteOps::D eleteObject, um einen Container und seine untergeordneten Elemente, d. h. eine Unterstruktur, zu löschen.
Das angegebene Objekt wird sofort entfernt, nachdem IADsContainer::D elete aufgerufen und IADs::SetInfo für das Containerobjekt aufgerufen wurde.
Wenn Sie die IADsContainer::D elete-Methode verwenden, um ein Objekt in C/C++-Anwendungen zu löschen, geben Sie auch die Schnittstellenzeiger auf dieses Objekt frei. Dies liegt daran, dass die -Methode das -Objekt sofort aus dem zugrunde liegenden Verzeichnis entfernt, aber alle Schnittstellenzeiger, die von der Anwendung im Speicher für das gelöschte Objekt gespeichert werden, intakt belassen. Wenn sie nicht freigegeben wird, kann es zu Verwirrung kommen, da Sie IADs::Get und IADs::P ut für das gelöschte Objekt ohne Fehler aufrufen, aber eine Fehlermeldung erhalten, wenn Sie IADs::SetInfo oder IADs::GetInfo für das gelöschte Objekt aufrufen.
Beispiele
Im folgenden Codebeispiel wird ein Benutzerobjekt aus dem Container in Active Directory gelöscht.
Dim cont as IADsContainer
On Error GoTo Cleanup
Set cont = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=com")
cont.Delete "user", "CN=JeffSmith"
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set cont = Nothing
Im folgenden Codebeispiel wird ein Benutzerobjekt aus dem Container unter dem WinNT-Anbieter gelöscht.
Dim cont as IADsContainer
On Error GoTo Cleanup
Set cont = GetObject("WinNT://Fabrikam")
cont.Delete "user", "jeffsmith"
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set cont = Nothing
Im folgenden Codebeispiel wird ein Benutzer mithilfe von IADsContainer::D elete gelöscht.
HRESULT hr = S_OK;
IADsContainer *pCont=NULL;
CoInitialize(NULL);
hr = ADsGetObject(L"WinNT://myMachine",
IID_IADsContainer,
(void**) &pCont);
if ( !SUCCEEDED(hr) )
{
return hr;
}
hr = pCont->Delete(CComBSTR("user"), CComBSTR("JeffSmith"));
pCont->Release();
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll |
Weitere Informationen
IADs::get_Name