Metode IDirectoryObject::CreateDSObject (iads.h)

Metode IDirectoryObject::CreateDSObject membuat anak dari objek layanan direktori saat ini.

Sintaks

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

Parameter

[in] pszRDNName

Menyediakan nama yang dibedakan relatif (jalur relatif) dari objek yang akan dibuat.

[in] pAttributeEntries

Array struktur ADS_ATTR_INFO yang berisi definisi atribut yang akan diatur saat objek dibuat.

[in] dwNumAttributes

Menyediakan sejumlah atribut yang diatur saat objek dibuat.

[out] ppObject

Menyediakan pointer ke antarmuka IDispatch pada objek yang dibuat.

Nilai kembali

Metode ini mengembalikan nilai pengembalian standar, termasuk S_OK untuk operasi yang berhasil. Untuk informasi selengkapnya dan nilai pengembalian lainnya, lihat Kode Kesalahan ADSI.

Keterangan

Tentukan semua atribut yang akan diinisialisasi pada pembuatan dalam array pAttributeEntries . Anda juga dapat menentukan atribut opsional. Saat membuat objek direktori dengan metode ini, atribut dengan salah satu jenis data string tidak boleh kosong atau panjangnya nol.

Contoh

Contoh kode C/C++ berikut menunjukkan cara membuat objek pengguna menggunakan metode 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();
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h
DLL Activeds.dll

Lihat juga

Kode Kesalahan ADSI

ADS_ATTR_INFO

IDirectoryObject