public static extern int updateDeviceDriversEx( [In, Out] progressCallback pFunc, [In] StringBuilder szProductKey, [In] StringBuilder szAppDataLoc, [In] StringBuilder szTempLoc, [In] StringBuilder szRegistryLoc, [In] downloadProgressCallback pDownloadCallbackFunc, [In, Out] IntPtr Scandata, [In, Out] IntPtr DevicesToUpdates, [In] int driversSize, [In] StringBuilder szRestorePointName );
public static extern int OSMT_updateDeviceDriversEx( [In, Out] progressCallback pFunc, [In] StringBuilder szProductKey, [In] StringBuilder szAppDataLoc, [In] StringBuilder szTempLoc, [In] StringBuilder szRegistryLoc, [In] downloadProgressCallback pDownloadCallbackFunc, [In, Out] IntPtr Scandata, [In, Out] IntPtr DevicesToUpdates, [In] int driversSize, [In] StringBuilder szRestorePointName, [In] int nOsId, [In] uint nUpdateFlag, [In] StringBuilder szArchiveLoc /* value to pass if want to store downloads or if want restore from archive */ );