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 |