windows-driver.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 12:46:36 +0200
changeset 1905 fba288d59662
parent 1894 2e3bc2435d68
child 1912 8b81a8f0f692
permissions -rw-r--r--
Include only local subsections into TOC. This prevent duplication of TOC when build single page HTML document. Also this make unnecessary CSS hack to hide document title as top level section.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     1
.. -*- coding: utf-8; -*-
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1202
diff changeset
     2
.. include:: HEADER.rst
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
     3
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     4
=====================
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     5
 Driver for Windows.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     6
=====================
1346
a2fbf50a43f4 Fix: Has no 'contents::' directive.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1894
diff changeset
     8
   :local:
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     9
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    10
About.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    11
======
791
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 790
diff changeset
    12
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 790
diff changeset
    13
  microsoft.public.development.device.drivers
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 790
diff changeset
    14
                NNTP driver development group at msnews.microsoft.com:119
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 790
diff changeset
    15
  http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 790
diff changeset
    16
                Web-interface to NNTP forum
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 790
diff changeset
    17
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    18
Which version exist?
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    19
====================
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    20
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    21
 - VxD
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    22
                Windows 3.x and Windows 9x
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    23
 - Windows Driver Model (WDM)
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    24
                Windows 98, Windows 98 Second Edition, Windows Me, Windows
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    25
                2000, Windows XP, Windows Server 2003 and Windows Vista (for
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    26
                backwards compatibility)
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    27
 - Windows Driver Foundation (WDF)
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    28
                Windows 2000 and later
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    29
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    30
  http://en.wikipedia.org/wiki/VxD
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    31
                VxD
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    32
  http://en.wikipedia.org/wiki/Windows_Driver_Model
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    33
                WDM.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    34
  http://en.wikipedia.org/wiki/Windows_Driver_Foundation
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    35
                WDF.
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    36
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    37
Msinfo32.exe.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    38
=============
183
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    39
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    40
Windows XP/2003 System Information Tool.
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    41
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    42
 * http://support.microsoft.com/kb/308549
183
a5133e34ab75 About Msinfo32.exe
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 176
diff changeset
    43
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    44
Sysinternals.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    45
=============
184
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    46
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    47
WinObj.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    48
-------
184
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    49
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    50
Winobj is a program that lets you browse the Windows NT Object Manager
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    51
namespace.
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    52
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    53
devtree.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    54
--------
184
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    55
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    56
The DeviceTree V2.12 utility is a Windows XP/Server 2003 utility written by
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    57
OSR, that allows the user the ability to display the drivers and devices
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    58
loaded in 2 different views. The first view Driver View the user sees a list
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    59
of all the drivers loaded in kernel mode and all the devices that those
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    60
drivers have created. In the second view PnP View the user sees a list of all
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    61
the devices in the system from that of Plug and Play Manager (PnP).
380c761db215 About WinObj and devtree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 183
diff changeset
    62
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    63
Microsoft DDK.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    64
==============
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    65
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    66
DevCon.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    67
-------
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    68
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    69
Supported device classes::
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    70
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    71
  cmd> devcon.exe classes
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    72
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    73
Which files used by specific driver (with "*" prints list of files for all
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    74
drivers)::
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    75
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    76
  cmd> devcon.exe driverfiles *
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    77
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    78
Device ID (names included)::
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    79
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    80
  cmd> devcon.exe hwids *
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    81
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    82
Device status (running/stoped)::
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    83
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    84
  cmd> devcon.exe status *
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    85
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    86
USB Command Verifier.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    87
=====================
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    88
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    89
All USB peripherals are required to pass the Device Framework tests in order
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    90
to gain certification.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    91
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    92
 * http://www.usb.org/developers/tools/
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    93
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    94
Files.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    95
======
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    96
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    97
Windows 98 SE/ME.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    98
-----------------
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
    99
284
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
   100
 * .386
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
   101
   VxD driver under Windows 3.x
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
   102
 * .vxd
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
   103
   VxD driver under Windows 95
