IADsContainer::Metode GetObject (iads.h)
Metode IADsContainer::GetObject mengambil antarmuka untuk objek direktori dalam kontainer.
Sintaks
HRESULT GetObject(
[in] BSTR ClassName,
[in] BSTR RelativeName,
[out] IDispatch **ppObject
);
Parameter
[in] ClassName
BSTR yang menentukan nama kelas objek sebagai objek yang akan diambil. Jika parameter ini NULL, penyedia mengembalikan item pertama yang ditemukan dalam kontainer.
[in] RelativeName
BSTR yang menentukan nama objek yang dibedakan relatif untuk diambil.
[out] ppObject
Penunjuk ke penunjuk ke antarmuka IDispatch pada objek yang ditentukan.
Mengembalikan nilai
Metode ini mendukung nilai pengembalian standar, termasuk S_OK untuk operasi yang berhasil. Untuk informasi selengkapnya tentang kode kesalahan, lihat Kode Kesalahan ADSI.
Keterangan
Untuk penyedia LDAP, parameter bstrRelativeName harus berisi awalan nama, seperti "CN=Jeff Smith". Parameter bstrRelativeName juga dapat berisi lebih dari satu tingkat nama, seperti "CN=Jeff Smith,OU=Sales".
Di C++, ketika GetObject telah berhasil, pemanggil harus meminta antarmuka IDispatch untuk antarmuka yang diinginkan menggunakan metode QueryInterface .
Parameter bstrClassName dapat berupa nama kelas yang valid atau NULL. Jika nama kelas tidak valid, termasuk ketika berisi ruang kosong, metode ini akan melemparkan kesalahan E_ADS_UNKNOWN_OBJECT .
Contoh
Contoh kode berikut mengambil objek pengguna dari objek kontainer.
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")
Tindakan ini setara dengan:
Dim usr As IADsUser
Set usr=GetObject("LDAP://CN=jeffsmith,OU=Sales,DC=Fabrikam,DC=com")
Contoh kode berikut mengambil objek pengguna dari objek kontainer.
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();
Persyaratan
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | iads.h |
DLL | Activeds.dll |
Lihat juga
IADs::get_Class
IADs::get_Name