//***************************************************************************** 
// 
// Microsoft Windows Media 
// Copyright (C) Microsoft Corporation. All rights reserved. 
//
// FileName:            wmsnamedvalues.idl
//
// Abstract:
//
//*****************************************************************************

cpp_quote("//*****************************************************************************") 
cpp_quote("//") 
cpp_quote("// Microsoft Windows Media") 
cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.") 
cpp_quote("//")
cpp_quote("// Automatically generated by Midl from wmsnamedvalues.idl" )
cpp_quote("//")
cpp_quote("// DO NOT EDIT THIS FILE.")
cpp_quote("//")
cpp_quote("//*****************************************************************************") 

import "oaidl.idl";

#include "colldispid.h"

/////////////////////////////////////////////////////////////////////////////
    [
        object,
        uuid(18812741-4BEC-11D2-BF25-00805FBE84A6),
        dual,
        nonextensible,
        helpstring("Contains properties to modify or retrieve the values for a name-value pair."),
        pointer_default(unique)
    ]
    interface IWMSNamedValue : IDispatch
    {
            [propget, id(1), helpstring("Retrieves the name portion of the name-value pair.")] HRESULT
        Name([out, retval] BSTR *pVal);
            [propget, id(DISPID_VALUE), helpstring("Specifies or retrieves the value portion of the name-value pair.")] HRESULT
        Value([out, retval] VARIANT *pVal);
            [propput, id(DISPID_VALUE), helpstring("Specifies or retrieves the value portion of the name-value pair.")] HRESULT
        Value([in] VARIANT newVal);
    };

/////////////////////////////////////////////////////////////////////////////
    [
        object,
        uuid(18812743-4BEC-11D2-BF25-00805FBE84A6),
        dual,
        nonextensible,
        helpstring("Contains a collection of IWMSNamedValue objects."),
        pointer_default(unique)
    ]
    interface IWMSNamedValues : IDispatch
    {

            [propput, id(DISPID_VALUE), helpstring("Returns or sets a name-value pair in the collection.")] HRESULT
        Item( [in] const VARIANT varIndex, [in] VARIANT varValue );

        // Standard collection Methods & Properties: Item, Count & _NewEnum
        COLLECTION_METHODS( IWMSNamedValue*, "Returns or sets a name-value pair in the collection." )

            [id(5), helpstring("Adds a name-value pair to the collection.")] HRESULT
        Add([in] BSTR szName, [in,defaultvalue("")] VARIANT varValue,  [out, retval] IWMSNamedValue** pItem);
            [id(6), helpstring("Removes a name-value pair from the collection.")] HRESULT
        Remove([in] VARIANT varIndex);
    };

/////////////////////////////////////////////////////////////////////////////
    [
        uuid(D75C4175-BC7B-11d2-B549-006097D2E46A),
        helpstring("Contains events for the IWMSNamedValues object."),
    ]
    dispinterface DWMSNamedValuesEvents
    {
        properties:
        methods:
        [id(1), helpstring("Indicates that the value for a name-value pair has changed.")]
            void OnValueChanged();
    };
    