b21079a6bc2b Files for windows driver.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 184
diff changeset
   104
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   105
Windows NT (2000/XP/2003).
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   106
--------------------------
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   107
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   108
 * .inf
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   109
   Stored in %Windir%\Inf.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   110
 * .pnf
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   111
   Precompiled INF File. Stored in %Windir%\Inf.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   112
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   113
Driver type.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   114
============
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   115
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   116
CDC.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   117
----
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   118
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   119
  http://support.microsoft.com/kb/837637
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   120
                How to use or to reference the Usbser.sys driver from
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   121
                universal serial bus (USB) modem .inf files.
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   122
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   123
Driver class.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   124
=============
176
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   125
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   126
  http://msdn.microsoft.com/en-us/library/ms791134.aspx
5181378e42af CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 173
diff changeset
   127
                System-Supplied Device Setup Classes
450
4718697074d9 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 303
diff changeset
   128
  http://msdn.microsoft.com/en-us/library/ff538820.aspx
4718697074d9 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 303
diff changeset
   129
                Drivers for the Supported USB Device Classes
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   130
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   131
How list drivers?
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   132
=================
303
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   133
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   134
Set environment devmgr_show_nonpresent_devices to 1 and run Device Manager,
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   135
select "View" --> "Show hidden devices".
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   136
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   137
How install drivers?
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   138
====================
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   139
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   140
dpinst.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   141
-------
619
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   142
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   143
Driver Install Frameworks (DIFx) tools allow installing driver under following
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   144
OSes:
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   145
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   146
  Windows Server 2008 R2
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   147
  Windows 7
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   148
  Windows Server 2008
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   149
  Windows Vista
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   150
  Windows Server 2003
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   151
  Windows XP
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   152
  Windows 2000
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   153
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   154
It consist from API (from library, DIFxAPI, DIFxApp) and command line tool
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   155
(DPInst) which can be found in WDK and their licence allow redistribution.
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   156
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   157
  http://www.microsoft.com/whdc/driver/install/DIFxFAQ.mspx
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   158
                Information about Driver Install Frameworks Tools
303
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   159
  http://msdn.microsoft.com/ru-ru/magazine/cc302206%28en-us%29.aspx
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   160
                If you update any drivers in Device Manager
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   161
                %windir%\system32\ReinstallBackups folder is created with
ff23efaf6857 How list drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   162
                backups of the old drivers.
301
072d4cc9d726 How install drivers?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 284
diff changeset
   163
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   164
devcon.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   165
-------
619
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   166
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   167
This command-line specifies the location of the driver package's INF file (c:\toaster\toastpkg.inf)
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   168
and the toaster device's hardware identifier (ID), which is specified within the INF file::
619
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   169
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   170
  cmd# devcon.exe install c:\toaster\toastpkg.inf {b85b7c50-6a01-11d2-b841-00c04fad5171}\mstoaster
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   171
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   172
See:
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   173
619
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   174
  http://msdn.microsoft.com/en-us/library/ff553642.aspx
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   175
                Using the DevCon Tool to Install a Driver Package
bae478dec531 About devcon.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 618
diff changeset
   176
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   177
How debug Windows drivers.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   178
==========================
458
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   179
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   180
To detect whether a driver loaded, check the status of the device in Device Manager.
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   181
789
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   182
SetupAPI logs information about device installation in a plain-text log file
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   183
that you can use to verify the installation of a device and to troubleshoot
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   184
device installation problems.
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   185
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   186
For Windows XP/2003 check::
789
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   187
790
cb53d2483faf Fix file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 789
diff changeset
   188
  %SystemRoot%/setupapi.log
789
6472b80a8b24 SetupAPI log for Windows XP/2003.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 735
diff changeset
   189
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   190
For Windows Vista and later versions of Windows check::
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   191
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   192
  %SystemRoot%\inf\SetupAPI.dev.log     installation events in the device
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   193
  %SystemRoot%\inf\SetupAPI.app.log     application installation
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   194
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   195
See:
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   196
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   197
  http://msdn.microsoft.com/en-us/library/ff553497.aspx
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   198
                Troubleshooting Install and Load Problems with Signed Driver Packages
458
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   199
  http://www.microsoft.com/whdc/devtools/debugging/debugtips.mspx
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   200
                Improve Driver Debuggability
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   201
  http://msdn.microsoft.com/en-us/library/ff551063.aspx
