@msdn=http://msdn2.microsoft.com/en-us/library/ms793508.aspx @pinvoke=http://pinvoke.net/$$$.htm Summary: The DriverPackageUninstall function uninstalls the specified driver package from the system and removes the driver package from the driver store. !!!!C# Signature: [DllImport("DIFxAPI.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern Int32 DriverPackageUninstall([MarshalAs(UnmanagedType.LPTStr)] string DriverPackageInfPath, Int32 Flags, IntPtr pInstallerInfo, out bool pNeedReboot); !!!!VB Signature: Public Declare Auto Function DriverPackageUninstall Lib "DIFxAPI.dll" (ByVal DriverPackageInfPath As String, ByVal Flags As Int32, ByVal pInstallerInfo As IntPtr, ByRef pNeedReboot As Boolean) As Int32 !!!!User-Defined Types: DIFxAPI Constants - see http://www.pinvoke.net/default.aspx/Constants.DIFxAPI%20Constants [INSTALLERINFO] !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: You can only uninstall drivers which are already present in the Driver Store. !!!!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_DELETE_FILES; bool fNeedReboot; INSTALLERINFO installerInfo = new INSTALLERINFO(); installerInfo.pApplicationId = "{4d36e972-e325-11ce-bfc1-08002be10319}"; installerInfo.pDisplayName = "My Package"; installerInfo.pProductName = "My Package"; installerInfo.pMfgName = "Myself"; IntPtr ptrInstallerInfo = Marshal.AllocHGlobal(Marshal.SizeOf(installerInfo)); Marshal.StructureToPtr(installerInfo, ptrInstallerInfo, false); Int32 UninstallResult = DriverPackageUninstall(infFile, Flags, ptrInstallerInfo, out fNeedReboot); Marshal.FreeHGlobal(ptrInstallerInfo); VB: Dim infFile As String = <INF_file_name> Dim Flags As Int32 = DRIVER_PACKAGE_SILENT Or DRIVER_PACKAGE_DELETE_FILES Dim fNeedReboot As Boolean Dim installerInfo As INSTALLERINFO = New INSTALLERINFO() installerInfo.pApplicationId = "{4d36e972-e325-11ce-bfc1-08002be10319}" installerInfo.pDisplayName = "My Package" installerInfo.pProductName = "My Package" installerInfo.pMfgName = "Myself" Dim ptrInstallerInfo As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(INSTALLERINFO)) Marshal.StructureToPtr(INSTALLERINFO, ptrInstallerInfo, False) Dim UninstallResult As Int32 = DriverPackageUninstall(infFile, Flags, ptrInstallerInfo, fNeedReboot) Marshal.FreeHGlobal(ptrInstallerInfo) Documentation: DriverPackageUninstall@msdn on MSDN
Edit difxapi.DriverPac...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.