IADsClass インターフェイス (iads.h)
IADsClass インターフェイスは、ADSI オブジェクトのクラス定義を提供するスキーマ クラス オブジェクトを管理するために設計されています。 その他のスキーマ管理インターフェイスには、属性定義の IADsProperty と属性構文の IADsSyntax があります。
継承
IADsClass インターフェイスは、IDispatch と IAD を継承します。 IADsClass には、次の種類のメンバーもあります。
メソッド
IADsClass インターフェイスには、これらのメソッドがあります。
IADsClass::Qualifiers このスキーマ クラスの追加の修飾子を記述する ADSI オブジェクトのコレクションを返します。 |
注釈
スキーマ オブジェクトは、特定のディレクトリのスキーマ コンテナーに編成されます。 オブジェクトのスキーマ クラスにアクセスするには、オブジェクトの Schema プロパティ (つまり、 IADs::get_Schema プロパティ メソッドを呼び出します) を使用して ADsPath 文字列を取得し、その文字列を使用してそのスキーマ クラス オブジェクトにバインドします。
例
次のコード例は、 IADsClass インターフェイスを実装する方法を示しています。
Dim obj As IADs
Dim cls As IADsClass
On Error GoTo Cleanup
Set obj = GetObject("WinNT://myMachine,computer")
Set cls = GetObject(obj.Schema)
' Inspecting mandatory and optional properties.
For Each p In cls.MandatoryProperties
MsgBox "Must-have: " & p
Next
For Each p In cls.OptionalProperties
MsgBox "May-have: " & p
Next
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set obj = Nothing
Set cls = Nothing
次のコード例は、 IADsClass インターフェイスを実装する方法を示しています。
HRESULT hr = S_OK;
IADsClass *pCls = NULL;
IADs *pADs;
BSTR bstrSchema;
VARIANT var;
hr = CoInitialize(NULL);
hr = ADsGetObject(L"WinNT://myComputer,computer",
IID_IADs,
(void**)&pADs);
if (FAILED(hr)) { goto Cleanup;}
hr = pADs->get_Schema(&bstrSchema);
pADs->Release();
if(FAILED(hr)) { goto Cleanup; }
hr = ADsGetObject(bstrSchema, IID_IADsClass, (void**)&pCls);
if(FAILED(hr)) { goto Cleanup; }
VariantInit(&var);
pCls->get_MandatoryProperties(&var);
hr = printVarArray(var);
VariantClear(&var);
pCls->get_OptionalProperties(&var);
hr = printVarArray(var);
Cleanup:
if(pCls)
pCls->Release();
if(pADs)
pADs->Release();
SysFreeString(bstrSchema);
VariantClear(&var);
CoUninitialize();
return hr;
次のコード例は 、printVarArray 関数を実装する方法を示しています。
HRESULT printVarArray(VARIANT var)
{
LONG lstart, lend;
VARIANT varItem;
HRESULT hr;
SAFEARRAY *sa = V_ARRAY( &var );
hr = SafeArrayGetLBound( sa, 1, &lstart );
hr = SafeArrayGetUBound( sa, 1, &lend );
VariantInit(&varItem);
for ( long idx=lstart; idx <= lend; idx++ ) {
hr = SafeArrayGetElement( sa, &idx, &varItem );
printf(" %S \n", V_BSTR(&varItem));
VariantClear(&varItem);
}
printf("\n");
return S_OK;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | iads.h |