b4a231e0296a How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 450
diff changeset
   202
                Debugging Tools for Windows
459
13abfab8b41b added link
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 458
diff changeset
   203
  http://msdn.microsoft.com/en-us/library/ff543450%28VS.85%29.aspx
13abfab8b41b added link
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 458
diff changeset
   204
                Checked and Free Build Differences
1202
4115eb3a6f03 SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1156
diff changeset
   205
  http://msdn.microsoft.com/en-us/library/windows/hardware/ff540793.aspx
4115eb3a6f03 SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1156
diff changeset
   206
                Debugging Driver Installation
4115eb3a6f03 SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1156
diff changeset
   207
  http://msdn.microsoft.com/en-us/library/windows/hardware/ff550863.aspx
4115eb3a6f03 SetupAPI Device Installation Log Entries
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1156
diff changeset
   208
                SetupAPI Device Installation Log Entries
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   209
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   210
Driver signing.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   211
===============
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   212
640
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   213
Type of signature:
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   214
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   215
 * Signed by a Windows signing authority.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   216
 * Signed by a trusted publisher.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   217
 * Signed by an untrusted publisher.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   218
 * Signed by a publisher of unknown trust.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   219
 * Altered.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   220
 * Unsigned.
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   221
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   222
  http://msdn.microsoft.com/en-us/library/ff544703.aspx
011003fc79d8 Type of signature.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 629
diff changeset
   223
                Type of signature and performed action.
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   224
  http://www.microsoft.com/whdc/driver/install/drvsign/best-practices.mspx
643
6eeff5c4e2fe Added url.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 642
diff changeset
   225
                Code-Signing Best Practices.
6eeff5c4e2fe Added url.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 642
diff changeset
   226
  http://msdn.microsoft.com/en-us/library/ff550764.aspx
6eeff5c4e2fe Added url.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 642
diff changeset
   227
                Device Installation Signing Requirements.
649
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   228
  http://www.microsoft.com/whdc/winlogo/categories.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   229
                Windows Logo Program Test Categories.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   230
  http://www.microsoft.com/whdc/driver/install/drvsign/crosscert.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   231
                Root Authority Cross-Certificate List
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   232
1154
26b6fca0cf39 Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1153
diff changeset
   233
Disable signing requirement on Windows 7 x64.
26b6fca0cf39 Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1153
diff changeset
   234
=============================================
26b6fca0cf39 Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1153
diff changeset
   235
::
26b6fca0cf39 Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1153
diff changeset
   236
1155
0f14d202a576 To revert back::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1154
diff changeset
   237
  cmd> bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
1154
26b6fca0cf39 Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1153
diff changeset
   238
  cmd> bcdedit -set TESTSIGNING ON
26b6fca0cf39 Disable signing requirement on Windows 7 x64.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1153
diff changeset
   239
1155
0f14d202a576 To revert back::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1154
diff changeset
   240
To revert back::
0f14d202a576 To revert back::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1154
diff changeset
   241
0f14d202a576 To revert back::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1154
diff changeset
   242
  cmd> bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS
0f14d202a576 To revert back::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1154
diff changeset
   243
  cmd> bcdedit.exe -set TESTSIGNING OFF
0f14d202a576 To revert back::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1154
diff changeset
   244
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   245
Tools for Signing Drivers.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   246
==========================
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   247
629
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   248
'certmgr.msc' present in Windows 2000 and upper.
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   249
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   250
From Windows SDK/WDK::
629
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   251
f677b24ac51b Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 628
diff changeset
   252
  CertMgr Inf2Cat MakeCat MakeCert Pvk2Pfx SignTool
628
0af4870462ea Tools for Signing Drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 624
diff changeset
   253
1156
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   254
To register certificate in Windows 7 (or install "Admin Tools Pack" in Windows
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   255
XP)::
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   256
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   257
  cmd> certutil -addstore TrustedPublisher cert.cer
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   258
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   259
See:
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   260
618
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   261
  http://msdn.microsoft.com/en-us/library/ff552958.aspx
ef2c73fcca44 How debug Windows drivers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 459
diff changeset
   262
                Tools for Signing Drivers
