IADsContainer::D elete, méthode (iads.h)
La méthode IADsContainer::D elete supprime un objet de répertoire spécifié de ce conteneur.
Syntaxe
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName
);
Paramètres
[in] bstrClassName
Objet de classe de schéma à supprimer. Le nom est celui retourné par la méthode IADs::get_Class . En outre, NULL est une option valide pour ce paramètre. Fournir la valeur NULL pour ce paramètre est la seule façon de traiter les classes de schéma obsolètes. Si une instance a été créée avant la suppression de la classe, la seule façon de supprimer la instance de la classe obsolète consiste à appeler IADsContainer::D éléte et à fournir null pour ce paramètre.
[in] bstrRelativeName
Nom de l’objet tel qu’il est connu dans le répertoire sous-jacent et identique au nom récupéré avec la méthode IADs::get_Name .
Valeur retournée
Cette méthode prend en charge les valeurs de retour standard, y compris les S_OK pour une opération réussie. Pour plus d’informations sur les codes d’erreur, consultez Codes d’erreur ADSI.
Notes
L’objet à supprimer doit être un objet feuille ou un sous-conteneur sans enfant. Pour supprimer un conteneur et ses enfants, c’est-à-dire une sous-arborescence, utilisez IADsDeleteOps::D eleteObject.
L’objet spécifié est immédiatement supprimé après l’appel de IADsContainer::D elete et l’appel de IADs::SetInfo sur l’objet conteneur n’est pas nécessaire.
Lorsque vous utilisez la méthode IADsContainer::D elete pour supprimer un objet dans les applications C/C++, relâchez également les pointeurs d’interface vers cet objet. Cela est dû au fait que la méthode supprime immédiatement l’objet du répertoire sous-jacent, mais laisse intacts tous les pointeurs d’interface conservés, en mémoire, par l’application, pour l’objet supprimé. S’il n’est pas libéré, une confusion peut se produire en ce que vous pouvez appeler IADs::Get et IADs::P ut sur l’objet supprimé sans erreur, mais reçoit une erreur lorsque vous appelez IADs::SetInfo ou IADs::GetInfo sur l’objet supprimé.
Exemples
L’exemple de code suivant supprime un objet utilisateur du conteneur dans Active Directory.
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
L’exemple de code suivant supprime un objet utilisateur du conteneur sous le fournisseur WinNT.
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
L’exemple de code suivant supprime un utilisateur à l’aide de IADsContainer::D elete.
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();
Configuration requise
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll |
Voir aussi
IADs::get_Name