IADsCollection::GetObject 方法 (iads.h)
IADsCollection::GetObject方法會擷取集合的專案。
語法
HRESULT GetObject(
[in] BSTR bstrName,
[in] VARIANT *pvItem
);
參數
[in] bstrName
指定專案名稱的 Null 終止 Unicode 字串。 當專案新增至集合時,這是傳遞至 IADsCollection::Add 的相同名稱。
[in] pvItem
專案的目前值。 針對 物件,這會對應至 物件上的 IDispatch 介面指標。
傳回值
這個方法支援標準傳回值,包括S_OK。 如需詳細資訊和其他傳回值,請參閱 ADSI 錯誤碼。
備註
如果您知道 Sessions 集合中的會話名稱,請明確呼叫 IADsCollection::GetObject 方法以擷取會話物件。
範例
下列 Visual Basic 程式碼範例示範如何從使用中檔案服務會話的集合擷取具名會話物件。
Dim fso As IADsFileServiceOperations
Dim ses As IADsSession
Dim coll As IADsCollection
Dim mySessionName As String
Set fso = GetObject("WinNT://myComputer/FabrikamServer")
Set coll = fso.Sessions
' Insert code to set mySessionName to the name of mySession.
' The following statement invokes IADsCollection::GetObject.
Set ses = coll.GetObject(mySessionName)
下列 C++ 程式碼範例示範如何從使用中檔案服務會話的集合擷取具名會話物件。
HRESULT GetASessionObjectFromCollection(BSTR mySession)
{
LPWSTR adspath = L"WinNT://myComputer/FabrikamServer";
IUnknown *pUnk=NULL;
HRESULT hr = S_OK;
IADsCollection *pColl = NULL;
IADsFileServiceOperations *pFso = NULL;
IADs *pADsObj = NULL;
VARIANT varObj;
BSTR bstrObj = NULL;
VariantInit(&varObj);
hr = ADsGetObject(adspath,
IID_IADsFileServiceOperations,
(void**)&pFso);
if(FAILED(hr)) {goto Cleanup;}
hr = pFso->Sessions(&pColl);
if(FAILED(hr)) {goto Cleanup;}
hr = pColl->GetObject(mySession, &varObj);
V_DISPATCH(&varObj)->QueryInterface(IID_IADs,(void**)&pADsObj);
hr = pADsObj->get_Class(&bstrObj);
printf("Class of the object obtained from GetObject: %S\n",
bstrObj);
Cleanup:
if(bstrObj) SysFreeString(bstrObj);
if(pFso) pFso->Release();
VariantClear(&varObj);
if(pADsObj) pADsObj->Release();
if(pColl) pColl->Release();
return hr;
}
需求
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | iads.h |
Dll | Activeds.dll |