Metodo IADsContainer::D elete (iads.h)
Il metodo IADsContainer::D elete elimina un oggetto directory specificato da questo contenitore.
Sintassi
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName
);
Parametri
[in] bstrClassName
Oggetto classe dello schema da eliminare. Il nome è che viene restituito dal metodo IADs::get_Class . Inoltre, NULL è un'opzione valida per questo parametro. Fornire NULL per questo parametro è l'unico modo per gestire le classi di schemi inattivi. Se un'istanza è stata creata prima che la classe diventasse inattiva, l'unico modo per eliminare l'istanza della classe inattiva consiste nel chiamare IADsContainer::D elete e fornire NULL per questo parametro.
[in] bstrRelativeName
Nome dell'oggetto noto nella directory sottostante e identico al nome recuperato con il metodo IADs::get_Name .
Valore restituito
Questo metodo supporta i valori restituiti standard, inclusi i S_OK per un'operazione riuscita. Per altre informazioni sui codici di errore, vedere Codici di errore ADSI.
Commenti
L'oggetto da eliminare deve essere un oggetto foglia o un subcontainer senza figli. Per eliminare un contenitore e i relativi elementi figlio, ovvero un sottoalbero, usare IADsDeleteOps::D eleteObject.
L'oggetto specificato viene immediatamente rimosso dopo aver chiamato IADsContainer::D elete e chiamare IADs::SetInfo nell'oggetto contenitore non è necessario.
Quando si usa il metodo IADsContainer::D elete per eliminare un oggetto nelle applicazioni C/C++, rilasciare anche i puntatori di interfaccia a tale oggetto. Questo perché il metodo rimuove immediatamente l'oggetto dalla directory sottostante, ma lascia invariati eventuali puntatori di interfaccia mantenuti, in memoria, dall'applicazione, per l'oggetto eliminato. Se non viene rilasciato, può verificarsi confusione in quanto è possibile chiamare IADs::Get e IADs::P ut sull'oggetto eliminato senza errori, ma riceverà un errore quando si chiama IADs::SetInfo o IADs::GetInfo sull'oggetto eliminato.
Esempio
Nell'esempio di codice seguente viene eliminato un oggetto utente dal contenitore in 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
Nell'esempio di codice seguente viene eliminato un oggetto utente dal contenitore nel provider 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
Nell'esempio di codice seguente viene eliminato un utente usando 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();
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll |
Vedi anche
ID::get_Name