windows-nt/Source/XPSP1/NT/base/pnp/tools/devcon2/devcon2.idl
2020-09-26 16:20:57 +08:00

420 lines
20 KiB
Plaintext

// 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;
};
};