Método IADsContainer::D elete (iads.h)
El método IADsContainer::D elete elimina un objeto de directorio especificado de este contenedor.
Sintaxis
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName
);
Parámetros
[in] bstrClassName
Objeto de clase de esquema que se va a eliminar. El nombre es que se devuelve del método IADs::get_Class . Además, NULL es una opción válida para este parámetro. Proporcionar NULL para este parámetro es la única manera de tratar con clases de esquema inactivas. Si se creó una instancia antes de que la clase se desintegre, la única manera de eliminar la instancia de la clase inactiva es llamar a IADsContainer::D elete y proporcionar NULL para este parámetro.
[in] bstrRelativeName
Nombre del objeto tal y como se conoce en el directorio subyacente y idéntico al nombre recuperado con el método IADs::get_Name .
Valor devuelto
Este método admite los valores devueltos estándar, incluidos S_OK para una operación correcta. Para obtener más información sobre los códigos de error, consulta Códigos de error adsi.
Comentarios
El objeto que se va a eliminar debe ser un objeto hoja o un subcontenidor sin hijos. Para eliminar un contenedor y sus elementos secundarios, es decir, un subárbol, use IADsDeleteOps::D eleteObject.
El objeto especificado se quita inmediatamente después de llamar a IADsContainer::D elete y llamar a IADs::SetInfo en el objeto contenedor no es necesario.
Al usar el método IADsContainer::D elete para eliminar un objeto en aplicaciones de C/C++, libere también los punteros de interfaz a ese objeto. Esto se debe a que el método quita el objeto del directorio subyacente inmediatamente, pero deja intactos los punteros de interfaz mantenidos, en memoria, por la aplicación, para el objeto eliminado. Si no se libera, puede producirse confusión en que puede llamar a IADs::Get e IADs::P ut en el objeto eliminado sin error, pero recibirá un error al llamar a IADs::SetInfo o IADs::GetInfo en el objeto eliminado.
Ejemplos
En el ejemplo de código siguiente se elimina un objeto de usuario del contenedor en 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
En el ejemplo de código siguiente se elimina un objeto de usuario del contenedor en el proveedor 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
En el ejemplo de código siguiente se elimina un usuario mediante 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 compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | iads.h |
Archivo DLL | Activeds.dll |
Consulte también
IADs::get_Name