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 배열에서 만들 때 초기화할 모든 특성을 지정합니다. 선택적 특성을 지정할 수도 있습니다. 이 메서드를 사용하여 디렉터리 개체를 만들 때 문자열 데이터 형식이 있는 특성은 비어 있거나 길이가 0일 수 없습니다.
예제
다음 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 |