//---------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1996
//
//  File:      computer.odl
//
//  Contents:  Computer Interfaces
//
//----------------------------------------------------------------------------

[ uuid(OLEDS_IID_IADsClass), oleautomation, dual]
interface IADsClass : IADs
{
    PROPERTY_BSTR_RO( PrimaryInterface, DISPID_IADs_UPPER_BOUND + 1 )

    PROPERTY_BSTR_RW( CLSID, DISPID_IADs_UPPER_BOUND + 2 )
    PROPERTY_BSTR_RW( OID, DISPID_IADs_UPPER_BOUND + 3 )
    PROPERTY_VARIANT_BOOL_RW( Abstract, DISPID_IADs_UPPER_BOUND + 4 )
    PROPERTY_VARIANT_BOOL_RW( Auxiliary, DISPID_IADs_UPPER_BOUND + 12 )
    PROPERTY_VARIANT_RW( MandatoryProperties, DISPID_IADs_UPPER_BOUND + 5 )
    PROPERTY_VARIANT_RW( OptionalProperties, DISPID_IADs_UPPER_BOUND + 15 )
    PROPERTY_VARIANT_RW( NamingProperties, DISPID_IADs_UPPER_BOUND + 16 )

    PROPERTY_VARIANT_RW( DerivedFrom, DISPID_IADs_UPPER_BOUND + 6 )
    PROPERTY_VARIANT_RW( AuxDerivedFrom, DISPID_IADs_UPPER_BOUND + 13 )
    PROPERTY_VARIANT_RW( PossibleSuperiors, DISPID_IADs_UPPER_BOUND + 14 )
    PROPERTY_VARIANT_RW( Containment, DISPID_IADs_UPPER_BOUND + 7 )
    PROPERTY_VARIANT_BOOL_RW( Container, DISPID_IADs_UPPER_BOUND + 8 )
    PROPERTY_BSTR_RW( HelpFileName, DISPID_IADs_UPPER_BOUND + 9 )
    PROPERTY_LONG_RW( HelpFileContext, DISPID_IADs_UPPER_BOUND + 10 )

    [id(DISPID_IADs_UPPER_BOUND + 11)]
    HRESULT
    Qualifiers(
        [out, retval] IADsCollection **ppQualifiers
        );
};

[ uuid(OLEDS_IID_IADsProperty), oleautomation, dual]
interface IADsProperty : IADs
{
    PROPERTY_BSTR_RW( OID, DISPID_IADs_UPPER_BOUND + 3)
    PROPERTY_BSTR_RW( Syntax, DISPID_IADs_UPPER_BOUND + 4 )
    PROPERTY_LONG_RW( MaxRange, DISPID_IADs_UPPER_BOUND + 5 )
    PROPERTY_LONG_RW( MinRange, DISPID_IADs_UPPER_BOUND + 6 )
    PROPERTY_VARIANT_BOOL_RW( MultiValued, DISPID_IADs_UPPER_BOUND + 7 )

    [id(DISPID_IADs_UPPER_BOUND + 8)]
    HRESULT
    Qualifiers(
        [out, retval] IADsCollection **ppQualifiers
        );
};

[ uuid(OLEDS_IID_IADsSyntax), oleautomation, dual]
interface IADsSyntax : IADs
{
    PROPERTY_LONG_RW( OleAutoDataType, DISPID_IADs_UPPER_BOUND + 1 )
};

