]> xenbits.xensource.com Git - pvdrivers/win/xenbus.git/commit
Ensure DifRemove coinst routine runs on uninstall.
authorTroy Crosley <troycrosley@gmail.com>
Thu, 5 Nov 2020 21:38:31 +0000 (16:38 -0500)
committerPaul Durrant <pdurrant@amazon.com>
Mon, 16 Nov 2020 17:22:43 +0000 (17:22 +0000)
commit5472beec35fb4538998720f37ac1015a10c75c0f
tree753b6b72c44bf9d2b2acbe1e666689e6955b9c1e
parente87e445f87388d55cb92d27927c815769d13b2f3
Ensure DifRemove coinst routine runs on uninstall.

In Windows 10 version 2004, The coinstallers' DIF_INSTALLDEVICE routines
do not get called on driver uninstall. In previous versions of Windows,
this occurs as part of the uninstall during the null device install and
is the only time DifRemove gets called to perform cleanup. Work around
this change by calling DifRemove from DIF_SELECTBESTCOMPATDRV, which is
the only coinstaller request that seems to happen on uninstall in
Windows 10 version 2004. In addition, improve the null driver test to
also check if DriverInfoData.DriverType is equal to SPDIT_CLASSDRIVER or
SPDIT_COMPATDRIVER, which is necessary as of some Windows version (at
least Windows 10 version 1803).

Signed-off-by: Joel Upham <uphamj@ainfosec.com>
Signed-off-by: Troy Crosley <troycrosley@gmail.com>
Extra hunk added to squash ERROR_NO_COMPAT_DRIVERS when it is passed into
DIF_SELECTBESTCOMPATDRV post-processing.

Signed-off-by: Paul Durrant <paul@xen.org>
src/coinst/coinst.c