SetupAPI.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:192k
- WINSETUPAPI
- BOOL
- WINAPI
- SetupGetFileQueueFlags(
- IN HSPFILEQ FileQueue,
- OUT PDWORD Flags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupSetFileQueueFlags(
- IN HSPFILEQ FileQueue,
- IN DWORD FlagMask,
- IN DWORD Flags
- );
- //
- // Flags/FlagMask for use with SetupSetFileQueueFlags and returned by SetupGetFileQueueFlags
- //
- #define SPQ_FLAG_BACKUP_AWARE 0x00000001 // If set, SetupCommitFileQueue will
- // issue backup notifications.
- #define SPQ_FLAG_ABORT_IF_UNSIGNED 0x00000002 // If set, SetupCommitFileQueue will
- // fail with ERROR_SET_SYSTEM_RESTORE_POINT
- // if the user elects to proceed with an
- // unsigned queue committal. This allows
- // the caller to set a system restore point,
- // then re-commit the file queue.
- #define SPQ_FLAG_FILES_MODIFIED 0x00000004 // If set, at least one file was
- // replaced by a different version
- #define SPQ_FLAG_VALID 0x00000007 // mask of valid flags (can be passed as FlagMask)
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Define OEM Source Type values for use in SetupCopyOEMInf.
- //
- #define SPOST_NONE 0
- #define SPOST_PATH 1
- #define SPOST_URL 2
- #define SPOST_MAX 3
- WINSETUPAPI
- BOOL
- WINAPI
- SetupCopyOEMInfA(
- IN PCSTR SourceInfFileName,
- IN PCSTR OEMSourceMediaLocation, OPTIONAL
- IN DWORD OEMSourceMediaType,
- IN DWORD CopyStyle,
- OUT PSTR DestinationInfFileName, OPTIONAL
- IN DWORD DestinationInfFileNameSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PSTR *DestinationInfFileNameComponent OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupCopyOEMInfW(
- IN PCWSTR SourceInfFileName,
- IN PCWSTR OEMSourceMediaLocation, OPTIONAL
- IN DWORD OEMSourceMediaType,
- IN DWORD CopyStyle,
- OUT PWSTR DestinationInfFileName, OPTIONAL
- IN DWORD DestinationInfFileNameSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PWSTR *DestinationInfFileNameComponent OPTIONAL
- );
- #ifdef UNICODE
- #define SetupCopyOEMInf SetupCopyOEMInfW
- #else
- #define SetupCopyOEMInf SetupCopyOEMInfA
- #endif
- #if _SETUPAPI_VER >= 0x0501
- //
- // Flags used by SetupUninstallOEMInf
- //
- #define SUOI_FORCEDELETE 0x00000001
- WINSETUPAPI
- BOOL
- WINAPI
- SetupUninstallOEMInfA(
- IN PCSTR InfFileName,
- IN DWORD Flags,
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupUninstallOEMInfW(
- IN PCWSTR InfFileName,
- IN DWORD Flags,
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupUninstallOEMInf SetupUninstallOEMInfW
- #else
- #define SetupUninstallOEMInf SetupUninstallOEMInfA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupUninstallNewlyCopiedInfs(
- IN HSPFILEQ FileQueue,
- IN DWORD Flags,
- IN PVOID Reserved
- );
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Disk space list APIs
- //
- WINSETUPAPI
- HDSKSPC
- WINAPI
- SetupCreateDiskSpaceListA(
- IN PVOID Reserved1,
- IN DWORD Reserved2,
- IN UINT Flags
- );
- WINSETUPAPI
- HDSKSPC
- WINAPI
- SetupCreateDiskSpaceListW(
- IN PVOID Reserved1,
- IN DWORD Reserved2,
- IN UINT Flags
- );
- #ifdef UNICODE
- #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
- #else
- #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
- #endif
- //
- // Flags for SetupCreateDiskSpaceList
- //
- #define SPDSL_IGNORE_DISK 0x00000001 // ignore deletes and on-disk files in copies
- #define SPDSL_DISALLOW_NEGATIVE_ADJUST 0x00000002
- WINSETUPAPI
- HDSKSPC
- WINAPI
- SetupDuplicateDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN PVOID Reserved1,
- IN DWORD Reserved2,
- IN UINT Flags
- );
- WINSETUPAPI
- HDSKSPC
- WINAPI
- SetupDuplicateDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN PVOID Reserved1,
- IN DWORD Reserved2,
- IN UINT Flags
- );
- #ifdef UNICODE
- #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
- #else
- #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDestroyDiskSpaceList(
- IN OUT HDSKSPC DiskSpace
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupQueryDrivesInDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- OUT PSTR ReturnBuffer, OPTIONAL
- IN DWORD ReturnBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupQueryDrivesInDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- OUT PWSTR ReturnBuffer, OPTIONAL
- IN DWORD ReturnBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
- #else
- #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupQuerySpaceRequiredOnDriveA(
- IN HDSKSPC DiskSpace,
- IN PCSTR DriveSpec,
- OUT LONGLONG *SpaceRequired,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupQuerySpaceRequiredOnDriveW(
- IN HDSKSPC DiskSpace,
- IN PCWSTR DriveSpec,
- OUT LONGLONG *SpaceRequired,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
- #else
- #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAdjustDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN LPCSTR DriveRoot,
- IN LONGLONG Amount,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAdjustDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN LPCWSTR DriveRoot,
- IN LONGLONG Amount,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
- #else
- #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAddToDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN PCSTR TargetFilespec,
- IN LONGLONG FileSize,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAddToDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN PCWSTR TargetFilespec,
- IN LONGLONG FileSize,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
- #else
- #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAddSectionToDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF ListInfHandle, OPTIONAL
- IN PCSTR SectionName,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAddSectionToDiskSpaceListW(
IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF ListInfHandle, OPTIONAL
- IN PCWSTR SectionName,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
- #else
- #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAddInstallSectionToDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF LayoutInfHandle, OPTIONAL
- IN PCSTR SectionName,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupAddInstallSectionToDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF LayoutInfHandle, OPTIONAL
- IN PCWSTR SectionName,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW
- #else
- #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveFromDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN PCSTR TargetFilespec,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveFromDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN PCWSTR TargetFilespec,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
- #else
- #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveSectionFromDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF ListInfHandle, OPTIONAL
- IN PCSTR SectionName,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveSectionFromDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF ListInfHandle, OPTIONAL
- IN PCWSTR SectionName,
- IN UINT Operation,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
- #else
- #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveInstallSectionFromDiskSpaceListA(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF LayoutInfHandle, OPTIONAL
- IN PCSTR SectionName,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveInstallSectionFromDiskSpaceListW(
- IN HDSKSPC DiskSpace,
- IN HINF InfHandle,
- IN HINF LayoutInfHandle, OPTIONAL
- IN PCWSTR SectionName,
- IN PVOID Reserved1,
- IN UINT Reserved2
- );
- #ifdef UNICODE
- #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW
- #else
- #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA
- #endif
- //
- // Cabinet APIs
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupIterateCabinetA(
- IN PCSTR CabinetFile,
- IN DWORD Reserved,
- IN PSP_FILE_CALLBACK_A MsgHandler,
- IN PVOID Context
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupIterateCabinetW(
- IN PCWSTR CabinetFile,
- IN DWORD Reserved,
- IN PSP_FILE_CALLBACK_W MsgHandler,
- IN PVOID Context
- );
- #ifdef UNICODE
- #define SetupIterateCabinet SetupIterateCabinetW
- #else
- #define SetupIterateCabinet SetupIterateCabinetA
- #endif
- WINSETUPAPI
- INT
- WINAPI
- SetupPromptReboot(
- IN HSPFILEQ FileQueue, OPTIONAL
- IN HWND Owner,
- IN BOOL ScanOnly
- );
- //
- // Define flags that are returned by SetupPromptReboot
- //
- #define SPFILEQ_FILE_IN_USE 0x00000001
- #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
- #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
- WINSETUPAPI
- PVOID
- WINAPI
- SetupInitDefaultQueueCallback(
- IN HWND OwnerWindow
- );
- WINSETUPAPI
- PVOID
- WINAPI
- SetupInitDefaultQueueCallbackEx(
- IN HWND OwnerWindow,
- IN HWND AlternateProgressWindow, OPTIONAL
- IN UINT ProgressMessage,
- IN DWORD Reserved1,
- IN PVOID Reserved2
- );
- WINSETUPAPI
- VOID
- WINAPI
- SetupTermDefaultQueueCallback(
- IN PVOID Context
- );
- WINSETUPAPI
- UINT
- WINAPI
- SetupDefaultQueueCallbackA(
- IN PVOID Context,
- IN UINT Notification,
- IN UINT_PTR Param1,
- IN UINT_PTR Param2
- );
- WINSETUPAPI
- UINT
- WINAPI
- SetupDefaultQueueCallbackW(
- IN PVOID Context,
- IN UINT Notification,
- IN UINT_PTR Param1,
- IN UINT_PTR Param2
- );
- #ifdef UNICODE
- #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
- #else
- #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
- #endif
- //
- // Flags for AddReg section lines in INF. The corresponding value
- // is <ValueType> in the AddReg line format given below:
- //
- // <RegRootString>,<SubKey>,<ValueName>,<ValueType>,<Value>...
- //
- // The low word contains basic flags concerning the general data type
- // and AddReg action. The high word contains values that more specifically
- // identify the data type of the registry value. The high word is ignored
- // by the 16-bit Windows 95 SETUPX APIs.
- //
- // If <ValueType> has FLG_ADDREG_DELREG_BIT set, it will be ignored by AddReg
- // (not supported by SetupX).
- //
- #if _SETUPAPI_VER >= 0x0501
- #define FLG_ADDREG_DELREG_BIT ( 0x00008000 ) // if set, interpret as DELREG, see below
- #endif // _SETUPAPI_VER >= 0x0501
- #define FLG_ADDREG_BINVALUETYPE ( 0x00000001 )
- #define FLG_ADDREG_NOCLOBBER ( 0x00000002 )
- #define FLG_ADDREG_DELVAL ( 0x00000004 )
- #define FLG_ADDREG_APPEND ( 0x00000008 ) // Currently supported only
- // for REG_MULTI_SZ values.
- #define FLG_ADDREG_KEYONLY ( 0x00000010 ) // Just create the key, ignore value
- #define FLG_ADDREG_OVERWRITEONLY ( 0x00000020 ) // Set only if value already exists
- #if _SETUPAPI_VER >= 0x0501
- #define FLG_ADDREG_64BITKEY ( 0x00001000 ) // make this change in the 64 bit registry.
- #define FLG_ADDREG_KEYONLY_COMMON ( 0x00002000 ) // same as FLG_ADDREG_KEYONLY but also works for DELREG
- #define FLG_ADDREG_32BITKEY ( 0x00004000 ) // make this change in the 32 bit registry.
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // The INF may supply any arbitrary data type ordinal in the highword except
- // for the following: REG_NONE, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ. If this
- // technique is used, then the data is given in binary format, one byte per
- // field.
- //
- #define FLG_ADDREG_TYPE_MASK ( 0xFFFF0000 | FLG_ADDREG_BINVALUETYPE )
- #define FLG_ADDREG_TYPE_SZ ( 0x00000000 )
- #define FLG_ADDREG_TYPE_MULTI_SZ ( 0x00010000 )
- #define FLG_ADDREG_TYPE_EXPAND_SZ ( 0x00020000 )
- #define FLG_ADDREG_TYPE_BINARY ( 0x00000000 | FLG_ADDREG_BINVALUETYPE )
- #define FLG_ADDREG_TYPE_DWORD ( 0x00010000 | FLG_ADDREG_BINVALUETYPE )
- #define FLG_ADDREG_TYPE_NONE ( 0x00020000 | FLG_ADDREG_BINVALUETYPE )
- //
- // Flags for DelReg section lines in INF. The corresponding value
- // is <Operation> in the extended DelReg line format given below:
- //
- // <RegRootString>,<SubKey>,<ValueName>,<Operation>[,...]
- //
- // In SetupX and some versions of SetupAPI, <Operation> will be ignored and <ValueName> will
- // be deleted. Use with care.
- //
- // The bits determined by mask FLG_DELREG_TYPE_MASK indicates type of data expected.
- // <Operation> must have FLG_ADDREG_DELREG_BIT set, otherwise it is ignored and specified
- // value will be deleted (allowing an AddReg section to also be used as a DelReg section)
- // if <Operation> is not specified, <ValueName> will be deleted (if specified) otherwise
- // <SubKey> will be deleted.
- //
- // the compatability flag
- //
- #define FLG_DELREG_VALUE (0x00000000)
- #if _SETUPAPI_VER >= 0x0501
- #define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK // 0xFFFF0001
- #define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ // 0x00000000
- #define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ // 0x00010000
- #define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ // 0x00020000
- #define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY // 0x00000001
- #define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD // 0x00010001
- #define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE // 0x00020001
- #define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY // 0x00001000
- #define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON // 0x00002000
- #define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY // 0x00004000
- //
- // <Operation> = FLG_DELREG_MULTI_SZ_DELSTRING
- // <RegRootString>,<SubKey>,<ValueName>,0x00018002,<String>
- // removes all entries matching <String> (case ignored) from multi-sz registry value
- //
- #define FLG_DELREG_OPERATION_MASK (0x000000FE)
- #define FLG_DELREG_MULTI_SZ_DELSTRING ( FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT | 0x00000002 ) // 0x00018002
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Flags for BitReg section lines in INF.
- //
- #define FLG_BITREG_CLEARBITS ( 0x00000000 )
- #define FLG_BITREG_SETBITS ( 0x00000001 )
- #if _SETUPAPI_VER >= 0x0501
- #define FLG_BITREG_64BITKEY ( 0x00001000 )
- #define FLG_BITREG_32BITKEY ( 0x00004000 )
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Flags for Ini2Reg section lines in INF.
- //
- #if _SETUPAPI_VER >= 0x0501
- #define FLG_INI2REG_64BITKEY ( 0x00001000 )
- #define FLG_INI2REG_32BITKEY ( 0x00004000 )
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Flags for RegSvr section lines in INF
- //
- #define FLG_REGSVR_DLLREGISTER ( 0x00000001 )
- #define FLG_REGSVR_DLLINSTALL ( 0x00000002 )
- // Flags for RegSvr section lines in INF
- //
- #define FLG_PROFITEM_CURRENTUSER ( 0x00000001 )
- #define FLG_PROFITEM_DELETE ( 0x00000002 )
- #define FLG_PROFITEM_GROUP ( 0x00000004 )
- #define FLG_PROFITEM_CSIDL ( 0x00000008 )
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallFromInfSectionA(
- IN HWND Owner,
- IN HINF InfHandle,
- IN PCSTR SectionName,
- IN UINT Flags,
- IN HKEY RelativeKeyRoot, OPTIONAL
- IN PCSTR SourceRootPath, OPTIONAL
- IN UINT CopyFlags, OPTIONAL
- IN PSP_FILE_CALLBACK_A MsgHandler, OPTIONAL
- IN PVOID Context, OPTIONAL
- IN HDEVINFO DeviceInfoSet, OPTIONAL
- IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallFromInfSectionW(
- IN HWND Owner,
- IN HINF InfHandle,
- IN PCWSTR SectionName,
- IN UINT Flags,
- IN HKEY RelativeKeyRoot, OPTIONAL
- IN PCWSTR SourceRootPath, OPTIONAL
- IN UINT CopyFlags, OPTIONAL
- IN PSP_FILE_CALLBACK_W MsgHandler, OPTIONAL
- IN PVOID Context, OPTIONAL
- IN HDEVINFO DeviceInfoSet, OPTIONAL
- IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupInstallFromInfSection SetupInstallFromInfSectionW
- #else
- #define SetupInstallFromInfSection SetupInstallFromInfSectionA
- #endif
- //
- // Flags for SetupInstallFromInfSection
- //
- #define SPINST_LOGCONFIG 0x00000001
- #define SPINST_INIFILES 0x00000002
- #define SPINST_REGISTRY 0x00000004
- #define SPINST_INI2REG 0x00000008
- #define SPINST_FILES 0x00000010
- #define SPINST_BITREG 0x00000020
- #define SPINST_REGSVR 0x00000040
- #define SPINST_UNREGSVR 0x00000080
- #define SPINST_PROFILEITEMS 0x00000100
- #if _SETUPAPI_VER >= 0x0501
- #define SPINST_COPYINF 0x00000200
- #define SPINST_ALL 0x000003ff
- #else
- #define SPINST_ALL 0x000001ff
- #endif // _SETUPAPI_VER >= 0x0501
- #define SPINST_SINGLESECTION 0x00010000
- #define SPINST_LOGCONFIG_IS_FORCED 0x00020000
- #define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
- #if _SETUPAPI_VER >= 0x0501
- #define SPINST_REGISTERCALLBACKAWARE 0x00080000
- #endif // _SETUPAPI_VER >= 0x0501
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallFilesFromInfSectionA(
- IN HINF InfHandle,
- IN HINF LayoutInfHandle, OPTIONAL
- IN HSPFILEQ FileQueue,
- IN PCSTR SectionName,
- IN PCSTR SourceRootPath, OPTIONAL
- IN UINT CopyFlags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallFilesFromInfSectionW(
- IN HINF InfHandle,
- IN HINF LayoutInfHandle, OPTIONAL
- IN HSPFILEQ FileQueue,
- IN PCWSTR SectionName,
- IN PCWSTR SourceRootPath, OPTIONAL
- IN UINT CopyFlags
- );
- #ifdef UNICODE
- #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
- #else
- #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
- #endif
- //
- // Flags for SetupInstallServicesFromInfSection(Ex). These flags are also used
- // in the flags field of AddService or DelService lines in a device INF. Some
- // of these flags are not permitted in the non-Ex API. These flags are marked
- // as such below.
- //
- //
- // (AddService) move service's tag to front of its group order list
- //
- #define SPSVCINST_TAGTOFRONT (0x00000001)
- //
- // (AddService) **Ex API only** mark this service as the function driver for the
- // device being installed
- //
- #define SPSVCINST_ASSOCSERVICE (0x00000002)
- //
- // (DelService) delete the associated event log entry for a service specified in
- // a DelService entry
- //
- #define SPSVCINST_DELETEEVENTLOGENTRY (0x00000004)
- //
- // (AddService) don't overwrite display name if it already exists
- //
- #define SPSVCINST_NOCLOBBER_DISPLAYNAME (0x00000008)
- //
- // (AddService) don't overwrite start type value if service already exists
- //
- #define SPSVCINST_NOCLOBBER_STARTTYPE (0x00000010)
- //
- // (AddService) don't overwrite error control value if service already exists
- //
- #define SPSVCINST_NOCLOBBER_ERRORCONTROL (0x00000020)
- //
- // (AddService) don't overwrite load order group if it already exists
- //
- #define SPSVCINST_NOCLOBBER_LOADORDERGROUP (0x00000040)
- //
- // (AddService) don't overwrite dependencies list if it already exists
- //
- #define SPSVCINST_NOCLOBBER_DEPENDENCIES (0x00000080)
- //
- // (AddService) don't overwrite description if it already exists
- //
- #define SPSVCINST_NOCLOBBER_DESCRIPTION (0x00000100)
- //
- // (DelService) stop the associated service specified in
- // a DelService entry before deleting the service
- //
- #define SPSVCINST_STOPSERVICE (0x00000200)
- #if _SETUPAPI_VER >= 0x0501
- //
- // (AddService) force overwrite of security settings
- //
- #define SPSVCINST_CLOBBER_SECURITY (0x00000400)
- #endif // _SETUPAPI_VER >= 0x0501
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallServicesFromInfSectionA(
- IN HINF InfHandle,
- IN PCSTR SectionName,
- IN DWORD Flags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallServicesFromInfSectionW(
- IN HINF InfHandle,
- IN PCWSTR SectionName,
- IN DWORD Flags
- );
- #ifdef UNICODE
- #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
- #else
- #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallServicesFromInfSectionExA(
- IN HINF InfHandle,
- IN PCSTR SectionName,
- IN DWORD Flags,
- IN HDEVINFO DeviceInfoSet, OPTIONAL
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PVOID Reserved1,
- IN PVOID Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupInstallServicesFromInfSectionExW(
- IN HINF InfHandle,
- IN PCWSTR SectionName,
- IN DWORD Flags,
- IN HDEVINFO DeviceInfoSet, OPTIONAL
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PVOID Reserved1,
- IN PVOID Reserved2
- );
- #ifdef UNICODE
- #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW
- #else
- #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA
- #endif
- //
- // High level routine, usually used via rundll32.dll
- // to perform right-click install action on INFs
- // May be called directly:
- //
- // wsprintf(CmdLineBuffer,TEXT("DefaultInstall 132 %s"),InfPath);
- // InstallHinfSection(NULL,NULL,CmdLineBuffer,0);
- //
- VOID
- WINAPI
- InstallHinfSectionA(
- IN HWND Window,
- IN HINSTANCE ModuleHandle,
- IN PCSTR CommandLine,
- IN INT ShowCommand
- );
- VOID
- WINAPI
- InstallHinfSectionW(
- IN HWND Window,
- IN HINSTANCE ModuleHandle,
- IN PCWSTR CommandLine,
- IN INT ShowCommand
- );
- #ifdef UNICODE
- #define InstallHinfSection InstallHinfSectionW
- #else
- #define InstallHinfSection InstallHinfSectionA
- #endif
- //
- // Define handle type for Setup file log.
- //
- typedef PVOID HSPFILELOG;
- WINSETUPAPI
- HSPFILELOG
- WINAPI
- SetupInitializeFileLogA(
- IN PCSTR LogFileName, OPTIONAL
- IN DWORD Flags
- );
- WINSETUPAPI
- HSPFILELOG
- WINAPI
- SetupInitializeFileLogW(
- IN PCWSTR LogFileName, OPTIONAL
- IN DWORD Flags
- );
- #ifdef UNICODE
- #define SetupInitializeFileLog SetupInitializeFileLogW
- #else
- #define SetupInitializeFileLog SetupInitializeFileLogA
- #endif
- //
- // Flags for SetupInitializeFileLog
- //
- #define SPFILELOG_SYSTEMLOG 0x00000001 // use system log -- must be Administrator
- #define SPFILELOG_FORCENEW 0x00000002 // not valid with SPFILELOG_SYSTEMLOG
- #define SPFILELOG_QUERYONLY 0x00000004 // allows non-administrators to read system log
- WINSETUPAPI
- BOOL
- WINAPI
- SetupTerminateFileLog(
- IN HSPFILELOG FileLogHandle
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupLogFileA(
- IN HSPFILELOG FileLogHandle,
- IN PCSTR LogSectionName, OPTIONAL
- IN PCSTR SourceFilename,
- IN PCSTR TargetFilename,
- IN DWORD Checksum, OPTIONAL
- IN PCSTR DiskTagfile, OPTIONAL
- IN PCSTR DiskDescription, OPTIONAL
- IN PCSTR OtherInfo, OPTIONAL
- IN DWORD Flags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupLogFileW(
- IN HSPFILELOG FileLogHandle,
- IN PCWSTR LogSectionName, OPTIONAL
- IN PCWSTR SourceFilename,
- IN PCWSTR TargetFilename,
- IN DWORD Checksum, OPTIONAL
- IN PCWSTR DiskTagfile, OPTIONAL
- IN PCWSTR DiskDescription, OPTIONAL
- IN PCWSTR OtherInfo, OPTIONAL
- IN DWORD Flags
- );
- #ifdef UNICODE
- #define SetupLogFile SetupLogFileW
- #else
- #define SetupLogFile SetupLogFileA
- #endif
- //
- // Flags for SetupLogFile
- //
- #define SPFILELOG_OEMFILE 0x00000001
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveFileLogEntryA(
- IN HSPFILELOG FileLogHandle,
- IN PCSTR LogSectionName, OPTIONAL
- IN PCSTR TargetFilename OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupRemoveFileLogEntryW(
- IN HSPFILELOG FileLogHandle,
- IN PCWSTR LogSectionName, OPTIONAL
- IN PCWSTR TargetFilename OPTIONAL
- );
- #ifdef UNICODE
- #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
- #else
- #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
- #endif
- //
- // Items retrievable from SetupQueryFileLog()
- //
- typedef enum {
- SetupFileLogSourceFilename,
- SetupFileLogChecksum,
- SetupFileLogDiskTagfile,
- SetupFileLogDiskDescription,
- SetupFileLogOtherInfo,
- SetupFileLogMax
- } SetupFileLogInfo;
- WINSETUPAPI
- BOOL
- WINAPI
- SetupQueryFileLogA(
- IN HSPFILELOG FileLogHandle,
- IN PCSTR LogSectionName, OPTIONAL
- IN PCSTR TargetFilename,
- IN SetupFileLogInfo DesiredInfo,
- OUT PSTR DataOut, OPTIONAL
- IN DWORD ReturnBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupQueryFileLogW(
- IN HSPFILELOG FileLogHandle,
- IN PCWSTR LogSectionName, OPTIONAL
- IN PCWSTR TargetFilename,
- IN SetupFileLogInfo DesiredInfo,
- OUT PWSTR DataOut, OPTIONAL
- IN DWORD ReturnBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupQueryFileLog SetupQueryFileLogW
- #else
- #define SetupQueryFileLog SetupQueryFileLogA
- #endif
- //
- // Text logging APIs
- //
- #define LogSeverity DWORD
- #define LogSevInformation 0x00000000
- #define LogSevWarning 0x00000001
- #define LogSevError 0x00000002
- #define LogSevFatalError 0x00000003
- #define LogSevMaximum 0x00000004
- WINSETUPAPI
- BOOL
- WINAPI
- SetupOpenLog (
- BOOL Erase
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupLogErrorA (
- IN LPCSTR MessageString,
- IN LogSeverity Severity
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupLogErrorW (
- IN LPCWSTR MessageString,
- IN LogSeverity Severity
- );
- #ifdef UNICODE
- #define SetupLogError SetupLogErrorW
- #else
- #define SetupLogError SetupLogErrorA
- #endif
- WINSETUPAPI
- VOID
- WINAPI
- SetupCloseLog (
- VOID
- );
- //
- // Backup Information API's
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupGetBackupInformationA(
- IN HSPFILEQ QueueHandle,
- OUT PSP_BACKUP_QUEUE_PARAMS_A BackupParams
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupGetBackupInformationW(
- IN HSPFILEQ QueueHandle,
- OUT PSP_BACKUP_QUEUE_PARAMS_W BackupParams
- );
- #ifdef UNICODE
- #define SetupGetBackupInformation SetupGetBackupInformationW
- #else
- #define SetupGetBackupInformation SetupGetBackupInformationA
- #endif
- #if _SETUPAPI_VER >= 0x0501
- WINSETUPAPI
- BOOL
- WINAPI
- SetupPrepareQueueForRestoreA(
- IN HSPFILEQ QueueHandle,
- IN PCSTR BackupPath,
- IN DWORD RestoreFlags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupPrepareQueueForRestoreW(
- IN HSPFILEQ QueueHandle,
- IN PCWSTR BackupPath,
- IN DWORD RestoreFlags
- );
- #ifdef UNICODE
- #define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreW
- #else
- #define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreA
- #endif
- #endif // _SETUPAPI_VER >= 0x0501
- #if _SETUPAPI_VER >= 0x0501
- //
- // Control forcing of Non-Interactive Mode
- // Overriden if SetupAPI is run in non-interactive window session
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupSetNonInteractiveMode(
- IN BOOL NonInteractiveFlag
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupGetNonInteractiveMode(
- VOID
- );
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Device Installer APIs
- //
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiCreateDeviceInfoList(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN HWND hwndParent OPTIONAL
- );
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiCreateDeviceInfoListExA(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiCreateDeviceInfoListExW(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
- #else
- #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInfoListClass(
- IN HDEVINFO DeviceInfoSet,
- OUT LPGUID ClassGuid
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInfoListDetailA(
- IN HDEVINFO DeviceInfoSet,
- OUT PSP_DEVINFO_LIST_DETAIL_DATA_A DeviceInfoSetDetailData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInfoListDetailW(
- IN HDEVINFO DeviceInfoSet,
- OUT PSP_DEVINFO_LIST_DETAIL_DATA_W DeviceInfoSetDetailData
- );
- #ifdef UNICODE
- #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
- #else
- #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
- #endif
- //
- // Flags for SetupDiCreateDeviceInfo
- //
- #define DICD_GENERATE_ID 0x00000001
- #define DICD_INHERIT_CLASSDRVS 0x00000002
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiCreateDeviceInfoA(
- IN HDEVINFO DeviceInfoSet,
- IN PCSTR DeviceName,
- IN CONST GUID *ClassGuid,
- IN PCSTR DeviceDescription, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN DWORD CreationFlags,
- OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiCreateDeviceInfoW(
- IN HDEVINFO DeviceInfoSet,
- IN PCWSTR DeviceName,
- IN CONST GUID *ClassGuid,
- IN PCWSTR DeviceDescription, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN DWORD CreationFlags,
- OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
- #else
- #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
- #endif
- //
- // Flags for SetupDiOpenDeviceInfo
- //
- #define DIOD_INHERIT_CLASSDRVS 0x00000002
- #define DIOD_CANCEL_REMOVE 0x00000004
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiOpenDeviceInfoA(
- IN HDEVINFO DeviceInfoSet,
- IN PCSTR DeviceInstanceId,
- IN HWND hwndParent, OPTIONAL
- IN DWORD OpenFlags,
- OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiOpenDeviceInfoW(
- IN HDEVINFO DeviceInfoSet,
- IN PCWSTR DeviceInstanceId,
- IN HWND hwndParent, OPTIONAL
- IN DWORD OpenFlags,
- OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
- #else
- #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInstanceIdA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- OUT PSTR DeviceInstanceId,
- IN DWORD DeviceInstanceIdSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInstanceIdW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- OUT PWSTR DeviceInstanceId,
- IN DWORD DeviceInstanceIdSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
- #else
- #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDeleteDeviceInfo(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiEnumDeviceInfo(
- IN HDEVINFO DeviceInfoSet,
- IN DWORD MemberIndex,
- OUT PSP_DEVINFO_DATA DeviceInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDestroyDeviceInfoList(
- IN HDEVINFO DeviceInfoSet
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiEnumDeviceInterfaces(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN CONST GUID *InterfaceClassGuid,
- IN DWORD MemberIndex,
- OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
- );
- //
- // Backward compatibility--do not use
- //
- #define SetupDiEnumInterfaceDevice SetupDiEnumDeviceInterfaces
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiCreateDeviceInterfaceA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN CONST GUID *InterfaceClassGuid,
- IN PCSTR ReferenceString, OPTIONAL
- IN DWORD CreationFlags,
- OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiCreateDeviceInterfaceW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN CONST GUID *InterfaceClassGuid,
- IN PCWSTR ReferenceString, OPTIONAL
- IN DWORD CreationFlags,
- OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
- #else
- #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
- #endif
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW
- #define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA
- #ifdef UNICODE
- #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW
- #else
- #define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA
- #endif
- //
- // Flags for SetupDiOpenDeviceInterface
- //
- #define DIODI_NO_ADD 0x00000001
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiOpenDeviceInterfaceA(
- IN HDEVINFO DeviceInfoSet,
- IN PCSTR DevicePath,
- IN DWORD OpenFlags,
- OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiOpenDeviceInterfaceW(
- IN HDEVINFO DeviceInfoSet,
- IN PCWSTR DevicePath,
- IN DWORD OpenFlags,
- OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
- #else
- #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
- #endif
- //
- // Backward compatibility--do not use
- //
- #define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW
- #define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA
- #ifdef UNICODE
- #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
- #else
- #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInterfaceAlias(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- IN CONST GUID *AliasInterfaceClassGuid,
- OUT PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
- );
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiGetInterfaceDeviceAlias SetupDiGetDeviceInterfaceAlias
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDeleteDeviceInterfaceData(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
- );
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiRemoveDeviceInterface(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
- );
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiRemoveInterfaceDevice SetupDiRemoveDeviceInterface
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInterfaceDetailA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- OUT PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData, OPTIONAL
- IN DWORD DeviceInterfaceDetailDataSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInterfaceDetailW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- OUT PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData, OPTIONAL
- IN DWORD DeviceInterfaceDetailDataSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
- #else
- #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
- #endif
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW
- #define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA
- #ifdef UNICODE
- #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW
- #else
- #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
- #endif
- //
- // Default install handler for DIF_INSTALLINTERFACES.
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallDeviceInterfaces(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData
- );
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiInstallInterfaceDevices SetupDiInstallDeviceInterfaces
- #if _SETUPAPI_VER >= 0x0501
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDeviceInterfaceDefault(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- IN DWORD Flags,
- IN PVOID Reserved
- );
- #endif // _SETUPAPI_VER >= 0x0501
- //
- // Default install handler for DIF_REGISTERDEVICE
- //
- //
- // Flags for SetupDiRegisterDeviceInfo
- //
- #define SPRDI_FIND_DUPS 0x00000001
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiRegisterDeviceInfo(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Flags,
- IN PSP_DETSIG_CMPPROC CompareProc, OPTIONAL
- IN PVOID CompareContext, OPTIONAL
- OUT PSP_DEVINFO_DATA DupDeviceInfoData OPTIONAL
- );
- //
- // Ordinal values distinguishing between class drivers and
- // device drivers.
- // (Passed in 'DriverType' parameter of driver information list APIs)
- //
- #define SPDIT_NODRIVER 0x00000000
- #define SPDIT_CLASSDRIVER 0x00000001
- #define SPDIT_COMPATDRIVER 0x00000002
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiBuildDriverInfoList(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN DWORD DriverType
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiCancelDriverInfoSearch(
- IN HDEVINFO DeviceInfoSet
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiEnumDriverInfoA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN DWORD DriverType,
- IN DWORD MemberIndex,
- OUT PSP_DRVINFO_DATA_A DriverInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiEnumDriverInfoW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN DWORD DriverType,
- IN DWORD MemberIndex,
- OUT PSP_DRVINFO_DATA_W DriverInfoData
- );
- #ifdef UNICODE
- #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
- #else
- #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetSelectedDriverA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- OUT PSP_DRVINFO_DATA_A DriverInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetSelectedDriverW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- OUT PSP_DRVINFO_DATA_W DriverInfoData
- );
- #ifdef UNICODE
- #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
- #else
- #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetSelectedDriverA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN OUT PSP_DRVINFO_DATA_A DriverInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetSelectedDriverW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN OUT PSP_DRVINFO_DATA_W DriverInfoData OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
- #else
- #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDriverInfoDetailA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DRVINFO_DATA_A DriverInfoData,
- OUT PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData, OPTIONAL
- IN DWORD DriverInfoDetailDataSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDriverInfoDetailW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DRVINFO_DATA_W DriverInfoData,
- OUT PSP_DRVINFO_DETAIL_DATA_W DriverInfoDetailData, OPTIONAL
- IN DWORD DriverInfoDetailDataSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
- #else
- #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDestroyDriverInfoList(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN DWORD DriverType
- );
- //
- // Flags controlling what is included in the device information set built
- // by SetupDiGetClassDevs
- //
- #define DIGCF_DEFAULT 0x00000001 // only valid with DIGCF_DEVICEINTERFACE
- #define DIGCF_PRESENT 0x00000002
- #define DIGCF_ALLCLASSES 0x00000004
- #define DIGCF_PROFILE 0x00000008
- #define DIGCF_DEVICEINTERFACE 0x00000010
- //
- // Backward compatibility--do not use.
- //
- #define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiGetClassDevsA(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN PCSTR Enumerator, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN DWORD Flags
- );
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiGetClassDevsW(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN PCWSTR Enumerator, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN DWORD Flags
- );
- #ifdef UNICODE
- #define SetupDiGetClassDevs SetupDiGetClassDevsW
- #else
- #define SetupDiGetClassDevs SetupDiGetClassDevsA
- #endif
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiGetClassDevsExA(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN PCSTR Enumerator, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN DWORD Flags,
- IN HDEVINFO DeviceInfoSet, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- HDEVINFO
- WINAPI
- SetupDiGetClassDevsExW(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN PCWSTR Enumerator, OPTIONAL
- IN HWND hwndParent, OPTIONAL
- IN DWORD Flags,
- IN HDEVINFO DeviceInfoSet, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
- #else
- #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetINFClassA(
- IN PCSTR InfName,
- OUT LPGUID ClassGuid,
- OUT PSTR ClassName,
- IN DWORD ClassNameSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetINFClassW(
- IN PCWSTR InfName,
- OUT LPGUID ClassGuid,
- OUT PWSTR ClassName,
- IN DWORD ClassNameSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetINFClass SetupDiGetINFClassW
- #else
- #define SetupDiGetINFClass SetupDiGetINFClassA
- #endif
- //
- // Flags controlling exclusion from the class information list built
- // by SetupDiBuildClassInfoList(Ex)
- //
- #define DIBCI_NOINSTALLCLASS 0x00000001
- #define DIBCI_NODISPLAYCLASS 0x00000002
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiBuildClassInfoList(
- IN DWORD Flags,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiBuildClassInfoListExA(
- IN DWORD Flags,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize,
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiBuildClassInfoListExW(
- IN DWORD Flags,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize,
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
- #else
- #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassDescriptionA(
- IN CONST GUID *ClassGuid,
- OUT PSTR ClassDescription,
- IN DWORD ClassDescriptionSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassDescriptionW(
- IN CONST GUID *ClassGuid,
- OUT PWSTR ClassDescription,
- IN DWORD ClassDescriptionSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetClassDescription SetupDiGetClassDescriptionW
- #else
- #define SetupDiGetClassDescription SetupDiGetClassDescriptionA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassDescriptionExA(
- IN CONST GUID *ClassGuid,
- OUT PSTR ClassDescription,
- IN DWORD ClassDescriptionSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassDescriptionExW(
- IN CONST GUID *ClassGuid,
- OUT PWSTR ClassDescription,
- IN DWORD ClassDescriptionSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
- #else
- #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiCallClassInstaller(
- IN DI_FUNCTION InstallFunction,
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- //
- // Default install handler for DIF_SELECTDEVICE
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSelectDevice(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- //
- // Default install handler for DIF_SELECTBESTCOMPATDRV
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSelectBestCompatDrv(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- //
- // Default install handler for DIF_INSTALLDEVICE
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallDevice(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData
- );
- //
- // Default install handler for DIF_INSTALLDEVICEFILES
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallDriverFiles(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData
- );
- //
- // Default install handler for DIF_REGISTER_COINSTALLERS
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiRegisterCoDeviceInstallers(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData
- );
- //
- // Default install handler for DIF_REMOVE
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiRemoveDevice(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData
- );
- //
- // Default install handler for DIF_UNREMOVE
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiUnremoveDevice(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData
- );
- //
- // Default install handler for DIF_MOVEDEVICE
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiMoveDuplicateDevice(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DestinationDeviceInfoData
- );
- //
- // Default install handler for DIF_PROPERTYCHANGE
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiChangeState(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallClassA(
- IN HWND hwndParent, OPTIONAL
- IN PCSTR InfFileName,
- IN DWORD Flags,
- IN HSPFILEQ FileQueue OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallClassW(
- IN HWND hwndParent, OPTIONAL
- IN PCWSTR InfFileName,
- IN DWORD Flags,
- IN HSPFILEQ FileQueue OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiInstallClass SetupDiInstallClassW
- #else
- #define SetupDiInstallClass SetupDiInstallClassA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallClassExA(
- IN HWND hwndParent, OPTIONAL
- IN PCSTR InfFileName, OPTIONAL
- IN DWORD Flags,
- IN HSPFILEQ FileQueue, OPTIONAL
- IN CONST GUID *InterfaceClassGuid, OPTIONAL
- IN PVOID Reserved1,
- IN PVOID Reserved2
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiInstallClassExW(
- IN HWND hwndParent, OPTIONAL
- IN PCWSTR InfFileName, OPTIONAL
- IN DWORD Flags,
- IN HSPFILEQ FileQueue, OPTIONAL
- IN CONST GUID *InterfaceClassGuid, OPTIONAL
- IN PVOID Reserved1,
- IN PVOID Reserved2
- );
- #ifdef UNICODE
- #define SetupDiInstallClassEx SetupDiInstallClassExW
- #else
- #define SetupDiInstallClassEx SetupDiInstallClassExA
- #endif
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiOpenClassRegKey(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN REGSAM samDesired
- );
- //
- // Flags for SetupDiOpenClassRegKeyEx
- //
- #define DIOCR_INSTALLER 0x00000001 // class installer registry branch
- #define DIOCR_INTERFACE 0x00000002 // interface class registry branch
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiOpenClassRegKeyExA(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN REGSAM samDesired,
- IN DWORD Flags,
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiOpenClassRegKeyExW(
- IN CONST GUID *ClassGuid, OPTIONAL
- IN REGSAM samDesired,
- IN DWORD Flags,
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
- #else
- #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
- #endif
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiCreateDeviceInterfaceRegKeyA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- IN DWORD Reserved,
- IN REGSAM samDesired,
- IN HINF InfHandle, OPTIONAL
- IN PCSTR InfSectionName OPTIONAL
- );
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiCreateDeviceInterfaceRegKeyW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- IN DWORD Reserved,
- IN REGSAM samDesired,
- IN HINF InfHandle, OPTIONAL
- IN PCWSTR InfSectionName OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
- #else
- #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
- #endif
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
- #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
- #ifdef UNICODE
- #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
- #else
- #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
- #endif
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiOpenDeviceInterfaceRegKey(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- IN DWORD Reserved,
- IN REGSAM samDesired
- );
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiOpenInterfaceDeviceRegKey SetupDiOpenDeviceInterfaceRegKey
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDeleteDeviceInterfaceRegKey(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
- IN DWORD Reserved
- );
- //
- // Backward compatibility--do not use.
- //
- #define SetupDiDeleteInterfaceDeviceRegKey SetupDiDeleteDeviceInterfaceRegKey
- //
- // KeyType values for SetupDiCreateDevRegKey, SetupDiOpenDevRegKey, and
- // SetupDiDeleteDevRegKey.
- //
- #define DIREG_DEV 0x00000001 // Open/Create/Delete device key
- #define DIREG_DRV 0x00000002 // Open/Create/Delete driver key
- #define DIREG_BOTH 0x00000004 // Delete both driver and Device key
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiCreateDevRegKeyA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Scope,
- IN DWORD HwProfile,
- IN DWORD KeyType,
- IN HINF InfHandle, OPTIONAL
- IN PCSTR InfSectionName OPTIONAL
- );
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiCreateDevRegKeyW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Scope,
- IN DWORD HwProfile,
- IN DWORD KeyType,
- IN HINF InfHandle, OPTIONAL
- IN PCWSTR InfSectionName OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
- #else
- #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
- #endif
- WINSETUPAPI
- HKEY
- WINAPI
- SetupDiOpenDevRegKey(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Scope,
- IN DWORD HwProfile,
- IN DWORD KeyType,
- IN REGSAM samDesired
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDeleteDevRegKey(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Scope,
- IN DWORD HwProfile,
- IN DWORD KeyType
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileList(
- OUT PDWORD HwProfileList,
- IN DWORD HwProfileListSize,
- OUT PDWORD RequiredSize,
- OUT PDWORD CurrentlyActiveIndex OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileListExA(
- OUT PDWORD HwProfileList,
- IN DWORD HwProfileListSize,
- OUT PDWORD RequiredSize,
- OUT PDWORD CurrentlyActiveIndex, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileListExW(
- OUT PDWORD HwProfileList,
- IN DWORD HwProfileListSize,
- OUT PDWORD RequiredSize,
- OUT PDWORD CurrentlyActiveIndex, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
- #else
- #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
- #endif
- //
- // Device registry property codes
- // (Codes marked as read-only (R) may only be used for
- // SetupDiGetDeviceRegistryProperty)
- //
- // These values should cover the same set of registry properties
- // as defined by the CM_DRP codes in cfgmgr32.h.
- //
- // Note that SPDRP codes are zero based while CM_DRP codes are one based!
- //
- #define SPDRP_DEVICEDESC (0x00000000) // DeviceDesc (R/W)
- #define SPDRP_HARDWAREID (0x00000001) // HardwareID (R/W)
- #define SPDRP_COMPATIBLEIDS (0x00000002) // CompatibleIDs (R/W)
- #define SPDRP_UNUSED0 (0x00000003) // unused
- #define SPDRP_SERVICE (0x00000004) // Service (R/W)
- #define SPDRP_UNUSED1 (0x00000005) // unused
- #define SPDRP_UNUSED2 (0x00000006) // unused
- #define SPDRP_CLASS (0x00000007) // Class (R--tied to ClassGUID)
- #define SPDRP_CLASSGUID (0x00000008) // ClassGUID (R/W)
- #define SPDRP_DRIVER (0x00000009) // Driver (R/W)
- #define SPDRP_CONFIGFLAGS (0x0000000A) // ConfigFlags (R/W)
- #define SPDRP_MFG (0x0000000B) // Mfg (R/W)
- #define SPDRP_FRIENDLYNAME (0x0000000C) // FriendlyName (R/W)
- #define SPDRP_LOCATION_INFORMATION (0x0000000D) // LocationInformation (R/W)
- #define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME (0x0000000E) // PhysicalDeviceObjectName (R)
- #define SPDRP_CAPABILITIES (0x0000000F) // Capabilities (R)
- #define SPDRP_UI_NUMBER (0x00000010) // UiNumber (R)
- #define SPDRP_UPPERFILTERS (0x00000011) // UpperFilters (R/W)
- #define SPDRP_LOWERFILTERS (0x00000012) // LowerFilters (R/W)
- #define SPDRP_BUSTYPEGUID (0x00000013) // BusTypeGUID (R)
- #define SPDRP_LEGACYBUSTYPE (0x00000014) // LegacyBusType (R)
- #define SPDRP_BUSNUMBER (0x00000015) // BusNumber (R)
- #define SPDRP_ENUMERATOR_NAME (0x00000016) // Enumerator Name (R)
- #define SPDRP_SECURITY (0x00000017) // Security (R/W, binary form)
- #define SPDRP_SECURITY_SDS (0x00000018) // Security (W, SDS form)
- #define SPDRP_DEVTYPE (0x00000019) // Device Type (R/W)
- #define SPDRP_EXCLUSIVE (0x0000001A) // Device is exclusive-access (R/W)
- #define SPDRP_CHARACTERISTICS (0x0000001B) // Device Characteristics (R/W)
- #define SPDRP_ADDRESS (0x0000001C) // Device Address (R)
- #define SPDRP_UI_NUMBER_DESC_FORMAT (0X0000001D) // UiNumberDescFormat (R/W)
- #define SPDRP_DEVICE_POWER_DATA (0x0000001E) // Device Power Data (R)
- #define SPDRP_REMOVAL_POLICY (0x0000001F) // Removal Policy (R)
- #define SPDRP_REMOVAL_POLICY_HW_DEFAULT (0x00000020) // Hardware Removal Policy (R)
- #define SPDRP_REMOVAL_POLICY_OVERRIDE (0x00000021) // Removal Policy Override (RW)
- #define SPDRP_INSTALL_STATE (0x00000022) // Device Install State (R)
- #define SPDRP_MAXIMUM_PROPERTY (0x00000023) // Upper bound on ordinals
- //
- // Class registry property codes
- // (Codes marked as read-only (R) may only be used for
- // SetupDiGetClassRegistryProperty)
- //
- // These values should cover the same set of registry properties
- // as defined by the CM_CRP codes in cfgmgr32.h.
- // they should also have a 1:1 correspondence with Device registers, where applicable
- // but no overlap otherwise
- //
- #define SPCRP_SECURITY (0x00000017) // Security (R/W, binary form)
- #define SPCRP_SECURITY_SDS (0x00000018) // Security (W, SDS form)
- #define SPCRP_DEVTYPE (0x00000019) // Device Type (R/W)
- #define SPCRP_EXCLUSIVE (0x0000001A) // Device is exclusive-access (R/W)
- #define SPCRP_CHARACTERISTICS (0x0000001B) // Device Characteristics (R/W)
- #define SPCRP_MAXIMUM_PROPERTY (0x0000001C) // Upper bound on ordinals
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceRegistryPropertyA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Property,
- OUT PDWORD PropertyRegDataType, OPTIONAL
- OUT PBYTE PropertyBuffer,
- IN DWORD PropertyBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceRegistryPropertyW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Property,
- OUT PDWORD PropertyRegDataType, OPTIONAL
- OUT PBYTE PropertyBuffer,
- IN DWORD PropertyBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
- #else
- #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassRegistryPropertyA(
- IN CONST GUID *ClassGuid,
- IN DWORD Property,
- OUT PDWORD PropertyRegDataType, OPTIONAL
- OUT PBYTE PropertyBuffer,
- IN DWORD PropertyBufferSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassRegistryPropertyW(
- IN CONST GUID *ClassGuid,
- IN DWORD Property,
- OUT PDWORD PropertyRegDataType, OPTIONAL
- OUT PBYTE PropertyBuffer,
- IN DWORD PropertyBufferSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
- #else
- #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDeviceRegistryPropertyA(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Property,
- IN CONST BYTE* PropertyBuffer, OPTIONAL
- IN DWORD PropertyBufferSize
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDeviceRegistryPropertyW(
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData,
- IN DWORD Property,
- IN CONST BYTE* PropertyBuffer, OPTIONAL
- IN DWORD PropertyBufferSize
- );
- #ifdef UNICODE
- #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
- #else
- #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetClassRegistryPropertyA(
- IN CONST GUID *ClassGuid,
- IN DWORD Property,
- IN CONST BYTE* PropertyBuffer, OPTIONAL
- IN DWORD PropertyBufferSize,
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetClassRegistryPropertyW(
- IN CONST GUID *ClassGuid,
- IN DWORD Property,
- IN CONST BYTE* PropertyBuffer, OPTIONAL
- IN DWORD PropertyBufferSize,
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
- #else
- #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInstallParamsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- OUT PSP_DEVINSTALL_PARAMS_A DeviceInstallParams
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDeviceInstallParamsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- OUT PSP_DEVINSTALL_PARAMS_W DeviceInstallParams
- );
- #ifdef UNICODE
- #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
- #else
- #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassInstallParamsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- OUT PSP_CLASSINSTALL_HEADER ClassInstallParams, OPTIONAL
- IN DWORD ClassInstallParamsSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassInstallParamsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- OUT PSP_CLASSINSTALL_HEADER ClassInstallParams, OPTIONAL
- IN DWORD ClassInstallParamsSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
- #else
- #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDeviceInstallParamsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DEVINSTALL_PARAMS_A DeviceInstallParams
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDeviceInstallParamsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DEVINSTALL_PARAMS_W DeviceInstallParams
- );
- #ifdef UNICODE
- #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
- #else
- #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetClassInstallParamsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_CLASSINSTALL_HEADER ClassInstallParams, OPTIONAL
- IN DWORD ClassInstallParamsSize
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetClassInstallParamsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_CLASSINSTALL_HEADER ClassInstallParams, OPTIONAL
- IN DWORD ClassInstallParamsSize
- );
- #ifdef UNICODE
- #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
- #else
- #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDriverInstallParamsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DRVINFO_DATA_A DriverInfoData,
- OUT PSP_DRVINSTALL_PARAMS DriverInstallParams
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetDriverInstallParamsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DRVINFO_DATA_W DriverInfoData,
- OUT PSP_DRVINSTALL_PARAMS DriverInstallParams
- );
- #ifdef UNICODE
- #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
- #else
- #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDriverInstallParamsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DRVINFO_DATA_A DriverInfoData,
- IN PSP_DRVINSTALL_PARAMS DriverInstallParams
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetDriverInstallParamsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_DRVINFO_DATA_W DriverInfoData,
- IN PSP_DRVINSTALL_PARAMS DriverInstallParams
- );
- #ifdef UNICODE
- #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
- #else
- #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiLoadClassIcon(
- IN CONST GUID *ClassGuid,
- OUT HICON *LargeIcon, OPTIONAL
- OUT PINT MiniIconIndex OPTIONAL
- );
- //
- // Flags controlling the drawing of mini-icons
- //
- #define DMI_MASK 0x00000001
- #define DMI_BKCOLOR 0x00000002
- #define DMI_USERECT 0x00000004
- WINSETUPAPI
- INT
- WINAPI
- SetupDiDrawMiniIcon(
- IN HDC hdc,
- IN RECT rc,
- IN INT MiniIconIndex,
- IN DWORD Flags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassBitmapIndex(
- IN CONST GUID *ClassGuid, OPTIONAL
- OUT PINT MiniIconIndex
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassImageList(
- OUT PSP_CLASSIMAGELIST_DATA ClassImageListData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassImageListExA(
- OUT PSP_CLASSIMAGELIST_DATA ClassImageListData,
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassImageListExW(
- OUT PSP_CLASSIMAGELIST_DATA ClassImageListData,
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
- #else
- #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassImageIndex(
- IN PSP_CLASSIMAGELIST_DATA ClassImageListData,
- IN CONST GUID *ClassGuid,
- OUT PINT ImageIndex
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiDestroyClassImageList(
- IN PSP_CLASSIMAGELIST_DATA ClassImageListData
- );
- //
- // PropertySheetType values for the SetupDiGetClassDevPropertySheets API
- //
- #define DIGCDP_FLAG_BASIC 0x00000001
- #define DIGCDP_FLAG_ADVANCED 0x00000002
- #if _SETUPAPI_VER >= 0x0501
- #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003
- #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004
- #endif // _SETUPAPI_VER >= 0x0501
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassDevPropertySheetsA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN LPPROPSHEETHEADERA PropertySheetHeader,
- IN DWORD PropertySheetHeaderPageListSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN DWORD PropertySheetType
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetClassDevPropertySheetsW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN LPPROPSHEETHEADERW PropertySheetHeader,
- IN DWORD PropertySheetHeaderPageListSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN DWORD PropertySheetType
- );
- #ifdef UNICODE
- #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
- #else
- #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
- #endif
- //
- // Define ICON IDs publicly exposed from setupapi.
- //
- #define IDI_RESOURCEFIRST 159
- #define IDI_RESOURCE 159
- #define IDI_RESOURCELAST 161
- #define IDI_RESOURCEOVERLAYFIRST 161
- #define IDI_RESOURCEOVERLAYLAST 161
- #define IDI_CONFLICT 161
- #define IDI_CLASSICON_OVERLAYFIRST 500
- #define IDI_CLASSICON_OVERLAYLAST 502
- #define IDI_PROBLEM_OVL 500
- #define IDI_DISABLED_OVL 501
- #define IDI_FORCED_OVL 502
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiAskForOEMDisk(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSelectOEMDrv(
- IN HWND hwndParent, OPTIONAL
- IN HDEVINFO DeviceInfoSet,
- IN OUT PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassNameFromGuidA(
- IN CONST GUID *ClassGuid,
- OUT PSTR ClassName,
- IN DWORD ClassNameSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassNameFromGuidW(
- IN CONST GUID *ClassGuid,
- OUT PWSTR ClassName,
- IN DWORD ClassNameSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
- #else
- #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassNameFromGuidExA(
- IN CONST GUID *ClassGuid,
- OUT PSTR ClassName,
- IN DWORD ClassNameSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassNameFromGuidExW(
- IN CONST GUID *ClassGuid,
- OUT PWSTR ClassName,
- IN DWORD ClassNameSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
- #else
- #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassGuidsFromNameA(
- IN PCSTR ClassName,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassGuidsFromNameW(
- IN PCWSTR ClassName,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize
- );
- #ifdef UNICODE
- #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
- #else
- #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassGuidsFromNameExA(
- IN PCSTR ClassName,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize,
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiClassGuidsFromNameExW(
- IN PCWSTR ClassName,
- OUT LPGUID ClassGuidList,
- IN DWORD ClassGuidListSize,
- OUT PDWORD RequiredSize,
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
- #else
- #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileFriendlyNameA(
- IN DWORD HwProfile,
- OUT PSTR FriendlyName,
- IN DWORD FriendlyNameSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileFriendlyNameW(
- IN DWORD HwProfile,
- OUT PWSTR FriendlyName,
- IN DWORD FriendlyNameSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
- #else
- #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileFriendlyNameExA(
- IN DWORD HwProfile,
- OUT PSTR FriendlyName,
- IN DWORD FriendlyNameSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetHwProfileFriendlyNameExW(
- IN DWORD HwProfile,
- OUT PWSTR FriendlyName,
- IN DWORD FriendlyNameSize,
- OUT PDWORD RequiredSize, OPTIONAL
- IN PCWSTR MachineName, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
- #else
- #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
- #endif
- //
- // PageType values for SetupDiGetWizardPage API
- //
- #define SPWPT_SELECTDEVICE 0x00000001
- //
- // Flags for SetupDiGetWizardPage API
- //
- #define SPWP_USE_DEVINFO_DATA 0x00000001
- WINSETUPAPI
- HPROPSHEETPAGE
- WINAPI
- SetupDiGetWizardPage(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData, OPTIONAL
- IN PSP_INSTALLWIZARD_DATA InstallWizardData,
- IN DWORD PageType,
- IN DWORD Flags
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetSelectedDevice(
- IN HDEVINFO DeviceInfoSet,
- OUT PSP_DEVINFO_DATA DeviceInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiSetSelectedDevice(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetActualSectionToInstallA(
- IN HINF InfHandle,
- IN PCSTR InfSectionName,
- OUT PSTR InfSectionWithExt, OPTIONAL
- IN DWORD InfSectionWithExtSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PSTR *Extension OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetActualSectionToInstallW(
- IN HINF InfHandle,
- IN PCWSTR InfSectionName,
- OUT PWSTR InfSectionWithExt, OPTIONAL
- IN DWORD InfSectionWithExtSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PWSTR *Extension OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
- #else
- #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
- #endif
- #if _SETUPAPI_VER >= 0x0501
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetActualSectionToInstallExA(
- IN HINF InfHandle,
- IN PCSTR InfSectionName,
- IN PSP_ALTPLATFORM_INFO AlternatePlatformInfo, OPTIONAL
- OUT PSTR InfSectionWithExt, OPTIONAL
- IN DWORD InfSectionWithExtSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PSTR *Extension, OPTIONAL
- IN PVOID Reserved
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetActualSectionToInstallExW(
- IN HINF InfHandle,
- IN PCWSTR InfSectionName,
- IN PSP_ALTPLATFORM_INFO AlternatePlatformInfo, OPTIONAL
- OUT PWSTR InfSectionWithExt, OPTIONAL
- IN DWORD InfSectionWithExtSize,
- OUT PDWORD RequiredSize, OPTIONAL
- OUT PWSTR *Extension, OPTIONAL
- IN PVOID Reserved
- );
- #ifdef UNICODE
- #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW
- #else
- #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA
- #endif
- #endif // _SETUPAPI_VER >= 0x0501
- #if _SETUPAPI_VER >= 0x0501
- //
- // SetupEnumInfSections is for low-level parsing of an INF
- //
- WINSETUPAPI
- BOOL
- WINAPI
- SetupEnumInfSectionsA (
- IN HINF InfHandle,
- IN UINT Index,
- OUT PSTR Buffer, OPTIONAL
- IN UINT Size, OPTIONAL
- OUT UINT *SizeNeeded OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupEnumInfSectionsW (
- IN HINF InfHandle,
- IN UINT Index,
- OUT PWSTR Buffer, OPTIONAL
- IN UINT Size, OPTIONAL
- OUT UINT *SizeNeeded OPTIONAL
- );
- #ifdef UNICODE
- #define SetupEnumInfSections SetupEnumInfSectionsW
- #else
- #define SetupEnumInfSections SetupEnumInfSectionsA
- #endif
- #endif // _SETUPAPI_VER >= 0x0501
- #if _SETUPAPI_VER >= 0x0501
- typedef struct _SP_INF_SIGNER_INFO_A {
- DWORD cbSize;
- CHAR CatalogFile[MAX_PATH];
- CHAR DigitalSigner[MAX_PATH];
- CHAR DigitalSignerVersion[MAX_PATH];
- } SP_INF_SIGNER_INFO_A, *PSP_INF_SIGNER_INFO_A;
- typedef struct _SP_INF_SIGNER_INFO_W {
- DWORD cbSize;
- WCHAR CatalogFile[MAX_PATH];
- WCHAR DigitalSigner[MAX_PATH];
- WCHAR DigitalSignerVersion[MAX_PATH];
- } SP_INF_SIGNER_INFO_W, *PSP_INF_SIGNER_INFO_W;
- #ifdef UNICODE
- typedef SP_INF_SIGNER_INFO_W SP_INF_SIGNER_INFO;
- typedef PSP_INF_SIGNER_INFO_W PSP_INF_SIGNER_INFO;
- #else
- typedef SP_INF_SIGNER_INFO_A SP_INF_SIGNER_INFO;
- typedef PSP_INF_SIGNER_INFO_A PSP_INF_SIGNER_INFO;
- #endif
- WINSETUPAPI
- BOOL
- WINAPI
- SetupVerifyInfFileA(
- IN PCSTR InfName,
- IN PSP_ALTPLATFORM_INFO AltPlatformInfo, OPTIONAL
- OUT PSP_INF_SIGNER_INFO_A InfSignerInfo
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupVerifyInfFileW(
- IN PCWSTR InfName,
- IN PSP_ALTPLATFORM_INFO AltPlatformInfo, OPTIONAL
- OUT PSP_INF_SIGNER_INFO_W InfSignerInfo
- );
- #ifdef UNICODE
- #define SetupVerifyInfFile SetupVerifyInfFileW
- #else
- #define SetupVerifyInfFile SetupVerifyInfFileA
- #endif
- #endif // _SETUPAPI_VER >= 0x0501
- #if _SETUPAPI_VER >= 0x0501
- //
- // Flags for use by SetupDiGetCustomDeviceProperty
- //
- #define DICUSTOMDEVPROP_MERGE_MULTISZ 0x00000001
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetCustomDevicePropertyA(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN PCSTR CustomPropertyName,
- IN DWORD Flags,
- OUT PDWORD PropertyRegDataType, OPTIONAL
- OUT PBYTE PropertyBuffer,
- IN DWORD PropertyBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- WINSETUPAPI
- BOOL
- WINAPI
- SetupDiGetCustomDevicePropertyW(
- IN HDEVINFO DeviceInfoSet,
- IN PSP_DEVINFO_DATA DeviceInfoData,
- IN PCWSTR CustomPropertyName,
- IN DWORD Flags,
- OUT PDWORD PropertyRegDataType, OPTIONAL
- OUT PBYTE PropertyBuffer,
- IN DWORD PropertyBufferSize,
- OUT PDWORD RequiredSize OPTIONAL
- );
- #ifdef UNICODE
- #define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyW
- #else
- #define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyA
- #endif
- #endif // _SETUPAPI_VER >= 0x0501
- #ifdef __cplusplus
- }
- #endif
- #include <poppack.h>
- #endif // _INC_SETUPAPI