Поделиться через


Метод IADsCollection::GetObject (iads.h)

Метод IADsCollection::GetObject извлекает элемент коллекции.

Синтаксис

HRESULT GetObject(
  [in] BSTR    bstrName,
  [in] VARIANT *pvItem
);

Параметры

[in] bstrName

Строка Юникода, завершающаяся значением NULL, указывающая имя элемента. Это то же имя, переданное в 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
Header iads.h
DLL Activeds.dll

См. также раздел

Коды ошибок ADSI

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT