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