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

另请参阅

ADSI 错误代码

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT