Condividi tramite


Metodo IDirectoryObject::CreateDSObject (iads.h)

Il metodo IDirectoryObject::CreateDSObject crea un elemento figlio dell'oggetto servizio directory corrente.

Sintassi

HRESULT CreateDSObject(
  [in]  LPWSTR         pszRDNName,
  [in]  PADS_ATTR_INFO pAttributeEntries,
  [in]  DWORD          dwNumAttributes,
  [out] IDispatch      **ppObject
);

Parametri

[in] pszRDNName

Fornisce il nome distinto relativo (percorso relativo) dell'oggetto da creare.

[in] pAttributeEntries

Matrice di strutture ADS_ATTR_INFO che contengono definizioni di attributi da impostare al momento della creazione dell'oggetto.

[in] dwNumAttributes

Fornisce un numero di attributi impostati al momento della creazione dell'oggetto.

[out] ppObject

Fornisce un puntatore all'interfaccia IDispatch nell'oggetto creato.

Valore restituito

Questo metodo restituisce i valori restituiti standard, inclusi S_OK per un'operazione riuscita. Per altre informazioni e altri valori restituiti, vedere Codici di errore ADSI.

Commenti

Specificare tutti gli attributi da inizializzare alla creazione nella matrice pAttributeEntries . È anche possibile specificare attributi facoltativi. Quando si crea un oggetto directory con questo metodo, gli attributi con uno qualsiasi dei tipi di dati stringa non possono essere vuoti o di lunghezza zero.

Esempio

L'esempio di codice C/C++ seguente illustra come creare un oggetto utente usando il metodo IDirectoryObject::CreateDSObject .

HRESULT    hr;
IDirectoryObject *pDirObject=NULL;
ADSVALUE   sAMValue;
ADSVALUE   uPNValue;
ADSVALUE   classValue;
LPDISPATCH pDisp;
 
ADS_ATTR_INFO  attrInfo[] = 
{  
   { L"objectClass", ADS_ATTR_UPDATE, 
                       ADSTYPE_CASE_IGNORE_STRING, &classValue, 1 },
   {L"sAMAccountName", ADS_ATTR_UPDATE, 
                       ADSTYPE_CASE_IGNORE_STRING, &sAMValue, 1},
   {L"userPrincipalName", ADS_ATTR_UPDATE, 
                      ADSTYPE_CASE_IGNORE_STRING, &uPNValue, 1},
};
DWORD dwAttrs = sizeof(attrInfo)/sizeof(ADS_ATTR_INFO); 
 
classValue.dwType = ADSTYPE_CASE_IGNORE_STRING;
classValue.CaseIgnoreString = L"user";
 
sAMValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
sAMValue.CaseIgnoreString = L"jeffsmith";
 
uPNValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
uPNValue.CaseIgnoreString = L"jeffsmith@Fabrikam.com";
 
hr = ADsGetObject(L"LDAP://OU=Sales,DC=Fabrikam,DC=com",
          IID_IDirectoryObject, (void**) &pDirObject );
 
if ( SUCCEEDED(hr) )
{
    hr = pDirObject->CreateDSObject( L"CN=Jeff Smith",  attrInfo, 
                                    dwAttrs, &pDisp );

    if ( SUCCEEDED(hr) )
    {
         // Use the DS object.

         pDisp->Release();
    }

    pDirObject->Release();
}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll

Vedi anche

Codici di errore ADSI

ADS_ATTR_INFO

IDirectoryObject