1156
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   263
  http://www.microsoft.com/download/en/details.aspx?id=16770
783158979d5f register certificate in Windows
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1155
diff changeset
   264
                Admin Tools Pack
623
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   265
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   266
Invoking a Device Properties Dialog Box from a Command-line Prompt.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   267
===================================================================
623
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   268
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   269
You need get device-instance-ID-parameter::
623
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   270
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   271
  cmd# rundll32.exe devmgr.dll,DeviceProperties_RunDLL /DeviceID "ACPI\PNP0F03\4&1A8C8C2E&0"
fd703dc282b7 Invoking a Device Properties Dialog Box from a Command-line Prompt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 620
diff changeset
   272
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   273
 * http://msdn.microsoft.com/en-us/library/ff548170.aspx
624
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   274
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   275
Driver Selection Process.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   276
=========================
624
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   277
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   278
Windows uses the following criteria to select a driver for a device:
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   279
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   280
 * Windows selects the driver that has the lowest rank value as the best match for the device.
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   281
 * For drivers that have equal rank, Windows selects the driver that has the most recent date.
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   282
 * For the drivers that have equal rank and date, Windows selects the driver that has the highest version.
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   283
 * Windows XP SP1 and later: For drivers that have equal rank, date, and version, Windows can select any driver.
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   284
 * Windows XP and Windows 2000: For drivers that have equal rank, date, and version, Windows can select any driver.
76016e0c69f9 Driver Selection Process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 623
diff changeset
   285
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   286
See:
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   287
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   288
 * http://msdn.microsoft.com/en-us/library/ff549553.aspx
642
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   289
1894
2e3bc2435d68 Convert all files from TXT to RST.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1346
diff changeset
   290
Windows driver for USB
2e3bc2435d68 Convert all files from TXT to RST.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1346
diff changeset
   291
======================
2e3bc2435d68 Convert all files from TXT to RST.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1346
diff changeset
   292
2e3bc2435d68 Convert all files from TXT to RST.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1346
diff changeset
   293
  http://msdn.microsoft.com/en-us/library/ff538820%28VS.85%29.aspx
2e3bc2435d68 Convert all files from TXT to RST.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1346
diff changeset
   294
    Drivers for the Supported USB Device Classes
2e3bc2435d68 Convert all files from TXT to RST.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1346
diff changeset
   295
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   296
Distributing a Driver Package.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   297
==============================
642
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   298
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   299
Windows Update.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   300
---------------
642
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   301
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   302
You can distribute a driver package through the Windows Update program if the driver package:
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   303
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   304
 * Passes the WHQL test program and receives a WHQL release signature.
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   305
 * Qualifies for the Windows Logo program.
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   306
 * Meets additional requirements that ensure that Windows Update can determine the correct driver
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   307
   package for the user's device, can legally distribute it, and can automatically download it.
e1732c85cd1a Distributing a Driver Package. Windows Update.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 640
diff changeset
   308
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   309
See:
649
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   310
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   311
 * http://msdn.microsoft.com/en-us/library/ff554874.aspx
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   312
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   313
Hardware ID.
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   314
------------
649
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   315
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   316
PCI and AGP buses: Contain subsystem ID and subsystem vendor ID (&SUBSYS in the ID string). Drivers
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   317
must have VID/DID/SVID/SID PNP ID entries to be published via Windows Update.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   318
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   319
PCI Device Subsystem IDs and Windows specifications are available at:
1153
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   320
ee88b4d14151 Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
   321
 * http://www.microsoft.com/whdc/archive/pciidspec.mspx
649
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   322
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   323
PCMCIA: Always specific; contains PCMCIA in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   324
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   325
USB: Contains VID and &PID in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   326
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   327
IEEE 1394: Always specific; contains 1394 in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   328
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   329
HID: Contains &VID and &PID in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   330
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   331
IDE: Contains IDE\ in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   332
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   333
Parallel Port Printers: Contain LPTENUM\ in the ID string.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   334
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   335
IrDA Printers: IDs begin with HWP.
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   336
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   337
  http://www.microsoft.com/whdc/winlogo/winup/default.mspx
2c884c88fd23 Hardware ID.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 643
diff changeset
   338
                Windows Update Driver Publishing