iDirectoryObject::CreateDSObject 方法 (iads.h)

IDirectoryObject::CreateDSObject 方法會建立目前目錄服務對象的子系。

語法

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

參數

[in] pszRDNName

提供要建立之對象的相對辨別名稱 (相對路徑) 。

[in] pAttributeEntries

ADS_ATTR_INFO 結構的陣列,其中包含建立物件時要設定的屬性定義。

[in] dwNumAttributes

提供建立物件時所設定的屬性數目。

[out] ppObject

提供所建立物件上 IDispatch 介面的指標。

傳回值

這個方法會傳回標準傳回值,包括成功作業S_OK。 如需詳細資訊和其他傳回值,請參閱 ADSI 錯誤碼

備註

指定要在 pAttributeEntries 陣列中建立時初始化的所有屬性。 您也可以指定選擇性屬性。 使用此方法建立目錄物件時,具有任何字串數據類型的屬性不能是空的或長度為零。

範例

下列 C/C++ 程式代碼範例示範如何使用 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();
}

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 iads.h
Dll Activeds.dll

另請參閱

ADSI 錯誤碼

ADS_ATTR_INFO

IDirectoryObject