IADsContainer::GetObject 메서드(iads.h)
IADsContainer::GetObject 메서드는 컨테이너의 디렉터리 개체에 대한 인터페이스를 검색합니다.
구문
HRESULT GetObject(
[in] BSTR ClassName,
[in] BSTR RelativeName,
[out] IDispatch **ppObject
);
매개 변수
[in] ClassName
검색할 개체의 개체 클래스 이름을 지정하는 BSTR 입니다. 이 매개 변수가 NULL이면 공급자는 컨테이너에 있는 첫 번째 항목을 반환합니다.
[in] RelativeName
검색할 개체의 상대 고유 이름을 지정하는 BSTR 입니다.
[out] ppObject
지정된 개체의 IDispatch 인터페이스에 대한 포인터에 대한 포인터입니다.
반환 값
이 메서드는 성공적인 작업에 대한 S_OK 포함하여 표준 반환 값을 지원합니다. 오류 코드에 대한 자세한 내용은 ADSI 오류 코드를 참조하세요.
설명
LDAP 공급자의 경우 bstrRelativeName 매개 변수에는 이름 접두사(예: "CN=Jeff Smith")가 포함되어야 합니다. bstrRelativeName 매개 변수는 "CN=Jeff Smith,OU=Sales"와 같은 둘 이상의 이름 수준을 포함할 수도 있습니다.
C++에서 GetObject가 성공하면 호출자는 QueryInterface 메서드를 사용하여 원하는 인터페이스에 대한 IDispatch 인터페이스를 쿼리해야 합니다.
bstrClassName 매개 변수는 유효한 클래스 이름 또는 NULL일 수 있습니다. 빈 공간이 포함된 경우를 포함하여 클래스 이름이 유효하지 않으면 이 메서드는 E_ADS_UNKNOWN_OBJECT 오류를 throw합니다.
예제
다음 코드 예제에서는 컨테이너 개체에서 사용자 개체를 검색합니다.
Dim cont As IADsContainer
Dim usr As IADsUser
Set cont = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=com")
Set usr = cont.GetObject("user", "CN=jeffsmith")
다음 코드와 동일합니다.
Dim usr As IADsUser
Set usr=GetObject("LDAP://CN=jeffsmith,OU=Sales,DC=Fabrikam,DC=com")
다음 코드 예제에서는 컨테이너 개체에서 사용자 개체를 검색합니다.
HRESULT hr = S_OK;
CoInitialize(NULL);
IADsContainer *pCont = NULL;
hr = ADsGetObject(L"LDAP://DC=windows2000,DC=mytest,DC=fabrikam,DC=com",
IID_IADsContainer,
(void**) &pCont );
if(FAILED(hr))
{
goto Cleanup;
}
///////////////////////////////////////////////////////////////////////
// Retrieve the child from the container.
// Be aware that in the LDAP provider you can navigate multiple levels.
///////////////////////////////////////////////////////////////////////
IDispatch *pDisp = NULL;
IADs *pADs = NULL;
hr = pCont->GetObject(CComBSTR("user"), CComBSTR("CN=Jeff Smith,OU=DSys"), &pDisp);
pCont->Release();
if(FAILED(hr))
{
goto Cleanup;
}
hr = pDisp->QueryInterface(IID_IADs, (void**)&pADs);
pDisp->Release();
if(FAILED(hr))
{
goto Cleanup;
}
// Perform an operation with pADs.
pADs->Release();
Cleanup:
if(pCont)
pCont->Release();
if(pDisp)
pDisp->Release();
if(pADs)
pADs->Release();
CoUninitialize();
요구 사항
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | iads.h |
DLL | Activeds.dll |
참고 항목
IADs::get_Class
IADs::get_Name