admin
base
basedrv
boot
busdrv
cluster
cmd
crts
ddk
dload
dloadhandler
efiutil
eventlog
firmware
fs
fsrec
hals
headless
inc
mspatch
mvdm
ntdll
ntdllsym
ntos
ntsetup
pnp
cfgmgr32
cfgmgrf
hdwwiz
hotplug
idl
inc
lib
newdev
setupapi
test
tools
chnghal
devcon
devcon2
scripts
devmgr
devcon2.inf
devlist.hta
hardware.vbs
readme.htm
serialports.vbs
test1.vbs
test1a.vbs
test2.vbs
test3.vbs
test4.vbs
test5.vbs
test6.vbs
test7.vbs
test7r1.vbs
test8.vbs
test8dcom.vbs
test8r1.vbs
devcon2.aps
devcon2.cpp
devcon2.def
devcon2.dsp
devcon2.dsw
devcon2.idl
devcon2.rc
devcon2.rgs
devcon2ps.def
devcon2ps.mk
device.cpp
device.h
deviceconsole.cpp
deviceconsole.h
deviceconsole.rgs
deviceic.bmp
deviceicon.cpp
deviceicon.h
deviceicon.htm
deviceicon.rgs
devices.cpp
devices.h
devices.rgs
devicesenum.cpp
devicesenum.h
devinfoset.cpp
devinfoset.h
dlldatax.c
dlldatax.h
driver.cpp
driver.h
drivers.cpp
drivers.h
driversenum.cpp
driversenum.h
drvsearchset.cpp
drvsearchset.h
makefile
readme.txt
resource.h
setupclass.cpp
setupclass.h
setupclassenum.cpp
setupclassenum.h
setupclasses.cpp
setupclasses.h
setupclasses.rgs
sources
stdafx.cpp
stdafx.h
strings.cpp
strings.rgs
stringsenum.cpp
stringsenum.h
utils.h
xstrings.h
devprop
dock
drvlist
pnpreg
scrubber
stopall
stopdevs
dirs
umpnpmgr
dirs
makefil0
published
qfe
remoteboot
screg
seaudit
strsafe
stublibs
subsys
testlockout
tools
urtl
wdmdrv
wdmlib
win32
wmi
wow64
xip
zlib
dirs
prerelease.inc
project.mk
com
developer
drivers
ds
enduser
inetcore
inetsrv
loc
mergedcomponents
multimedia
net
printscan
public
published
sdktools
shell
termsrv
tools
windows
dirs
makefil0
679 lines
25 KiB
HTML
679 lines
25 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Device Console Scripting</TITLE>
|
|
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
|
|
<META content="Microsoft FrontPage 5.0" name=GENERATOR>
|
|
</HEAD>
|
|
|
|
<BODY link=#0000ff><FONT face=Verdana size=5>
|
|
<H2>Device Console Scripting</H2></FONT><FONT face=Verdana size=2>
|
|
<P><SPAN style="COLOR: #ff0000; FONT-FAMILY: Arial; FONT-SIZE: 10pt">[This is
|
|
preliminary documentation and subject to change.]</SPAN></P>
|
|
|
|
<H3>SUMMARY</H3>
|
|
This document accompanies the Device Console COM Objects. The instructions herein apply to the Windows Whistler operating
|
|
system.
|
|
|
|
<p>The COM objects described in this document allow device query and management
|
|
using any COM aware language, for example, Visual Basic, VBScript and JScript.
|
|
|
|
<H3>HOW IT WORKS</H3>
|
|
|
|
<p>Right-click on "devcon.inf" and click "install". The COM objects will be
|
|
installed and made available for use. The following document describes the
|
|
objects available and samples on how to use them in context of VBScript.<h3>COM
|
|
Objects</h3>
|
|
|
|
<h4>DevCon.DeviceConsole {2F4D685C-7304-45F1-8075-443255A11156}</h4>
|
|
|
|
<p>Root object that can be created via CreateObject either locally or remote.<h5>Properties</h5>
|
|
|
|
<p>RebootRequired (Get/Set)<blockquote>
|
|
|
|
<p>This property is set if any derived objects indicate a reboot is required.</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>AllDevices(<i>[flags]</i>,<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Returns a <i>Devices </i>collection of all devices for local or specified
|
|
machine. Flags include 1 (Include not-present devices), 2 (In context of current
|
|
hardware profile rather than globally).</blockquote>
|
|
|
|
<p>DevicesBySetupClasses(<i>classList</i>,<i>[flags]</i>,<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Returns a <i>Devices</i> collection of all devices of the specified setup
|
|
classes, otherwise similar to AllDevices. The classes may either be GUID's in
|
|
string form or class names. ClassList may be either a single string, a
|
|
collection of strings or an array of strings.</blockquote>
|
|
|
|
<p>DevicesByInterfaceClasses(<i>classList</i>,<i>[flags]</i>,<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Returns a <i>Devices</i> collection of all devices that currently support any
|
|
of the specified interface classes. Interface classes must be specified as
|
|
GUID's in string form. Classlist may be either a single string, a collection of
|
|
strings or an array of strings.</blockquote>
|
|
|
|
<p>DevicesByInstanceIds(<i>idList</i>,<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Same as CreateEmptyDeviceList followed by an "Add" on that device list.</blockquote>
|
|
|
|
<p>SetupClasses(<i>[classList]</i>,<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Create a <i>SetupClasses</i> collection from the specified classlist.
|
|
Classlist may be either a single string, a collection of strings or an array of
|
|
strings. If classlist is omitted or is "", all classes for local/specified
|
|
machine is returned.</blockquote>
|
|
|
|
<p>CreateEmptyDeviceList(<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Create a <i>Devices</i> collection that contains no devices for specified
|
|
machine. Creating the collection object this way (or by any of the other methods
|
|
in this object) associates the collection with this object and allows child
|
|
objects to be associated with this object. Creating the<i> </i>collection object
|
|
directly will not associate it with this object or a machine.<i> </i>
|
|
</blockquote>
|
|
|
|
<p>CreateEmptySetupClassList(<i>[machine]</i>)<blockquote>
|
|
|
|
<p>Create a <i>SetupClasses</i> collection that contains no setup classes for
|
|
specified machine. Creating the collection object this way (or by any of the
|
|
other methods in this object) associates the collection with this object and
|
|
allows child objects to be associated with this object. Creating the collection
|
|
object directly will not associate it with this object or a machine.</blockquote>
|
|
|
|
<p>UpdateDriver(<i>scriptName</i>,<i>hardwareId</i>,<i>[flags]</i>)<blockquote>
|
|
|
|
<p>Updates all devices that have specified<i> </i>hardwareId with best<i> </i>
|
|
driver in either specified script or system scripts (currently only INF files
|
|
are supported). A failure must be caught with appropriate error handling. Reboot
|
|
status can be checked via RebootRequired property. Appropriate permissions are
|
|
required.</blockquote>
|
|
|
|
<p>CheckReboot<blockquote>
|
|
|
|
<p>Prompts user for reboot if one is required. Reboots machine if user says ok,
|
|
otherwise returns. Appropriate permissions are required.</blockquote>
|
|
|
|
<p>RebootReasonHardware<blockquote>
|
|
|
|
<p>Unconditionally reboots the machine logging the reason as planned "hardware".
|
|
Appropriate permissions are required.</blockquote>
|
|
|
|
<p>AttachEvent(<i>event,handler</i>)<blockquote>
|
|
|
|
<p>Attach an event handler for the specified <i>event</i>. This function returns
|
|
'true' to indicate success. <span style="background-color: #FFFF00">currently no
|
|
other value is returned.</span> <i>Handler</i> is a function pointer. If
|
|
multiple handlers are specified, there is no guarantee on order of execution. In
|
|
VBScript, the <i>handler</i> parameter must be obtained using "getRef". The
|
|
following events are currently defined:<blockquote>
|
|
<table border="0" cellpadding="4" style="border-collapse: collapse" bordercolor="#111111" cellspacing="4">
|
|
<tr>
|
|
<td><b>Event name</b></td>
|
|
<td><b>Parameters</b></td>
|
|
<td><b>Action</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>OnDeviceNodesChanged</td>
|
|
<td><i>none</i></td>
|
|
<td>Indicates a device change (inserted/deleted/started/stopped) akin to
|
|
DBT_DEVNODES_CHANGED.</td>
|
|
</tr>
|
|
</table>
|
|
</blockquote>
|
|
</blockquote>
|
|
|
|
<p>DetachEvent(<i>event,</i><i>handler</i>)<blockquote>
|
|
|
|
<p>Detach event handler previously attached by AttachEvent. <i>Handler</i> and
|
|
<i>event</i> must be exactly the same as that specified in AttachEvent.</blockquote>
|
|
|
|
<h4>DevCon.Strings {BFDE9AEE-9418-42C0-8FA2-8B04C31ECDC7}</h4>
|
|
|
|
<p>Root object that can be created via CreateObject, also may be returned by
|
|
methods/properties. Provides a dynamic collection of strings. This dynamic
|
|
collection may be enumerated and/or indexed. Default method is "Item".<h5>
|
|
Properties</h5>
|
|
|
|
<p>CaseSensative (Get/Set)<blockquote>
|
|
|
|
<p>Normally the strings collection is lenient on case when indexing by string or
|
|
when finding strings. Leniency may be changed using this property. All strings
|
|
are stored case sensitive.</blockquote>
|
|
|
|
<p>Count (Get)<blockquote>
|
|
|
|
<p>Number of items in the collection. The Collection is indexed 1..Count
|
|
inclusive.</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>Item(<i>[index/value]</i>) (Default)<blockquote>
|
|
|
|
<p>If no index specified, a snapshot of the collection is returned as a 1-based
|
|
array, otherwise the indexed string is returned. Either a numerical or string
|
|
index may be specified.</blockquote>
|
|
|
|
<p>Add(<i>items</i>)<blockquote>
|
|
|
|
<p>A string, collection of strings or array of strings may be added to the
|
|
collection. Multi-dimension arrays are flattened.</blockquote>
|
|
|
|
<p>Insert(<i>index/value</i>,<i>items</i>)<blockquote>
|
|
|
|
<p>A string, collection of strings or array of strings may be inserted before
|
|
the specified index (which may be a string in the collection or a numeric
|
|
index).</blockquote>
|
|
|
|
<p>Remove(<i>index/value</i>)<blockquote>
|
|
|
|
<p>Remove a string either by numeric index or by value.</blockquote>
|
|
|
|
<p>Find(<i>value</i>)<blockquote>
|
|
|
|
<p>Returns index of string if it exists, otherwise 0.</blockquote>
|
|
|
|
<h4> </h4>
|
|
|
|
<h4>DevCon.SetupClasses {84524499-52D7-4336-8A5D-EC6FE6A9C8DE}</h4>
|
|
|
|
<p>Root object that can be created via CreateObject (although creation via
|
|
DeviceConsole is preferred). Provides a dynamic collection of setup classes.
|
|
This dynamic collection may be enumerated and/or indexed. Default method is
|
|
"Item". This object may be associated with a machine and is typically associated
|
|
with a DeviceConsole object.<h5>Properties</h5>
|
|
|
|
<p>Count (Get)<blockquote>
|
|
|
|
<p>Returns number of SetupClass objects in the collection.</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>Item(<i>index/guid</i>) (Default)<blockquote>
|
|
|
|
<p>Returns <i>SetupClass</i> object at specified index. Index is 1-based
|
|
numeric, or the class GUID may be supplied.</blockquote>
|
|
|
|
<p>Add(<i>classNames</i>)<blockquote>
|
|
|
|
<p>Add one or more classes to the collection. If a single GUID string is
|
|
specified, then only one SetupClass object will be added. If a class name is
|
|
specified, it is possible for multiple SetupClass objects to be associated with
|
|
the class name.</blockquote>
|
|
|
|
<p>Remove(<i>index/guid</i>)<blockquote>
|
|
|
|
<p>Remove a class from the collection.</blockquote>
|
|
|
|
<p>Devices(<i>[flags]</i>)<blockquote>
|
|
|
|
<p>Return <i>Devices</i> collection that contains the union of the devices of
|
|
all the device classes specified in this collection.</blockquote>
|
|
|
|
<h4> </h4>
|
|
|
|
<h4>DevCon.SetupClass</h4>
|
|
|
|
<p>A single object in the SetupClasses collection. Inherits any information
|
|
associated with the SetupClasses collection it was derived from. Default
|
|
property is "Guid".<h5>Properties</h5>
|
|
|
|
<p>Guid (Get, Default)<blockquote>
|
|
|
|
<p>Returns class Guid.</blockquote>
|
|
|
|
<p>Name (Get)<blockquote>
|
|
|
|
<p>Returns simple name of the setup class.</blockquote>
|
|
|
|
<p>Description (Get)<blockquote>
|
|
|
|
<p>Returns class description.</blockquote>
|
|
|
|
<p>Security (Get/Set)<blockquote>
|
|
<p>Default device security for class in SDDL format. Setting it to null or
|
|
nothing will delete setting.<span style="background-color: #FFFF00"> Not yet
|
|
implemented.</span></p>
|
|
</blockquote>
|
|
|
|
<p>DeviceTypeOverride (Set/Get)<blockquote>
|
|
|
|
<p>Default device type for class (eg FILE_DEVICE_CDROM = 0x02). Setting it to
|
|
null or nothing will delete setting.<span style="background-color: #FFFF00"> Not
|
|
yet implemented.</span></blockquote>
|
|
|
|
<p>ForceExclusive (Set/Get)<blockquote>
|
|
|
|
<p>If TRUE, sets default to force all devices in the class to only be opened in exclusive mode.
|
|
Setting it to null or nothing will delete setting.<span style="background-color: #FFFF00">
|
|
Not yet implemented.</span></blockquote>
|
|
|
|
<p>CharacteristicsOverride (Get/Set)<blockquote>
|
|
|
|
<p>Allows forcing (setting) of FILE_REMOVABLE_MEDIA (1) FILE_READ_ONLY_DEVICE
|
|
(2) FILE_FLOPPY_DISKETTE (4) FILE_WRITE_ONCE_MEDIA (8) FILE_DEVICE_SECURE_OPEN
|
|
(256)<p>If specified, sets default for the class. Setting it to null or nothing
|
|
will delete setting.<span style="background-color: #FFFF00"> Not yet
|
|
implemented.</span></blockquote>
|
|
|
|
<p>Machine (Get)<blockquote>
|
|
|
|
<p>Name of remote machine (usually prefixed by '\\').</blockquote>
|
|
|
|
<p> <h5>Methods</h5>
|
|
|
|
<p>Devices(<i>[flags]</i>)<blockquote>
|
|
|
|
<p>Return <i>Devices</i> collection for devices of this specific setup class.</blockquote>
|
|
|
|
<p>CreateEmptyDeviceList()<blockquote>
|
|
<p>Creates an empty device list that is locked to this setup class. (That is,
|
|
no devices can be added to it unless that device has the same setup class).</p>
|
|
</blockquote>
|
|
|
|
<p>RegRead(<i>keyPath</i>)<blockquote>
|
|
|
|
<p>If keyPath ends in
|
|
"\" then read key's default value, otherwise read named value. Supports reading
|
|
of REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ and REG_DWORD values.</blockquote>
|
|
|
|
<p>RegWrite(<i>keyPath</i>,<i>value</i>,<i>[type]</i>)<blockquote>
|
|
|
|
<p>If keyPath
|
|
ends in "\" then write key's default value, otherwise write named value.
|
|
Supports writing of REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD and
|
|
REG_BINARY values. If type is specified, it should be a string "REG_SZ", "REG_EXPAND_SZ",
|
|
"REG_MULTI_SZ", "REG_DWORD" or "REG_BINARY" and explicitly indicates the type of
|
|
value to be written. If not specified, type is determined from value
|
|
(collections will be written as REG_MULTI_SZ, strings as REG_SZ, integers as
|
|
REG_DWORD). If "REG_BINARY" is specified, value must be numeric.</blockquote>
|
|
|
|
<p>RegDelete(keyPath)<blockquote>
|
|
|
|
<p>Delete class specific value.</blockquote>
|
|
|
|
<h4> </h4>
|
|
|
|
<h4>DevCon.Devices {176FAC5E-3A43-42A3-9CFC-157308934DF4}</h4>
|
|
|
|
<p>Root object that can be created via CreateObject (although creation via
|
|
DeviceConsole or derived objects is preferred). Provides a dynamic collection of
|
|
devices. This dynamic collection may be enumerated and/or indexed. This object
|
|
may be associated with a machine and is typically associated with a
|
|
DeviceConsole object. Default method is "Item".<h5>Properties</h5>
|
|
|
|
<p>Count (Get)<blockquote>
|
|
|
|
<p>Returns number of Device objects in the collection.</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>Item(<i>index/instanceId</i>) (Default)<blockquote>
|
|
|
|
<p>Return specified Device object. Index is 1-based.</blockquote>
|
|
|
|
<p>Add(<i>instanceId/instanceIdCollection</i>)<blockquote>
|
|
|
|
<p>Add one or more devices with specified instance ID's to this collection. This operation
|
|
will fail if the specified device does not exist, or if the collection is locked
|
|
to a specific setup class and the devi ce is of a different setup class.</blockquote>
|
|
|
|
<p>Remove(<i>index/instanceId</i>)<blockquote>
|
|
|
|
<p>Remove a device from collection. Index is 1-based. Does not delete the device
|
|
itself.</blockquote>
|
|
|
|
<p>CreateRootDevice(<i>[hardwareId]</i>)<blockquote>
|
|
|
|
<p>Create a root-enumerated device and add to the collection. If the collection
|
|
is locked to a specific setup class, the new device is associated with that
|
|
setup class. The device will have the specified hardware id. Returns a Device object for the newly created device.</blockquote>
|
|
|
|
<h4> </h4>
|
|
|
|
<h4>DevCon.Device</h4>
|
|
|
|
<p>A single object representing a device. Usually associated with a
|
|
DeviceConsole object and may be associated with a specific machine. Default
|
|
property is "InstanceId"<h5>Properties</h5>
|
|
|
|
<p>InstanceId (Default,Get)<blockquote>
|
|
|
|
<p>Instance Id of the device.</blockquote>
|
|
|
|
<p>RebootRequired (Get/Set)<blockquote>
|
|
|
|
<p>Indicates if this device requires a reboot to start. Setting this property
|
|
will also set the RebootRequired property of the associated DeviceConsole object
|
|
if any.</blockquote>
|
|
|
|
<p>Description (Get)<blockquote>
|
|
|
|
<p>Description of device as it would appear in device manager. If friendly name
|
|
is available, that is returned instead.</blockquote>
|
|
|
|
<p>HardwareIds (Get/Set)<blockquote>
|
|
|
|
<p>Strings collection of all hardware Id's reported by the device. May be
|
|
modified for root-enumerated devices. Setting it to null or nothing will delete
|
|
it.</blockquote>
|
|
|
|
<p>CompatibleIds (Get/Set)<blockquote>
|
|
|
|
<p>Strings collection of all compatible Id's reported by the device. May be
|
|
modified for root-enumerated devices. Setting it to null or nothing will delete
|
|
it.</blockquote>
|
|
|
|
<p>ServiceName (Get)<blockquote>
|
|
|
|
<p>Name of FDO service.</blockquote>
|
|
|
|
<p>Class (Get)<blockquote>
|
|
|
|
<p>GUID of SetupClass that device is associated with.</blockquote>
|
|
|
|
<p>Manufacturer (Get)<blockquote>
|
|
|
|
<p>Name of manufacturer of device if known.</blockquote>
|
|
|
|
<p>FriendlyName (Get/Set)<blockquote>
|
|
|
|
<p>Friendly name of device. Setting it to null or nothing will delete it.</blockquote>
|
|
|
|
<p>LocationInformation (Get/Set)<blockquote>
|
|
|
|
<p>Informative information about where the device is located. Setting it to null
|
|
or nothing will delete it.</blockquote>
|
|
|
|
<p>UpperFilters (Get/Set)<blockquote>
|
|
|
|
<p>Strings collection of all upper filter services. Setting it to null or
|
|
nothing will delete it.</blockquote>
|
|
|
|
<p>LowerFilters (Get/Set)<blockquote>
|
|
|
|
<p>Strings collection of all lower filter services. Setting it to null or
|
|
nothing will delete it.</blockquote>
|
|
|
|
<p>EnumeratorName (Get)<blockquote>
|
|
|
|
<p>Indicates bus enumerator type.</blockquote>
|
|
|
|
<p>Security (Get/Set)<blockquote>
|
|
<p>Device security in SDDL format. Setting it to null or nothing will delete
|
|
it.</p>
|
|
</blockquote>
|
|
|
|
<p>DeviceTypeOverride (Set/Get)<blockquote>
|
|
|
|
<p>Allows device type to be specified (eg FILE_DEVICE_CDROM = 0x02). If
|
|
specified overrides class settings. Setting it to null or nothing will delete
|
|
it.</blockquote>
|
|
|
|
<p>ForceExclusive (Set/Get)<blockquote>
|
|
|
|
<p>If TRUE, forces the device to only be opened in exclusive mode. If specified,
|
|
overrides class settings. Setting it to null or nothing will delete it.</blockquote>
|
|
|
|
<p>CharacteristicsOverride (Get/Set)<blockquote>
|
|
|
|
<p>Allows forcing (setting) of FILE_REMOVABLE_MEDIA (1) FILE_READ_ONLY_DEVICE
|
|
(2) FILE_FLOPPY_DISKETTE (4) FILE_WRITE_ONCE_MEDIA (8) FILE_DEVICE_SECURE_OPEN
|
|
(256)<p>If specified, overrides class settings. Setting it to null or nothing
|
|
will delete it.</blockquote>
|
|
|
|
<p>IsRunning (Get)<blockquote>
|
|
|
|
<p>True if device is up and running.</blockquote>
|
|
|
|
<p>IsDisabled (Get)<blockquote>
|
|
|
|
<p>True if device is disabled.</blockquote>
|
|
|
|
<p>HasProblem (Get)<blockquote>
|
|
|
|
<p>True if device has any kind of problem.</blockquote>
|
|
|
|
<p>ProblemCode (Get)<blockquote>
|
|
|
|
<p>Non-zero problem code if available, otherwise 0 (including if the device has
|
|
a private problem).</blockquote>
|
|
|
|
<p>HasPrivateProblem (Get)<blockquote>
|
|
|
|
<p>True if device has a private problem that no code is available for.</blockquote>
|
|
|
|
<p>IsRootEnumerated (Get)<blockquote>
|
|
|
|
<p>True if device is root enumerated.</blockquote>
|
|
|
|
<p>IsDisableable (Get)<blockquote>
|
|
|
|
<p>True if device can be disabled.</blockquote>
|
|
|
|
<p>IsRemovable (Get)<blockquote>
|
|
|
|
<p>True if device supports being removed while OS is running.</blockquote>
|
|
|
|
<p>Machine (Get)<blockquote>
|
|
|
|
<p>Name of remote machine (usually prefixed by '\\').</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>Delete<blockquote>
|
|
|
|
<p>Delete (remove) the device. If successful, this object is invalid and the
|
|
device is removed.</blockquote>
|
|
|
|
<p>Enable<blockquote>
|
|
|
|
<p>Enable the device. If reboot is required, it is reported through the
|
|
RebootRequired property.</blockquote>
|
|
|
|
<p>Disable<blockquote>
|
|
|
|
<p>Disable the device. If reboot is required, it is reported through the
|
|
RebootRequired property.</blockquote>
|
|
|
|
<p>Start<blockquote>
|
|
|
|
<p>Start a stopped device.</blockquote>
|
|
|
|
<p>Stop<blockquote>
|
|
|
|
<p>Stop a running device.</blockquote>
|
|
|
|
<p>Restart<blockquote>
|
|
|
|
<p>Stop and then Start a device (property-change). This may succeed in cases
|
|
where Stop-Start would not.</blockquote>
|
|
|
|
<p>HasInterface(<i>interfaceClass</i>)<blockquote>
|
|
|
|
<p>Return true if the device supports the specified interface (and that
|
|
interface is currently active).</blockquote>
|
|
|
|
<p>RegRead(<i>keyPath</i>)<blockquote>
|
|
|
|
<p>If keyPath is prefixed with "SW\" then read the devices software key. If it
|
|
is prefixed with "HW\" then read the devices hardware key. If keyPath ends in
|
|
"\" then read key's default value, otherwise read named value. Supports reading
|
|
of REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ and REG_DWORD values.</blockquote>
|
|
|
|
<p>RegWrite(<i>keyPath</i>,<i>value</i>,<i>[type]</i>)<blockquote>
|
|
|
|
<p>If keyPath is prefixed with "SW\" then write to the devices software key. If
|
|
it is prefixed with "HW\" then write to the devices hardware key. If keyPath
|
|
ends in "\" then write key's default value, otherwise write named value.
|
|
Supports writing of REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD and
|
|
REG_BINARY values. If type is specified, it should be a string "REG_SZ", "REG_EXPAND_SZ",
|
|
"REG_MULTI_SZ", "REG_DWORD" or "REG_BINARY" and explicitly indicates the type of
|
|
value to be written. If not specified, type is determined from value
|
|
(collections will be written as REG_MULTI_SZ, strings as REG_SZ, integers as
|
|
REG_DWORD). If "REG_BINARY" is specified, value must be numeric.</blockquote>
|
|
|
|
<p>RegDelete(keyPath)<blockquote>
|
|
|
|
<p>If keyPath is prefixed with "SW\" then delete the specified device software
|
|
|
|
value. If it is prefixed with "HW\" then delete the specified device
|
|
hardware value.</blockquote>
|
|
|
|
<p>CurrentDriverPackage<blockquote>
|
|
|
|
<p>Determine driver package that was used for device. Return a DriverPackage
|
|
object or "nothing" if no driver package found for this device.</blockquote>
|
|
|
|
<p>FindDriverPackages(<i>[pathList]</i>)<blockquote>
|
|
|
|
<p>Obtain a DriverPackages collection of all viable drivers by searching system
|
|
directories and specified pathList (string/collection/array) for driver
|
|
packages. PathList may contain directories to search for installation scripts,
|
|
or may specify installation scripts by name (currently only INF files).
|
|
Sub-directories are not searched. An empty collection is returned if no
|
|
compatible drivers were found. If a path list is specified, only those
|
|
files/directories are searched unless one of the paths is "*" (search default
|
|
paths).<p> </blockquote>
|
|
|
|
<h4>DevCon.DriverPackages</h4>
|
|
|
|
<p>A collection of Driver Packages for a specific device. This collection may be
|
|
enumerated and/or indexed. This object is always associated with a device.
|
|
Default method is "Item".<h5>Properties</h5>
|
|
|
|
<p>Count<blockquote>
|
|
|
|
<p>Number of drivers.</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>Item(<i>[index]</i>)<blockquote>
|
|
|
|
<p>Returns a specific DriverPackage object. Index is 1-based.</blockquote>
|
|
|
|
<p>BestDriver<blockquote>
|
|
|
|
<p>Returns best DriverPackage object for device.</blockquote>
|
|
|
|
<p>Add(<i>[pathlist]</i>)<blockquote>
|
|
|
|
<p>Add more drivers. <span style="background-color: #FFFF00">Not implemented.</span><p> </blockquote>
|
|
|
|
<h4>DevCon.DriverPackage</h4>
|
|
|
|
<p>An individual driver package.<h5>Properties</h5>
|
|
|
|
<p>Description (Get)<blockquote>
|
|
|
|
<p>Default description for the device. (Note that this may be different to
|
|
DriverDescription).</blockquote>
|
|
|
|
<p>Manufacturer (Get)<blockquote>
|
|
|
|
<p>Manufacturer of the device.</blockquote>
|
|
|
|
<p>Provider (Get)<blockquote>
|
|
|
|
<p>Provider of the install script.</blockquote>
|
|
|
|
<p>Date (Get)<blockquote>
|
|
|
|
<p>Driver date (returned as a date/time type).</blockquote>
|
|
|
|
<p>Version (Get)<blockquote>
|
|
|
|
<p>Version of driver (returned as a string in format "a.b.c.d").</blockquote>
|
|
|
|
<p>ScriptFile (Get)<blockquote>
|
|
|
|
<p>Name of file that determines how driver is to be installed. Currently only
|
|
INF files are supported.</blockquote>
|
|
|
|
<p>ScriptName (Get)<blockquote>
|
|
|
|
<p>In context of INF files, this is the decorated "DDInstall" section.</blockquote>
|
|
|
|
<p>HardwareIds (Get)<blockquote>
|
|
|
|
<p>Zero or more hardware ID's returned as a collection of strings. These are
|
|
devices the package was designed for.</blockquote>
|
|
|
|
<p>CompatibleIds (Get)<blockquote>
|
|
|
|
<p>Zero or more compatible ID's returned as a collection of strings. These are
|
|
devices the package will work with.</blockquote>
|
|
|
|
<p>DriverDescription (Get)<blockquote>
|
|
|
|
<p>A description of the driver (vs. the default description of the device).</blockquote>
|
|
|
|
<p>Reject (Get/Set)<blockquote>
|
|
<p>Mark the driver that it should not be considered when using "BestDriver"
|
|
method in containing collection.</blockquote>
|
|
<p>IsClassDriver (Get)<blockquote>
|
|
<p>Indicates this is a class driver.</blockquote>
|
|
<p>IsCompatibleDriver (Get)<blockquote>
|
|
<p>Indicates this is a compatible driver.</blockquote>
|
|
<p>DescriptionIsDuplicate (Get)<blockquote>
|
|
<p>Indicates there is another driver with same description in the containing
|
|
collection.</blockquote>
|
|
<p>ProviderIsDuplicate (Get)<blockquote>
|
|
<p>Indicates there is another driver with same provider in the containing
|
|
collection.</blockquote>
|
|
<p>ExcludeFromList (Get)<blockquote>
|
|
<p>Exclude this driver when using (future) DisplayAndSelectDriver method on
|
|
the containing collection.</blockquote>
|
|
<p>FromInternet (Get)<blockquote>
|
|
<p>Indicates this driver is from the internet.</blockquote>
|
|
<p>NoDriver (Get)<blockquote>
|
|
<p>No physical driver will be installed with this driver package.</blockquote>
|
|
<p>OldDriver (Get)<blockquote>
|
|
<p>Driver presently/previously controlled device.</blockquote>
|
|
<p>OldInternetDriver (Get)<blockquote>
|
|
<p>Driver was from internet but source files are no longer available.</blockquote>
|
|
<p>Rank (Get/Set)<blockquote>
|
|
<p>Obtains/modifies ranking of driver prior to searching using "BestDriver"
|
|
method in containing collection. The value '0' indicates ideal driver. Values
|
|
0x8000-0xFFFF indicate an un-trusted driver.</blockquote>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>DriverFiles<blockquote>
|
|
|
|
<p>For an installed package, the files that are used by the driver. For other
|
|
drivers, the files that would be used by the driver once installed.</blockquote>
|
|
|
|
<p>Manifest<blockquote>
|
|
|
|
<p>Source location of the files. <span style="background-color: #FFFF00">Not
|
|
implemented correctly, needs rethinking.</span></blockquote>
|
|
|
|
<p> <h4>DevCon.DeviceIcon {514C3095-47E8-4B24-B831-FB1C22C1B1B6}</h4>
|
|
|
|
<p>ActiveX control to display a device/class icon. Control is windowless and
|
|
transparent.<h5>Properties</h5>
|
|
|
|
<h5>Methods</h5>
|
|
|
|
<p>ObtainIcon(<i>deviceObject</i>/<i>classObject</i>)</p>
|
|
|
|
<blockquote>
|
|
<p>Pass in a device or class object. An appropriate icon will be displayed.</p>
|
|
|
|
</blockquote>
|
|
<p> </p>
|
|
|
|
</FONT><FONT face="Courier" size="3"><H3>FEEDBACK</H3>
|
|
<P>We welcome your comments, problem reports and wish-list requests. Please
|
|
submit them by pointing your Internet browser to <A href="http://www.microsoft.com/ddk">http://www.microsoft.com/ddk</A>.
|
|
</FONT></P>
|
|
<P align=center><FONT face=Verdana size=2><A href="#top">Top of page</A></P></FONT>
|
|
<TABLE border=0" cellSpacing="0" width="624">
|
|
<TR>
|
|
<TD bgColor="#00ffff" height="2" vAlign="middle"></TD></TR></TABLE>
|
|
<FONT face="MS Sans Serif" size=1>
|
|
<P>© Microsoft Corporation 2001</FONT><FONT face=Verdana size=2>
|
|
</P></FONT>
|
|
</BODY> |