IADsCollection::GetObject 方法 (iads.h)
IADsCollection::GetObject 方法检索集合的项。
语法
HRESULT GetObject(
[in] BSTR bstrName,
[in] VARIANT *pvItem
);
parameters
[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 |