Método IADsContainer::D elete (iads.h)
O método IADsContainer::D elete exclui um objeto de diretório especificado desse contêiner.
Sintaxe
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName
);
Parâmetros
[in] bstrClassName
O objeto de classe de esquema a ser excluído. O nome é retornado do método IADs::get_Class . Além disso, NULL é uma opção válida para esse parâmetro. Fornecer NULL para esse parâmetro é a única maneira de lidar com classes de esquema extintas. Se uma instância foi criada antes da classe ser extinta, a única maneira de excluir a instância da classe extinta é chamar IADsContainer::D elete e fornecer NULL para esse parâmetro.
[in] bstrRelativeName
Nome do objeto como ele é conhecido no diretório subjacente e idêntico ao nome recuperado com o método IADs::get_Name .
Valor retornado
Esse método dá suporte aos valores retornados padrão, incluindo S_OK para uma operação bem-sucedida. Para obter mais informações sobre códigos de erro, consulte Códigos de erro ADSI.
Comentários
O objeto a ser excluído deve ser um objeto folha ou um subcontêiner sem filhos. Para excluir um contêiner e seus filhos, ou seja, uma subárvore, use IADsDeleteOps::D eleteObject.
O objeto especificado é removido imediatamente depois de chamar IADsContainer::D elete e chamar IADs::SetInfo no objeto de contêiner é desnecessário.
Ao usar o método IADsContainer::D elete para excluir um objeto em aplicativos C/C++, libere os ponteiros de interface para esse objeto também. Isso ocorre porque o método remove o objeto do diretório subjacente imediatamente, mas deixa intactos quaisquer ponteiros de interface mantidos, na memória, pelo aplicativo, para o objeto excluído. Se não for liberado, poderá ocorrer confusão porque você pode chamar IADs::Get e IADs::P ut no objeto excluído sem erro, mas receberá um erro ao chamar IADs::SetInfo ou IADs::GetInfo no objeto excluído.
Exemplos
O exemplo de código a seguir exclui um objeto de usuário do contêiner no 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
O exemplo de código a seguir exclui um objeto de usuário do contêiner no provedor 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
O exemplo de código a seguir exclui um usuário 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();
Requisitos
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | iads.h |
DLL | Activeds.dll |
Confira também
IADs::get_Name