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

추가 정보

ADSI 오류 코드

ADS_ATTR_INFO

IDirectoryObject