Código de ejemplo para mover un objeto
En este tema se incluyen ejemplos de código que se usan para mover un objeto en el dominio.
En el siguiente ejemplo de código de C++ se muestra cómo usar ADSI para mover un objeto en el dominio.
#include <stdio.h>
#include <atlbase.h>
#include <activeds.h>
#include <ntldap.h>
/***************************************************************************
MoveObject()
Moves an object in the directory.
Parameters:
padsToMove - Contains an IADs interface pointer that represents the
object to move.
padsDestination - Contains an IADs interface pointer that represents the
container to move the object to.
***************************************************************************/
HRESULT MoveObject(IADs *padsToMove, IADs *padsDestination)
{
_ASSERT(padsToMove);
_ASSERT(padsDestination);
HRESULT hr;
// Get the ADsPath of the object to move.
CComBSTR sbstrPathToMove;
hr = padsToMove->get_ADsPath(&sbstrPathToMove);
if(FAILED(hr))
{
return hr;
}
// Get an IADsContainer instance from the destination.
CComPtr<IADsContainer> spContainerDestination;
hr = padsDestination->QueryInterface(IID_IADsContainer, (void**)&spContainerDestination);
if(FAILED(hr))
{
return hr;
}
// Move the object.
CComPtr<IDispatch> spDispNewObject;
hr = spContainerDestination->MoveHere(sbstrPathToMove, NULL, &spDispNewObject);
return hr;
}
En el siguiente ejemplo de código de Visual Basic se muestra cómo usar ADSI para mover un objeto en el dominio.
''''''''''''''''''''''''''''''''''''''''
'
' MoveObject
'
' Moves an object in the directory.
'
' Parameters:
'
' DNToMove - Contains the distinguished name of the object to move.
'
' DNDestination - Contains the distinguished name of the destination
' container.
'
''''''''''''''''''''''''''''''''''''''''
Public Sub MoveObject(DNToMove As String, DNDestination As String)
Dim oContainer As IADsContainer
' Bind to the destination container.
Set oContainer = GetObject("LDAP://" & DNDestination)
oContainer.MoveHere "LDAP://" & DNToMove, vbNullString
End Sub