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 |