次の方法で共有


IADsClass インターフェイス (iads.h)

IADsClass インターフェイスは、ADSI オブジェクトのクラス定義を提供するスキーマ クラス オブジェクトを管理するために設計されています。 その他のスキーマ管理インターフェイスには、属性定義の IADsProperty と属性構文の IADsSyntax があります。

継承

IADsClass インターフェイスは、IDispatchIAD を継承します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

こちらもご覧ください

Iad

IADsContainer

IADsProperty

IADsSyntax

IDispatch