// TestSnapins.idl : IDL source
//

// This file will be processed by the MIDL tool to
// produce the type library (TestSnapins.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

import "mmc.idl";

[
        uuid(106C1EE9-E93B-4ad2-92DE-BD4E099F595F),
        version(1.0),
        helpstring("Microsoft Test Snapins 1.0 Type Library")
]
library TestSnapinsLib
{
        importlib("stdole32.tlb");
        importlib("stdole2.tlb");

        // DO NOT CHANGE THE COMMENT ON THE NEXT LINE
        //-----------------_SNAPINS_-----------------

        // Sample Snapin
        [
                uuid(24EFEBE7-7E7C-468a-B19A-4D2EFB24862E),
                helpstring("ComponentData CSampleSnapin Class")
        ]
        coclass ComponentData_CSampleSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(A29C05B3-C11D-44d9-A5FE-78A26EEEB120),
                helpstring("SnapinAbout CSampleSnapin Class")
        ]
        coclass SnapinAbout_CSampleSnapin
        {
                [default] interface ISnapinAbout;
        };

        // Sample namespace extension.
        [
                uuid(AD9D75F5-5F13-4ac1-A46E-9AC0136C47B0),
                helpstring("ComponentData Sample Namespace Snapin Class")
        ]
        coclass ComponentData_CSampleExtnSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(266AD800-BF6D-441b-AD59-A3AFC422FB1B),
                helpstring("SnapinAbout Sample Namespace Snapin Class")
        ]
        coclass SnapinAbout_CSampleExtnSnapin
        {
                [default] interface ISnapinAbout;
        };

        // Power test snapin.
        [
                uuid(1fef563e-33a4-446f-8b2d-66212861c88a),
                helpstring("ComponentData CPowerTestSnapin Class")
        ]
        coclass ComponentData_CPowerTestSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(92627920-d1dc-46b7-b253-571d48dbecc0),
                helpstring("SnapinAbout CPowerTestSnapin Class")
        ]
        coclass SnapinAbout_CPowerTestSnapin
        {
                [default] interface ISnapinAbout;
        };

        // Component2 Test snapin
        [
            object,
            uuid(0F1070D0-68F8-41cd-9169-65F553313B9F),
            oleautomation,
            dual,
            helpstring("ISnapinTasks Interface")
        ]
        interface ISnapinTasks : IDispatch
        {
            [id(1), helpstring("method that passes a string from script into the snapin")]
            HRESULT StringFromScriptToSnapin([in] BSTR bstrMessage);
            [id(2), helpstring("method that passes a string from snapin to the calling script")]
            HRESULT StringFromSnapinToScript([out, retval] BSTR *pbstrMessage);
            [propget, id(3), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
            [propput, id(3), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
        };

        [
                uuid(99C5C401-4FBE-40ec-92AE-8560A0BF39F6),
                helpstring("ComponentData CComponent2TestSnapin Class")
        ]
        coclass ComponentData_CComponent2TestSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(BBF00BB5-1EF3-43af-A65E-D371F2F72357),
                helpstring("SnapinAbout CComponent2TestSnapin Class")
        ]
        coclass SnapinAbout_CComponent2TestSnapin
        {
                [default] interface ISnapinAbout;
        };

        // Rename snapin
        [
                uuid(99C5C402-4FBE-40ec-92AE-8560A0BF39F6),
                helpstring("ComponentData CRenameSnapin Class")
        ]
        coclass ComponentData_CRenameSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(BBF00BB6-1EF3-43af-A65E-D371F2F72357),
                helpstring("SnapinAbout CRenameSnapin Class")
        ]
        coclass SnapinAbout_CRenameSnapin
        {
                [default] interface ISnapinAbout;
        };

        // DragDrop Snapin
        [
                uuid(FF9744BA-034C-4c30-921F-554C77025535),
                helpstring("ComponentData CDragDropSnapin Class")
        ]
        coclass ComponentData_CDragDropSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(50932BE3-B491-46c9-BBA7-1B9FF502F9A2),
                helpstring("SnapinAbout CDragDropSnapin Class")
        ]
        coclass SnapinAbout_CDragDropSnapin
        {
                [default] interface ISnapinAbout;
        };

        // OCX Caching Snapin
        [
                uuid(2C629B90-0C7F-4c7d-B37E-C7159FACB106),
                helpstring("ComponentData COCXCachingSnapin Class")
        ]
        coclass ComponentData_COCXCachingSnapin
        {
                [default] interface IComponentData;
        };
        [
                uuid(C7485BC4-874E-49ba-8BBC-A8D38BDB7D5C),
                helpstring("SnapinAbout COCXCachingSnapin Class")
        ]
        coclass SnapinAbout_COCXCachingSnapin
        {
                [default] interface ISnapinAbout;
        };

};