// DevCon2.idl : IDL source for DevCon2.dll // // This file will be processed by the MIDL tool to // produce the type library (DevCon2.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; #include "olectl.h" [ object, uuid(258487AC-C1B8-432A-9A1B-C0A78FE22F6E), dual, helpstring("IDeviceConsole Interface"), pointer_default(unique) ] interface IDeviceConsole : IDispatch { [id(1), helpstring("method AllDevices")] HRESULT AllDevices([in,optional] VARIANT flags,[in,optional] VARIANT machine,[retval,out] LPDISPATCH *pDevices); [id(3), helpstring("method CreateEmptyDeviceList")] HRESULT CreateEmptyDeviceList([in,optional] VARIANT machine,[retval,out] LPDISPATCH *pDevices); [id(4), helpstring("method UpdateDriver")] HRESULT UpdateDriver([in] BSTR infname,[in] BSTR hwid,[in,optional] VARIANT flags); [id(5), helpstring("method CheckReboot")] HRESULT CheckReboot(); [id(6), helpstring("method RebootReasonHardware")] HRESULT RebootReasonHardware(); [propget, id(7), helpstring("property RebootRequired")] HRESULT RebootRequired([out, retval] VARIANT_BOOL *pVal); [propput, id(7), helpstring("property RebootRequired")] HRESULT RebootRequired([in] VARIANT_BOOL newVal); [id(8), helpstring("method SetupClasses")] HRESULT SetupClasses([in,optional] VARIANT match,[in,optional] VARIANT machine,[retval,out] LPDISPATCH *pDevices); [id(9), helpstring("method CreateEmptySetupClassList")] HRESULT CreateEmptySetupClassList([in,optional] VARIANT machine,[out,retval] LPDISPATCH * pResult); [id(10), helpstring("method DevicesBySetupClasses")] HRESULT DevicesBySetupClasses([in] VARIANT SetupClasses,[in,optional] VARIANT flags,[in,optional] VARIANT machine,[out,retval] LPDISPATCH * pDevices); [id(11), helpstring("method DevicesByInterfaceClasses")] HRESULT DevicesByInterfaceClasses([in] VARIANT InterfaceClasses,[in,optional] VARIANT machine,[out,retval] LPDISPATCH * pDevices); [id(12), helpstring("method DevicesByInstanceIds")] HRESULT DevicesByInstanceIds([in] VARIANT InstanceIdList,[in,optional] VARIANT machine,[out,retval] LPDISPATCH *pDevices); [id(13), helpstring("method StringList")] HRESULT StringList([in] VARIANT from,[out,retval] LPDISPATCH *pDest); [id(14), helpstring("method AttachEvent")] HRESULT AttachEvent([in] BSTR eventName,[in] LPDISPATCH handler,[out, retval] VARIANT_BOOL *pOk); [id(15), helpstring("method DetachEvent")] HRESULT DetachEvent([in] BSTR eventName,[in] LPDISPATCH handler,[out, retval] VARIANT_BOOL *pOk); }; [ object, uuid(1F69AC3E-7742-402A-AE22-C4708F7CC3A9), dual, helpstring("IDevices Interface"), pointer_default(unique) ] interface IDevices : IDispatch { [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), helpstring("method Item")] HRESULT Item([in] long Index,[out, retval] LPDISPATCH * ppVal); [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("method Add")] HRESULT Add([in] VARIANT InstanceIds); [id(3), helpstring("method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("method CreateRootDevice")] HRESULT CreateRootDevice([in] VARIANT hwid,[out,retval] LPDISPATCH *pDispatch); [propget, id(5), helpstring("property Machine")] HRESULT Machine([out, retval] BSTR *pVal); }; [ object, uuid(470DD1C1-A36C-4999-8804-61AAA97C7C20), dual, helpstring("IDevice Interface"), pointer_default(unique) ] interface IDevice : IDispatch { [propget, id(DISPID_VALUE), helpstring("property InstanceId")] HRESULT InstanceId([out, retval] BSTR *pVal); [id(1), helpstring("method Delete")] HRESULT Delete(); [id(2), helpstring("method Enable")] HRESULT Enable(); [id(3), helpstring("method Disable")] HRESULT Disable(); [id(4), helpstring("method Start")] HRESULT Start(); [id(5), helpstring("method Stop")] HRESULT Stop(); [id(6), helpstring("method Restart")] HRESULT Restart(); [propget, id(7), helpstring("property RebootRequired")] HRESULT RebootRequired([out, retval] VARIANT_BOOL *pVal); [propput, id(7), helpstring("property RebootRequired")] HRESULT RebootRequired([in] VARIANT_BOOL newVal); [propget, id(8), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal); [propget, id(10), helpstring("property HardwareIds")] HRESULT HardwareIds([out, retval] VARIANT *pVal); [propput, id(10), helpstring("property HardwareIds")] HRESULT HardwareIds([in] VARIANT newVal); [propget, id(11), helpstring("property CompatibleIds")] HRESULT CompatibleIds([out, retval] VARIANT *pVal); [propput, id(11), helpstring("property CompatibleIds")] HRESULT CompatibleIds([in] VARIANT newVal); [propget, id(12), helpstring("property ServiceName")] HRESULT ServiceName([out, retval] VARIANT *pVal); [propget, id(13), helpstring("property Class")] HRESULT Class([out, retval] VARIANT *pVal); [propget, id(14), helpstring("property Manufacturer")] HRESULT Manufacturer([out, retval] VARIANT *pVal); [propget, id(15), helpstring("property FriendlyName")] HRESULT FriendlyName([out, retval] VARIANT *pVal); [propput, id(15), helpstring("property FriendlyName")] HRESULT FriendlyName([in] VARIANT newVal); [propget, id(16), helpstring("property LocationInformation")] HRESULT LocationInformation([out, retval] VARIANT *pVal); [propput, id(16), helpstring("property LocationInformation")] HRESULT LocationInformation([in] VARIANT newVal); [propget, id(17), helpstring("property UpperFilters")] HRESULT UpperFilters([out, retval] VARIANT *pVal); [propput, id(17), helpstring("property UpperFilters")] HRESULT UpperFilters([in] VARIANT newVal); [propget, id(18), helpstring("property LowerFilters")] HRESULT LowerFilters([out, retval] VARIANT *pVal); [propput, id(18), helpstring("property LowerFilters")] HRESULT LowerFilters([in] VARIANT newVal); [propget, id(19), helpstring("property EnumeratorName")] HRESULT EnumeratorName([out, retval] VARIANT *pVal); [propget, id(20), helpstring("property Security")] HRESULT Security([out, retval] VARIANT *pVal); [propput, id(20), helpstring("property Security")] HRESULT Security([in] VARIANT newVal); [propget, id(21), helpstring("property DeviceTypeOverride")] HRESULT DeviceTypeOverride([out, retval] VARIANT *pVal); [propput, id(21), helpstring("property DeviceTypeOverride")] HRESULT DeviceTypeOverride([in] VARIANT newVal); [propget, id(22), helpstring("property ForceExclusive")] HRESULT ForceExclusive([out, retval] VARIANT *pVal); [propput, id(22), helpstring("property ForceExclusive")] HRESULT ForceExclusive([in] VARIANT newVal); [propget, id(23), helpstring("property CharacteristicsOverride")] HRESULT CharacteristicsOverride([out, retval] VARIANT *pVal); [propput, id(23), helpstring("property CharacteristicsOverride")] HRESULT CharacteristicsOverride([in] VARIANT newVal); [propget, id(24), helpstring("property IsRunning")] HRESULT IsRunning([out, retval] VARIANT_BOOL *pVal); [propget, id(25), helpstring("property IsDisabled")] HRESULT IsDisabled([out, retval] VARIANT_BOOL *pVal); [propget, id(26), helpstring("property HasProblem")] HRESULT HasProblem([out, retval] VARIANT_BOOL *pVal); [propget, id(27), helpstring("property ProblemCode")] HRESULT ProblemCode([out, retval] long *pVal); [propget, id(28), helpstring("property HasPrivateProblem")] HRESULT HasPrivateProblem([out, retval] VARIANT_BOOL *pVal); [propget, id(29), helpstring("property IsRootEnumerated")] HRESULT IsRootEnumerated([out, retval] VARIANT_BOOL *pVal); [propget, id(30), helpstring("property IsDisableable")] HRESULT IsDisableable([out, retval] VARIANT_BOOL *pVal); [propget, id(31), helpstring("property IsRemovable")] HRESULT IsRemovable([out, retval] VARIANT_BOOL *pVal); [id(32), helpstring("method RegRead")] HRESULT RegRead([in] BSTR key,[out, retval] VARIANT * pValue); [id(33), helpstring("method RegWrite")] HRESULT RegWrite([in] BSTR key,[in] VARIANT val,[in,optional] VARIANT strType); [id(34), helpstring("method RegDelete")] HRESULT RegDelete([in] BSTR key); [id(35), helpstring("method CurrentDriverPackage")] HRESULT CurrentDriverPackage([out,retval] LPDISPATCH *pDriver); [id(36), helpstring("method FindDriverPackages")] HRESULT FindDriverPackages([in,optional]VARIANT ScriptPath,[out,retval] LPDISPATCH *pDrivers); [id(37), helpstring("method HasInterface")] HRESULT HasInterface([in] BSTR Interface,[out,retval] VARIANT_BOOL *pFlag); [propget, id(38), helpstring("property Machine")] HRESULT Machine([out, retval] BSTR *pVal); }; [ object, uuid(EFD9A266-AA93-4B6B-BEF0-3A8426ED86BD), dual, helpstring("IDriverPackages Interface"), pointer_default(unique) ] interface IDriverPackages : IDispatch { [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), helpstring("method Item")] HRESULT Item([in] long Index,[out, retval] LPDISPATCH * ppVal); [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("method BestDriver")] HRESULT BestDriver([out, retval] LPDISPATCH *ppVal); }; [ object, uuid(DBF0C76E-CF22-453A-AFC3-598D658C6266), dual, helpstring("IDriverPackage Interface"), pointer_default(unique) ] interface IDriverPackage : IDispatch { [propget, id(1), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal); [propget, id(2), helpstring("property Manufacturer")] HRESULT Manufacturer([out, retval] BSTR *pVal); [propget, id(3), helpstring("property Provider")] HRESULT Provider([out, retval] BSTR *pVal); [propget, id(4), helpstring("property Date")] HRESULT Date([out, retval] DATE *pVal); [propget, id(5), helpstring("property Version")] HRESULT Version([out, retval] BSTR *pVal); [propget, id(6), helpstring("property ScriptName")] HRESULT ScriptName([out, retval] BSTR *pVal); [propget, id(7), helpstring("property ScriptFile")] HRESULT ScriptFile([out, retval] BSTR *pVal); [propget, id(8), helpstring("property HardwareIds")] HRESULT HardwareIds([out, retval] LPDISPATCH *pVal); [propget, id(9), helpstring("property CompatibleIds")] HRESULT CompatibleIds([out, retval] LPDISPATCH *pVal); [propget, id(10), helpstring("property DriverDescription")] HRESULT DriverDescription([out, retval] BSTR *pVal); [id(11), helpstring("method DriverFiles")] HRESULT DriverFiles([out,retval] LPDISPATCH * pDriverFiles); [id(12), helpstring("method Manifest")] HRESULT Manifest([out,retval] LPDISPATCH * pManifest); [propget, id(13), helpstring("property Reject")] HRESULT Reject([out, retval] VARIANT_BOOL *pVal); [propput, id(13), helpstring("property Reject")] HRESULT Reject([in] VARIANT_BOOL newVal); [propget, id(14), helpstring("property IsClassDriver")] HRESULT IsClassDriver([out, retval] VARIANT_BOOL *pVal); [propget, id(15), helpstring("property IsCompatibleDriver")] HRESULT IsCompatibleDriver([out, retval] VARIANT_BOOL *pVal); [propget, id(16), helpstring("property DescriptionIsDuplicate")] HRESULT DescriptionIsDuplicate([out, retval] VARIANT_BOOL *pVal); [propget, id(17), helpstring("property ProviderIsDuplicate")] HRESULT ProviderIsDuplicate([out, retval] VARIANT_BOOL *pVal); [propget, id(18), helpstring("property ExcludeFromList")] HRESULT ExcludeFromList([out, retval] VARIANT_BOOL *pVal); [propput, id(18), helpstring("property ExcludeFromList")] HRESULT ExcludeFromList([in] VARIANT_BOOL newVal); [propget, id(19), helpstring("property FromInternet")] HRESULT FromInternet([out, retval] VARIANT_BOOL *pVal); [propget, id(20), helpstring("property NoDriver")] HRESULT NoDriver([out, retval] VARIANT_BOOL *pVal); [propget, id(21), helpstring("property OldDriver")] HRESULT OldDriver([out, retval] VARIANT_BOOL *pVal); [propget, id(22), helpstring("property OldInternetDriver")] HRESULT OldInternetDriver([out, retval] VARIANT_BOOL *pVal); [propget, id(23), helpstring("property Rank")] HRESULT Rank([out, retval] long *pVal); [propput, id(23), helpstring("property Rank")] HRESULT Rank([in] long newVal); }; [ object, uuid(28BDF592-6A13-42D4-BAC9-91E4159D07BB), dual, helpstring("IStrings Interface"), pointer_default(unique) ] interface IStrings : IDispatch { [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), helpstring("method Item")] HRESULT Item([in,optional] VARIANT Index,[out, retval] VARIANT* pVal); [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("method Add")] HRESULT Add([in] VARIANT Value); [id(3), helpstring("method Insert")] HRESULT Insert([in] VARIANT Index,[in] VARIANT Value); [id(4), helpstring("method Remove")] HRESULT Remove([in] VARIANT Index); [id(5), helpstring("method Find")] HRESULT Find([in] BSTR name,[out,retval] long *pFound); [propget, id(6), helpstring("property CaseSensative")] HRESULT CaseSensative([out, retval] VARIANT_BOOL *pVal); [propput, id(6), helpstring("property CaseSensative")] HRESULT CaseSensative([in] VARIANT_BOOL newVal); }; [ object, uuid(957D1827-A650-4614-B319-8B665648EF25), helpstring("IDevicesEnum Interface"), pointer_default(unique) ] interface IDevicesEnum : IEnumVARIANT { }; [ object, uuid(C150F383-8B09-4474-8A0B-5A5A2163031F), helpstring("IDriverPackagesEnum Interface"), pointer_default(unique) ] interface IDriverPackagesEnum : IEnumVARIANT { }; [ object, uuid(CAADD716-7A2E-4953-85C0-C3B4B3285668), helpstring("IStringsEnum Interface"), pointer_default(unique) ] interface IStringsEnum : IEnumVARIANT { }; [ object, uuid(7E4CFB67-81CA-4D22-B22F-DE408BBD8359), helpstring("IDevInfoSet Interface"), pointer_default(unique) ] interface IDevInfoSet : IUnknown { [propget, helpstring("property Handle")] HRESULT Handle([out, retval] ULONGLONG *pVal); }; [ object, uuid(99A59A87-6117-4E85-94A1-DF6B5A3AE7F6), dual, helpstring("ISetupClass Interface"), pointer_default(unique) ] interface ISetupClass : IDispatch { [propget, id(DISPID_VALUE), helpstring("property Guid")] HRESULT Guid([out, retval] BSTR *pVal); [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal); [id(3), helpstring("method Devices")] HRESULT Devices([in,optional] VARIANT flags,[out,retval] LPDISPATCH * pDevices); [id(4), helpstring("method CreateEmptyDeviceList")] HRESULT CreateEmptyDeviceList([out,retval] LPDISPATCH *pDevices); [propget, id(5), helpstring("property Machine")] HRESULT Machine([out, retval] BSTR *pVal); [propget, id(6), helpstring("property Security")] HRESULT Security([out, retval] VARIANT *pVal); [propput, id(6), helpstring("property Security")] HRESULT Security([in] VARIANT newVal); [propget, id(7), helpstring("property DeviceTypeOverride")] HRESULT DeviceTypeOverride([out, retval] VARIANT *pVal); [propput, id(7), helpstring("property DeviceTypeOverride")] HRESULT DeviceTypeOverride([in] VARIANT newVal); [propget, id(8), helpstring("property ForceExclusive")] HRESULT ForceExclusive([out, retval] VARIANT *pVal); [propput, id(8), helpstring("property ForceExclusive")] HRESULT ForceExclusive([in] VARIANT newVal); [propget, id(9), helpstring("property CharacteristicsOverride")] HRESULT CharacteristicsOverride([out, retval] VARIANT *pVal); [propput, id(9), helpstring("property CharacteristicsOverride")] HRESULT CharacteristicsOverride([in] VARIANT newVal); [id(10), helpstring("method RegRead")] HRESULT RegRead([in] BSTR key,[out, retval] VARIANT * pValue); [id(11), helpstring("method RegWrite")] HRESULT RegWrite([in] BSTR key,[in] VARIANT val,[in,optional] VARIANT strType); [id(12), helpstring("method RegDelete")] HRESULT RegDelete([in] BSTR key); }; [ object, uuid(4B824988-12A1-4BA2-A7E8-9E185ADDA0CC), dual, helpstring("ISetupClasses Interface"), pointer_default(unique) ] interface ISetupClasses : IDispatch { [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** ppUnk); [id(DISPID_VALUE), helpstring("method Item")] HRESULT Item([in] long Index,[out, retval] LPDISPATCH * pVal); [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("method Add")] HRESULT Add([in] VARIANT ClassNames); [id(3), helpstring("method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("method Devices")] HRESULT Devices([in,optional] VARIANT flags,[out,retval] LPDISPATCH * pDevices); [propget, id(5), helpstring("property Machine")] HRESULT Machine([out, retval] BSTR *pVal); }; [ object, uuid(0A44A994-AC8C-42FD-A292-26C9DE3F48E3), helpstring("ISetupClassEnum Interface"), pointer_default(unique) ] interface ISetupClassEnum : IEnumVARIANT { }; [ object, uuid(3BAF3E4E-047A-4C95-9446-45E8ABAFEA47), helpstring("IDrvSearchSet Interface"), pointer_default(unique) ] interface IDrvSearchSet : IUnknown { }; [ object, uuid(0068CD4D-A0C0-4485-A3BD-FF66E7AFDC54), helpstring("IDeviceInternal Interface"), pointer_default(unique) ] interface IDeviceInternal : IUnknown { [propget, helpstring("property _Machine")] HRESULT _Machine([out, retval] BSTR *pVal); }; [ object, uuid(770B9CA9-B48D-46e1-BB7A-1A943DEA4FE8), helpstring("ISetupClassInternal Interface"), pointer_default(unique) ] interface ISetupClassInternal : IUnknown { [propget, helpstring("property _ClassGuid")] HRESULT _ClassGuid([out, retval] GUID *pVal); [propget, helpstring("property _Machine")] HRESULT _Machine([out, retval] BSTR *pVal); }; [ object, uuid(95B7DCA4-3C9E-4005-A67F-5853A66104C9), dual, helpstring("IDeviceIcon Interface"), pointer_default(unique) ] interface IDeviceIcon : IDispatch { [id(1), helpstring("method ObtainIcon")] HRESULT ObtainIcon([in] LPDISPATCH pSource); }; [ uuid(BE68BBE8-787D-4725-A047-2CBDCFE104EF), version(1.0), helpstring("DevCon2 1.0 Type Library") ] library DEVCON2Lib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(2F4D685C-7304-45F1-8075-443255A11156), helpstring("DeviceConsole Class") ] coclass DeviceConsole { [default] interface IDeviceConsole; }; [ uuid(A495BDB1-E386-43F5-86B5-F91DB9DD1509), helpstring("Devices Class") ] coclass Devices { [default] interface IDevices; }; [ uuid(176FAC5E-3A43-42A3-9CFC-157308934DF4), helpstring("Device Class"), noncreatable ] coclass Device { [default] interface IDevice; interface IDeviceInternal; interface ISetupClassInternal; }; [ uuid(271EFB29-2184-4829-8FA8-6B5B6508C2B6), helpstring("DriverPackages Class"), noncreatable ] coclass DriverPackages { [default] interface IDriverPackages; }; [ uuid(FF355B2F-91CF-431C-930C-128FBFC1ECC1), helpstring("DriverPackage Class"), noncreatable ] coclass DriverPackage { [default] interface IDriverPackage; }; [ uuid(BFDE9AEE-9418-42C0-8FA2-8B04C31ECDC7), helpstring("Strings Class") ] coclass Strings { [default] interface IStrings; }; [ uuid(84524499-52D7-4336-8A5D-EC6FE6A9C8DE), helpstring("SetupClasses Class") ] coclass SetupClasses { [default] interface ISetupClasses; }; [ uuid(5E54F740-54EC-4E3B-816E-85739A73C8A7), helpstring("SetupClass Class"), noncreatable ] coclass SetupClass { [default] interface ISetupClass; interface ISetupClassInternal; }; [ uuid(514C3095-47E8-4B24-B831-FB1C22C1B1B6), helpstring("DeviceIcon Class") ] coclass DeviceIcon { [default] interface IDeviceIcon; }; };