Example Code for Moving an Object
This topic includes code examples used to move an object in the domain.
The following C++ code example shows how to use ADSI to move an object in the domain.
#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;
}
The following Visual Basic code example shows how to use ADSI to move an object in the domain.
''''''''''''''''''''''''''''''''''''''''
'
' 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