Метод 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 |