![Vanara](https://raw.githubusercontent.com/dahall/Vanara/master/docs/icons/VanaraHeading.png)
### **Vanara.PInvoke.SetupAPI NuGet Package**
[![Version](https://img.shields.io/nuget/v/Vanara.PInvoke.SetupAPI?label=NuGet&style=flat-square)](https://github.com/dahall/Vanara/releases)
[![Build status](https://img.shields.io/appveyor/build/dahall/vanara?label=AppVeyor%20build&style=flat-square)](https://ci.appveyor.com/project/dahall/vanara)

PInvoke API (methods, structures and constants) imported from Windows SetupAPI.dll.

### **What is Vanara?**

[Vanara](https://github.com/dahall/Vanara) is a community project that contains various .NET assemblies which have P/Invoke functions, interfaces, enums and structures from Windows libraries. Each assembly is associated with one or a few tightly related libraries.

### **Issues?**

First check if it's already fixed by trying the [AppVeyor build](https://ci.appveyor.com/nuget/vanara-prerelease).
If you're still running into problems, file an [issue](https://github.com/dahall/Vanara/issues).

### **Included in Vanara.PInvoke.SetupAPI**

Functions | Enumerations | Structures
--- | --- | ---
InstallHinfSection SetupAddInstallSectionToDiskSpaceList SetupAddSectionToDiskSpaceList SetupAddToDiskSpaceList SetupAddToSourceList SetupAdjustDiskSpaceList SetupBackupError SetupCancelTemporarySourceList SetupCloseFileQueue SetupCloseInfFile SetupCloseLog SetupCommitFileQueue SetupConfigureWmiFromInfSection SetupCopyError SetupCopyOEMInf SetupCreateDiskSpaceList SetupDecompressOrCopyFile SetupDefaultQueueCallback SetupDeleteError SetupDestroyDiskSpaceList SetupDiAskForOEMDisk SetupDiBuildClassInfoList SetupDiBuildClassInfoListEx SetupDiBuildDriverInfoList SetupDiCallClassInstaller SetupDiCancelDriverInfoSearch SetupDiChangeState SetupDiClassGuidsFromName SetupDiClassGuidsFromNameEx SetupDiClassNameFromGuid SetupDiClassNameFromGuidEx SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoList SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDevRegKey SetupDiDeleteDeviceInfo SetupDiDeleteDeviceInterfaceData SetupDiDeleteDeviceInterfaceRegKey SetupDiDeleteDevRegKey SetupDiDestroyClassImageList SetupDiDestroyDeviceInfoList SetupDiDestroyDriverInfoList SetupDiDrawMiniIcon SetupDiEnumDeviceInfo SetupDiEnumDeviceInterfaces SetupDiEnumDriverInfo SetupDiGetActualModelsSection SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallEx SetupDiGetClassBitmapIndex SetupDiGetClassDescription SetupDiGetClassDescriptionEx SetupDiGetClassDevPropertySheets SetupDiGetClassDevs SetupDiGetClassDevsEx SetupDiGetClassImageIndex SetupDiGetClassImageList SetupDiGetClassImageListEx SetupDiGetClassInstallParams SetupDiGetClassPropertyExW SetupDiGetClassPropertyKeys SetupDiGetClassPropertyKeysExW SetupDiGetClassPropertyW SetupDiGetClassRegistryProperty SetupDiGetCustomDeviceProperty SetupDiGetDeviceInfoListClass SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInstallParams SetupDiGetDeviceInstanceId SetupDiGetDeviceInterfaceAlias SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfacePropertyKeys SetupDiGetDeviceInterfacePropertyW SetupDiGetDevicePropertyKeys SetupDiGetDevicePropertyW SetupDiGetDeviceRegistryProperty SetupDiGetDriverInfoDetail SetupDiGetDriverInstallParams SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileList SetupDiGetHwProfileListEx SetupDiGetINFClass SetupDiGetSelectedDevice SetupDiGetSelectedDriver SetupDiInstallClass SetupDiInstallClassEx SetupDiInstallDevice SetupDiInstallDeviceInterfaces SetupDiInstallDriverFiles SetupDiLoadClassIcon SetupDiLoadDeviceIcon SetupDiOpenClassRegKey SetupDiOpenClassRegKeyEx SetupDiOpenDeviceInfo SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceRegKey SetupDiOpenDevRegKey SetupDiRegisterCoDeviceInstallers SetupDiRegisterDeviceInfo SetupDiRemoveDevice SetupDiRemoveDeviceInterface SetupDiRestartDevices SetupDiSelectBestCompatDrv SetupDiSelectDevice SetupDiSelectOEMDrv SetupDiSetClassInstallParams SetupDiSetClassPropertyExW SetupDiSetClassPropertyW SetupDiSetClassRegistryProperty SetupDiSetDeviceInstallParams SetupDiSetDeviceInterfaceDefault SetupDiSetDeviceInterfacePropertyW SetupDiSetDevicePropertyW SetupDiSetDeviceRegistryProperty SetupDiSetDriverInstallParams SetupDiSetSelectedDevice SetupDiSetSelectedDriver SetupDiUnremoveDevice SetupDuplicateDiskSpaceList SetupEnumInfSections SetupFindFirstLine SetupFindNextLine SetupFindNextMatchLine SetupFreeSourceList SetupGetBinaryField SetupGetFieldCount SetupGetFileCompressionInfo SetupGetFileCompressionInfoEx SetupGetFileQueueCount SetupGetFileQueueFlags SetupGetInfDriverStoreLocation SetupGetInfFileList SetupGetInfInformation SetupGetInfPublishedName SetupGetIntField SetupGetLineByIndex SetupGetLineCount SetupGetLineText SetupGetMultiSzField SetupGetNonInteractiveMode SetupGetSourceFileLocation SetupGetSourceFileSize SetupGetSourceInfo SetupGetStringField SetupGetTargetPath SetupGetThreadLogToken SetupInitDefaultQueueCallback SetupInitDefaultQueueCallbackEx SetupInitializeFileLog SetupInstallFile SetupInstallFileEx SetupInstallFilesFromInfSection SetupInstallFromInfSection SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionEx SetupIterateCabinet SetupLogError SetupLogFile SetupOpenAppendInfFile SetupOpenFileQueue SetupOpenInfFile SetupOpenLog SetupOpenMasterInf SetupPromptForDisk SetupPromptReboot SetupQueryDrivesInDiskSpaceList SetupQueryFileLog SetupQueryInfFileInformation SetupQueryInfOriginalFileInformation SetupQueryInfVersionInformation SetupQuerySourceList SetupQuerySpaceRequiredOnDrive SetupQueueCopy SetupQueueCopyIndirect SetupQueueCopySection SetupQueueDefaultCopy SetupQueueDelete SetupQueueDeleteSection SetupQueueRename SetupQueueRenameSection SetupRemoveFileLogEntry SetupRemoveFromDiskSpaceList SetupRemoveFromSourceList SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceList SetupRenameError SetupScanFileQueue SetupSetDirectoryId SetupSetDirectoryIdEx SetupSetFileQueueAlternatePlatform SetupSetFileQueueFlags SetupSetNonInteractiveMode SetupSetPlatformPathOverride SetupSetSourceList SetupSetThreadLogToken SetupTermDefaultQueueCallback SetupTerminateFileLog SetupUninstallNewlyCopiedInfs SetupUninstallOEMInf SetupVerifyInfFile SetupWriteTextLog SetupWriteTextLogError SetupWriteTextLogInfLine  | DEVPROPSTORE DEVPROPTYPE CopyStyle DI_FLAGS DI_FLAGSEX DI_FUNCTION DI_REMOVEDEVICE DI_UNREMOVEDEVICE DIBCI DICD DICLASSPROP DICS DICS_FLAG DICUSTOMDEVPROP DIGCDP_FLAG DIGCF DIOCR DIOD DIODI DIREG DMI DNF FILE_COMPRESSION FILEOP FILEOP_RESULT IDF INF_STYLE INFINFO SCWMI SP_COPY SPCRP SPDIT SPDRP SPDSL SPFILELOG SPFILENOTIFY SPINST SPINT SPPSR SPQ_FLAG SPRDI SPREG SRCINFO SRCLIST LogSeverity SETDIRID SetupFileLogInfo SPLOGFILE SPQ_SCAN SPSVCINST SUOI                                                                                                                                                             | DEVPROPCOMPKEY DEVPROPERTY DEVPROPKEY CABINET_INFO FILE_IN_CABINET_INFO FILEPATHS FILEPATHS_SIGNERINFO HDEVINFO HDSKSPC HINF HSPFILEQ INFCONTEXT SOURCE_MEDIA SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO_V2 SP_ALTPLATFORM_INFO_V3 SP_CLASSIMAGELIST_DATA SP_CLASSINSTALL_HEADER SP_DETECTDEVICE_PARAMS SP_DEVICE_INTERFACE_DATA SP_DEVICE_INTERFACE_DETAIL_DATA SP_DEVINFO_DATA SP_DEVINFO_LIST_DETAIL_DATA SP_DEVINSTALL_PARAMS SP_DRVINFO_DATA_V2 SP_DRVINFO_DETAIL_DATA SP_DRVINSTALL_PARAMS SP_FILE_COPY_PARAMS SP_INF_INFORMATION SP_INF_SIGNER_INFO_V1 SP_INF_SIGNER_INFO_V2 SP_NEWDEVICEWIZARD_DATA SP_ORIGINAL_FILE_INFO SP_POWERMESSAGEWAKE_PARAMS SP_PROPCHANGE_PARAMS SP_PROPSHEETPAGE_REQUEST SP_REGISTER_CONTROL_STATUS SP_REMOVEDEVICE_PARAMS SP_SELECTDEVICE_PARAMS SP_TROUBLESHOOTER_PARAMS SP_UNREMOVEDEVICE_PARAMS HSPFILELOG SP_ALTPLATFORM_INFO                                                                                                                                                                    
