DriverPackagePreinstall (difxapi)
Last changed: Andriy Klyuchevskyy-131.107.0.103

.
Summary
The DriverPackagePreinstall function preinstalls a driver package for a Plug and Play (PnP) function driver in the driver store and installs the INF file for the driver package in the system INF file directory.

C# Signature:

[DllImport("DIFxAPI.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern Int32 DriverPackagePreinstall([MarshalAs(UnmanagedType.LPTStr)] string DriverPackageInfPath, Int32 Flags);

VB Signature:

Public Declare Auto Function DriverPackagePreinstall Lib "DIFxAPI.dll" (ByVal DriverPackageInfPath As String, ByVal Flags As Int32) As Int32

User-Defined Types:

DIFxAPI Constants - see http://www.pinvoke.net/default.aspx/Constants.DIFxAPI%20Constants

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

To use this function you just need difxapi.dll of appropriate architecture from Windows Server 2008/Vista WDK. The DriverStore will be created automatically for you.

Sample Code:

C#:

string infFile = <INF_file_name>;
Int32 Flags = DRIVER_PACKAGE_SILENT | DRIVER_PACKAGE_ONLY_IF_DEVICE_PRESENT | DRIVER_PACKAGE_LEGACY_MODE;
Int32 PreInstallResult = DriverPackagePreinstall(infFile, Flags);

VB:

Dim infFile As String = <INF_file_name>
Dim Flags As Int32 = DRIVER_PACKAGE_SILENT Or DRIVER_PACKAGE_ONLY_IF_DEVICE_PRESENT Or DRIVER_PACKAGE_LEGACY_MODE
Dim PreInstallResult As Int32 = DriverPackagePreinstall(infFile, Flags)

Documentation