Headers diff for setupapi.dll between 6.1.7601.17514-Windows_7.0 and 6.3.9600.17415-Windows_8.1 versions



 setupapi.h (6.1.7601.17514-Windows_7.0)   setupapi.h (6.3.9600.17415-Windows_8.1) 
skipping to change at line 21 skipping to change at line 21
Public header file for Windows NT Setup and Device Installer services Dll. Public header file for Windows NT Setup and Device Installer services Dll.
--*/ --*/
#ifndef _INC_SETUPAPI #ifndef _INC_SETUPAPI
#define _INC_SETUPAPI #define _INC_SETUPAPI
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if defined (_MSC_VER) && (_MSC_VER >= 1200) #if defined (_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(push) #pragma warning(push)
#pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un ion */ #pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un ion */
#endif #endif
// //
// Define API decoration for direct importing of DLL references. // Define API decoration for direct importing of DLL references.
// //
#if !defined(_SETUPAPI_) #if !defined(_SETUPAPI_)
#define WINSETUPAPI DECLSPEC_IMPORT #define WINSETUPAPI DECLSPEC_IMPORT
skipping to change at line 78 skipping to change at line 83
// //
// Include commctrl.h for our use of HIMAGELIST and wizard support. // Include commctrl.h for our use of HIMAGELIST and wizard support.
// //
#include <commctrl.h> #include <commctrl.h>
// //
// Include devpropdef.h for our use of DEVPROPERTYKEY and DEVPROPTYPE. // Include devpropdef.h for our use of DEVPROPERTYKEY and DEVPROPTYPE.
// //
#include <devpropdef.h> #include <devpropdef.h>
#ifdef _WIN64 #if defined(_WIN64)
#include <pshpack8.h> // Assume 8-byte (64-bit) packing throughout #include <pshpack8.h> // Assume 8-byte (64-bit) packing throughout
#else #else
#include <pshpack1.h> // Assume byte packing throughout (32-bit processor) #include <pshpack1.h> // Assume byte packing throughout (32-bit processor)
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// //
skipping to change at line 154 skipping to change at line 159
// platform to use (VER_PLATFORM_WIN32_WINDOWS or VER_PLATFORM_WIN32_NT) // platform to use (VER_PLATFORM_WIN32_WINDOWS or VER_PLATFORM_WIN32_NT)
// //
DWORD Platform; DWORD Platform;
// //
// major and minor version numbers to use // major and minor version numbers to use
// //
DWORD MajorVersion; DWORD MajorVersion;
DWORD MinorVersion; DWORD MinorVersion;
// //
// processor architecture to use (PROCESSOR_ARCHITECTURE_INTEL, // processor architecture to use (PROCESSOR_ARCHITECTURE_INTEL,
// PROCESSOR_ARCHITECTURE_AMD64, or PROCESSOR_ARCHITECTURE_IA64. // PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA64,
// or PROCESSOR_ARCHITECTURE_ARM).
// //
WORD ProcessorArchitecture; WORD ProcessorArchitecture;
union { union {
WORD Reserved; // for compatibility with V1 structure WORD Reserved; // for compatibility with V1 structure
WORD Flags; // indicates validity of non V1 fields WORD Flags; // indicates validity of non V1 fields
} DUMMYUNIONNAME; } DUMMYUNIONNAME;
// //
// specify SP_ALTPLATFORM_FLAGS_VERSION_RANGE in Flags // specify SP_ALTPLATFORM_FLAGS_VERSION_RANGE in Flags
skipping to change at line 196 skipping to change at line 202
// platform to use (VER_PLATFORM_WIN32_WINDOWS or VER_PLATFORM_WIN32_NT) // platform to use (VER_PLATFORM_WIN32_WINDOWS or VER_PLATFORM_WIN32_NT)
// //
DWORD Platform; DWORD Platform;
// //
// major and minor version numbers to use // major and minor version numbers to use
// //
DWORD MajorVersion; DWORD MajorVersion;
DWORD MinorVersion; DWORD MinorVersion;
// //
// processor architecture to use (PROCESSOR_ARCHITECTURE_INTEL, // processor architecture to use (PROCESSOR_ARCHITECTURE_INTEL,
// PROCESSOR_ARCHITECTURE_AMD64, or PROCESSOR_ARCHITECTURE_IA64. // PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA64,
// or PROCESSOR_ARCHITECTURE_ARM).
// //
WORD ProcessorArchitecture; WORD ProcessorArchitecture;
WORD Reserved; // must be zero. WORD Reserved; // must be zero.
} SP_ALTPLATFORM_INFO_V1, *PSP_ALTPLATFORM_INFO_V1; } SP_ALTPLATFORM_INFO_V1, *PSP_ALTPLATFORM_INFO_V1;
#if USE_SP_ALTPLATFORM_INFO_V1 || (_SETUPAPI_VER < _WIN32_WINNT_WINXP) // use ve rsion 1 altplatform info data structure #if USE_SP_ALTPLATFORM_INFO_V1 || (_SETUPAPI_VER < _WIN32_WINNT_WINXP) // use ve rsion 1 altplatform info data structure
typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO; typedef SP_ALTPLATFORM_INFO_V1 SP_ALTPLATFORM_INFO;
typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO; typedef PSP_ALTPLATFORM_INFO_V1 PSP_ALTPLATFORM_INFO;
skipping to change at line 273 skipping to change at line 280
// Target directory specs. // Target directory specs.
// //
#define DIRID_ABSOLUTE -1 // real 32-bit -1 #define DIRID_ABSOLUTE -1 // real 32-bit -1
#define DIRID_ABSOLUTE_16BIT 0xffff // 16-bit -1 for compat w/setupx #define DIRID_ABSOLUTE_16BIT 0xffff // 16-bit -1 for compat w/setupx
#define DIRID_NULL 0 #define DIRID_NULL 0
#define DIRID_SRCPATH 1 #define DIRID_SRCPATH 1
#define DIRID_WINDOWS 10 #define DIRID_WINDOWS 10
#define DIRID_SYSTEM 11 // system32 #define DIRID_SYSTEM 11 // system32
#define DIRID_DRIVERS 12 #define DIRID_DRIVERS 12
#define DIRID_IOSUBSYS DIRID_DRIVERS #define DIRID_IOSUBSYS DIRID_DRIVERS
#define DIRID_DRIVER_STORE 13
#define DIRID_INF 17 #define DIRID_INF 17
#define DIRID_HELP 18 #define DIRID_HELP 18
#define DIRID_FONTS 20 #define DIRID_FONTS 20
#define DIRID_VIEWERS 21 #define DIRID_VIEWERS 21
#define DIRID_COLOR 23 #define DIRID_COLOR 23
#define DIRID_APPS 24 #define DIRID_APPS 24
#define DIRID_SHARED 25 #define DIRID_SHARED 25
#define DIRID_BOOT 30 #define DIRID_BOOT 30
#define DIRID_SYSTEM16 50 #define DIRID_SYSTEM16 50
skipping to change at line 1869 skipping to change at line 1877
#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE #define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE #define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED #define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE #define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
// //
// Win9x migration DLL error code // Win9x migration DLL error code
// //
#define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000) #define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfInformationA( SetupGetInfInformationA(
__in LPCVOID InfSpec, _In_ LPCVOID InfSpec,
__in DWORD SearchControl, _In_ DWORD SearchControl,
__out_bcount_opt(ReturnBufferSize) PSP_INF_INFORMATION ReturnBuffer, _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PSP_INF_INFORMATI
__in DWORD ReturnBufferSize, ON ReturnBuffer,
__out_opt PDWORD RequiredSize _In_ DWORD ReturnBufferSize,
_Out_opt_ PDWORD RequiredSize
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfInformationW( SetupGetInfInformationW(
__in LPCVOID InfSpec, _In_ LPCVOID InfSpec,
__in DWORD SearchControl, _In_ DWORD SearchControl,
__out_bcount_opt(ReturnBufferSize) PSP_INF_INFORMATION ReturnBuffer, _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PSP_INF_INFORMATI
__in DWORD ReturnBufferSize, ON ReturnBuffer,
__out_opt PDWORD RequiredSize _In_ DWORD ReturnBufferSize,
_Out_opt_ PDWORD RequiredSize
); );
// //
// SearchControl flags for SetupGetInfInformation // SearchControl flags for SetupGetInfInformation
// //
#define INFINFO_INF_SPEC_IS_HINF 1 #define INFINFO_INF_SPEC_IS_HINF 1
#define INFINFO_INF_NAME_IS_ABSOLUTE 2 #define INFINFO_INF_NAME_IS_ABSOLUTE 2
#define INFINFO_DEFAULT_SEARCH 3 #define INFINFO_DEFAULT_SEARCH 3
#define INFINFO_REVERSE_DEFAULT_SEARCH 4 #define INFINFO_REVERSE_DEFAULT_SEARCH 4
#define INFINFO_INF_PATH_LIST_SEARCH 5 #define INFINFO_INF_PATH_LIST_SEARCH 5
skipping to change at line 1910 skipping to change at line 1920
#ifdef UNICODE #ifdef UNICODE
#define SetupGetInfInformation SetupGetInfInformationW #define SetupGetInfInformation SetupGetInfInformationW
#else #else
#define SetupGetInfInformation SetupGetInfInformationA #define SetupGetInfInformation SetupGetInfInformationA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryInfFileInformationA( SetupQueryInfFileInformationA(
__in PSP_INF_INFORMATION InfInformation, _In_ PSP_INF_INFORMATION InfInformation,
__in UINT InfIndex, _In_ UINT InfIndex,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryInfFileInformationW( SetupQueryInfFileInformationW(
__in PSP_INF_INFORMATION InfInformation, _In_ PSP_INF_INFORMATION InfInformation,
__in UINT InfIndex, _In_ UINT InfIndex,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueryInfFileInformation SetupQueryInfFileInformationW #define SetupQueryInfFileInformation SetupQueryInfFileInformationW
#else #else
#define SetupQueryInfFileInformation SetupQueryInfFileInformationA #define SetupQueryInfFileInformation SetupQueryInfFileInformationA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryInfOriginalFileInformationA( SetupQueryInfOriginalFileInformationA(
__in PSP_INF_INFORMATION InfInformation, _In_ PSP_INF_INFORMATION InfInformation,
__in UINT InfIndex, _In_ UINT InfIndex,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__out PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo _Out_ PSP_ORIGINAL_FILE_INFO_A OriginalFileInfo
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryInfOriginalFileInformationW( SetupQueryInfOriginalFileInformationW(
__in PSP_INF_INFORMATION InfInformation, _In_ PSP_INF_INFORMATION InfInformation,
__in UINT InfIndex, _In_ UINT InfIndex,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__out PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo _Out_ PSP_ORIGINAL_FILE_INFO_W OriginalFileInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformatio nW #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformatio nW
#else #else
#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformatio nA #define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformatio nA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryInfVersionInformationA( SetupQueryInfVersionInformationA(
__in PSP_INF_INFORMATION InfInformation, _In_ PSP_INF_INFORMATION InfInformation,
__in UINT InfIndex, _In_ UINT InfIndex,
__in_opt PCSTR Key, _In_opt_ PCSTR Key,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryInfVersionInformationW( SetupQueryInfVersionInformationW(
__in PSP_INF_INFORMATION InfInformation, _In_ PSP_INF_INFORMATION InfInformation,
__in UINT InfIndex, _In_ UINT InfIndex,
__in_opt PCWSTR Key, _In_opt_ PCWSTR Key,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW
#else #else
#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA #define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfDriverStoreLocationA( SetupGetInfDriverStoreLocationA(
__in PCSTR FileName, _In_ PCSTR FileName,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__in_opt PCSTR LocaleName, _In_opt_ PCSTR LocaleName,
__out_ecount(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfDriverStoreLocationW( SetupGetInfDriverStoreLocationW(
__in PCWSTR FileName, _In_ PCWSTR FileName,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__in_opt PCWSTR LocaleName, _In_opt_ PCWSTR LocaleName,
__out_ecount(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetInfDriverStoreLocation SetupGetInfDriverStoreLocationW #define SetupGetInfDriverStoreLocation SetupGetInfDriverStoreLocationW
#else #else
#define SetupGetInfDriverStoreLocation SetupGetInfDriverStoreLocationA #define SetupGetInfDriverStoreLocation SetupGetInfDriverStoreLocationA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfPublishedNameA( SetupGetInfPublishedNameA(
__in PCSTR DriverStoreLocation, _In_ PCSTR DriverStoreLocation,
__out_ecount(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfPublishedNameW( SetupGetInfPublishedNameW(
__in PCWSTR DriverStoreLocation, _In_ PCWSTR DriverStoreLocation,
__out_ecount(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetInfPublishedName SetupGetInfPublishedNameW #define SetupGetInfPublishedName SetupGetInfPublishedNameW
#else #else
#define SetupGetInfPublishedName SetupGetInfPublishedNameA #define SetupGetInfPublishedName SetupGetInfPublishedNameA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfFileListA( SetupGetInfFileListA(
__in_opt PCSTR DirectoryPath, _In_opt_ PCSTR DirectoryPath,
__in DWORD InfStyle, _In_ DWORD InfStyle,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetInfFileListW( SetupGetInfFileListW(
__in_opt PCWSTR DirectoryPath, _In_opt_ PCWSTR DirectoryPath,
__in DWORD InfStyle, _In_ DWORD InfStyle,
__out_ecount(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetInfFileList SetupGetInfFileListW #define SetupGetInfFileList SetupGetInfFileListW
#else #else
#define SetupGetInfFileList SetupGetInfFileListA #define SetupGetInfFileList SetupGetInfFileListA
#endif #endif
WINSETUPAPI WINSETUPAPI
HINF HINF
WINAPI WINAPI
SetupOpenInfFileW( SetupOpenInfFileW(
__in PCWSTR FileName, _In_ PCWSTR FileName,
__in_opt PCWSTR InfClass, _In_opt_ PCWSTR InfClass,
__in DWORD InfStyle, _In_ DWORD InfStyle,
__out_opt PUINT ErrorLine _Out_opt_ PUINT ErrorLine
); );
WINSETUPAPI WINSETUPAPI
HINF HINF
WINAPI WINAPI
SetupOpenInfFileA( SetupOpenInfFileA(
__in PCSTR FileName, _In_ PCSTR FileName,
__in_opt PCSTR InfClass, _In_opt_ PCSTR InfClass,
__in DWORD InfStyle, _In_ DWORD InfStyle,
__out_opt PUINT ErrorLine _Out_opt_ PUINT ErrorLine
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupOpenInfFile SetupOpenInfFileW #define SetupOpenInfFile SetupOpenInfFileW
#else #else
#define SetupOpenInfFile SetupOpenInfFileA #define SetupOpenInfFile SetupOpenInfFileA
#endif #endif
WINSETUPAPI WINSETUPAPI
HINF HINF
WINAPI WINAPI
SetupOpenMasterInf( SetupOpenMasterInf(
VOID VOID
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupOpenAppendInfFileW( SetupOpenAppendInfFileW(
__in_opt PCWSTR FileName, _In_opt_ PCWSTR FileName,
__in HINF InfHandle, _In_ HINF InfHandle,
__out_opt PUINT ErrorLine _Out_opt_ PUINT ErrorLine
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupOpenAppendInfFileA( SetupOpenAppendInfFileA(
__in_opt PCSTR FileName, _In_opt_ PCSTR FileName,
__in HINF InfHandle, _In_ HINF InfHandle,
__out_opt PUINT ErrorLine _Out_opt_ PUINT ErrorLine
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupOpenAppendInfFile SetupOpenAppendInfFileW #define SetupOpenAppendInfFile SetupOpenAppendInfFileW
#else #else
#define SetupOpenAppendInfFile SetupOpenAppendInfFileA #define SetupOpenAppendInfFile SetupOpenAppendInfFileA
#endif #endif
WINSETUPAPI WINSETUPAPI
VOID VOID
WINAPI WINAPI
SetupCloseInfFile( SetupCloseInfFile(
__in HINF InfHandle _In_ HINF InfHandle
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFindFirstLineA( SetupFindFirstLineA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR Section, _In_ PCSTR Section,
__in_opt PCSTR Key, _In_opt_ PCSTR Key,
__out PINFCONTEXT Context _Out_ PINFCONTEXT Context
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFindFirstLineW( SetupFindFirstLineW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR Section, _In_ PCWSTR Section,
__in_opt PCWSTR Key, _In_opt_ PCWSTR Key,
__out PINFCONTEXT Context _Out_ PINFCONTEXT Context
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupFindFirstLine SetupFindFirstLineW #define SetupFindFirstLine SetupFindFirstLineW
#else #else
#define SetupFindFirstLine SetupFindFirstLineA #define SetupFindFirstLine SetupFindFirstLineA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFindNextLine( SetupFindNextLine(
__in PINFCONTEXT ContextIn, _In_ PINFCONTEXT ContextIn,
__out PINFCONTEXT ContextOut _Out_ PINFCONTEXT ContextOut
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFindNextMatchLineA( SetupFindNextMatchLineA(
__in PINFCONTEXT ContextIn, _In_ PINFCONTEXT ContextIn,
__in_opt PCSTR Key, _In_opt_ PCSTR Key,
__out PINFCONTEXT ContextOut _Out_ PINFCONTEXT ContextOut
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFindNextMatchLineW( SetupFindNextMatchLineW(
__in PINFCONTEXT ContextIn, _In_ PINFCONTEXT ContextIn,
__in_opt PCWSTR Key, _In_opt_ PCWSTR Key,
__out PINFCONTEXT ContextOut _Out_ PINFCONTEXT ContextOut
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupFindNextMatchLine SetupFindNextMatchLineW #define SetupFindNextMatchLine SetupFindNextMatchLineW
#else #else
#define SetupFindNextMatchLine SetupFindNextMatchLineA #define SetupFindNextMatchLine SetupFindNextMatchLineA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetLineByIndexA( SetupGetLineByIndexA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR Section, _In_ PCSTR Section,
__in DWORD Index, _In_ DWORD Index,
__out PINFCONTEXT Context _Out_ PINFCONTEXT Context
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetLineByIndexW( SetupGetLineByIndexW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR Section, _In_ PCWSTR Section,
__in DWORD Index, _In_ DWORD Index,
__out PINFCONTEXT Context _Out_ PINFCONTEXT Context
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetLineByIndex SetupGetLineByIndexW #define SetupGetLineByIndex SetupGetLineByIndexW
#else #else
#define SetupGetLineByIndex SetupGetLineByIndexA #define SetupGetLineByIndex SetupGetLineByIndexA
#endif #endif
WINSETUPAPI WINSETUPAPI
LONG LONG
WINAPI WINAPI
SetupGetLineCountA( SetupGetLineCountA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR Section _In_ PCSTR Section
); );
WINSETUPAPI WINSETUPAPI
LONG LONG
WINAPI WINAPI
SetupGetLineCountW( SetupGetLineCountW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR Section _In_ PCWSTR Section
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetLineCount SetupGetLineCountW #define SetupGetLineCount SetupGetLineCountW
#else #else
#define SetupGetLineCount SetupGetLineCountA #define SetupGetLineCount SetupGetLineCountA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetLineTextA( SetupGetLineTextA(
__in_opt PINFCONTEXT Context, _In_opt_ PINFCONTEXT Context,
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PCSTR Section, _In_opt_ PCSTR Section,
__in_opt PCSTR Key, _In_opt_ PCSTR Key,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetLineTextW( SetupGetLineTextW(
__in_opt PINFCONTEXT Context, _In_opt_ PINFCONTEXT Context,
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PCWSTR Section, _In_opt_ PCWSTR Section,
__in_opt PCWSTR Key, _In_opt_ PCWSTR Key,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetLineText SetupGetLineTextW #define SetupGetLineText SetupGetLineTextW
#else #else
#define SetupGetLineText SetupGetLineTextA #define SetupGetLineText SetupGetLineTextA
#endif #endif
WINSETUPAPI WINSETUPAPI
DWORD DWORD
WINAPI WINAPI
SetupGetFieldCount( SetupGetFieldCount(
__in PINFCONTEXT Context _In_ PINFCONTEXT Context
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetStringFieldA( SetupGetStringFieldA(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in DWORD FieldIndex, _In_ DWORD FieldIndex,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetStringFieldW( SetupGetStringFieldW(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in DWORD FieldIndex, _In_ DWORD FieldIndex,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetStringField SetupGetStringFieldW #define SetupGetStringField SetupGetStringFieldW
#else #else
#define SetupGetStringField SetupGetStringFieldA #define SetupGetStringField SetupGetStringFieldA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetIntField( SetupGetIntField(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in DWORD FieldIndex, _In_ DWORD FieldIndex,
__out PINT IntegerValue _Out_ PINT IntegerValue
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetMultiSzFieldA( SetupGetMultiSzFieldA(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in DWORD FieldIndex, _In_ DWORD FieldIndex,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt LPDWORD RequiredSize _Out_opt_ LPDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetMultiSzFieldW( SetupGetMultiSzFieldW(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in DWORD FieldIndex, _In_ DWORD FieldIndex,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt LPDWORD RequiredSize _Out_opt_ LPDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetMultiSzField SetupGetMultiSzFieldW #define SetupGetMultiSzField SetupGetMultiSzFieldW
#else #else
#define SetupGetMultiSzField SetupGetMultiSzFieldA #define SetupGetMultiSzField SetupGetMultiSzFieldA
#endif #endif
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetBinaryField( SetupGetBinaryField(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in DWORD FieldIndex, _In_ DWORD FieldIndex,
__out_bcount_opt(ReturnBufferSize) PBYTE ReturnBuffer, _Out_writes_bytes_to_opt_(ReturnBufferSize, *RequiredSize) PBYTE ReturnBuffe
__in DWORD ReturnBufferSize, r,
__out_opt LPDWORD RequiredSize _In_ DWORD ReturnBufferSize,
_Out_opt_ LPDWORD RequiredSize
); );
// //
// SetupGetFileCompressionInfo is depreciated // SetupGetFileCompressionInfo is depreciated
// use SetupGetFileCompressionInfoEx instead // use SetupGetFileCompressionInfoEx instead
// //
// ActualSourceFileName returned by SetupGetFileCompressionInfo // ActualSourceFileName returned by SetupGetFileCompressionInfo
// must be freed by the export setupapi!MyFree (NT4+ Win95+) // must be freed by the export setupapi!MyFree (NT4+ Win95+)
// or LocalFree (Win2k+) // or LocalFree (Win2k+)
// //
WINSETUPAPI WINSETUPAPI
DWORD DWORD
WINAPI WINAPI
SetupGetFileCompressionInfoA( SetupGetFileCompressionInfoA(
__in PCSTR SourceFileName, _In_ PCSTR SourceFileName,
__out PSTR *ActualSourceFileName, _Out_ PSTR *ActualSourceFileName,
__out PDWORD SourceFileSize, _Out_ PDWORD SourceFileSize,
__out PDWORD TargetFileSize, _Out_ PDWORD TargetFileSize,
__out PUINT CompressionType _Out_ PUINT CompressionType
); );
WINSETUPAPI WINSETUPAPI
DWORD DWORD
WINAPI WINAPI
SetupGetFileCompressionInfoW( SetupGetFileCompressionInfoW(
__in PCWSTR SourceFileName, _In_ PCWSTR SourceFileName,
__out PWSTR *ActualSourceFileName, _Out_ PWSTR *ActualSourceFileName,
__out PDWORD SourceFileSize, _Out_ PDWORD SourceFileSize,
__out PDWORD TargetFileSize, _Out_ PDWORD TargetFileSize,
__out PUINT CompressionType _Out_ PUINT CompressionType
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW
#else #else
#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA #define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
skipping to change at line 2412 skipping to change at line 2423
// SetupGetFileCompressionInfoEx is the preferred API over // SetupGetFileCompressionInfoEx is the preferred API over
// SetupGetFileCompressionInfo. It follows the normal // SetupGetFileCompressionInfo. It follows the normal
// conventions of returning BOOL and writing to user-supplied // conventions of returning BOOL and writing to user-supplied
// buffer. // buffer.
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetFileCompressionInfoExA( SetupGetFileCompressionInfoExA(
__in PCSTR SourceFileName, _In_ PCSTR SourceFileName,
__in_ecount_opt(ActualSourceFileNameBufferLen) PSTR ActualSourceFileNameBuff _In_reads_opt_(ActualSourceFileNameBufferLen) PSTR ActualSourceFileNameBuffe
er, r,
__in DWORD ActualSourceFileNameBufferLen, _In_ DWORD ActualSourceFileNameBufferLen,
__out_opt PDWORD RequiredBufferLen, _Out_opt_ PDWORD RequiredBufferLen,
__out PDWORD SourceFileSize, _Out_ PDWORD SourceFileSize,
__out PDWORD TargetFileSize, _Out_ PDWORD TargetFileSize,
__out PUINT CompressionType _Out_ PUINT CompressionType
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetFileCompressionInfoExW( SetupGetFileCompressionInfoExW(
__in PCWSTR SourceFileName, _In_ PCWSTR SourceFileName,
__in_ecount_opt(ActualSourceFileNameBufferLen) PWSTR ActualSourceFileNameBuf _In_reads_opt_(ActualSourceFileNameBufferLen) PWSTR ActualSourceFileNameBuff
fer, er,
__in DWORD ActualSourceFileNameBufferLen, _In_ DWORD ActualSourceFileNameBufferLen,
__out_opt PDWORD RequiredBufferLen, _Out_opt_ PDWORD RequiredBufferLen,
__out PDWORD SourceFileSize, _Out_ PDWORD SourceFileSize,
__out PDWORD TargetFileSize, _Out_ PDWORD TargetFileSize,
__out PUINT CompressionType _Out_ PUINT CompressionType
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExW
#else #else
#define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA #define SetupGetFileCompressionInfoEx SetupGetFileCompressionInfoExA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
skipping to change at line 2454 skipping to change at line 2465
// //
#define FILE_COMPRESSION_NONE 0 #define FILE_COMPRESSION_NONE 0
#define FILE_COMPRESSION_WINLZA 1 #define FILE_COMPRESSION_WINLZA 1
#define FILE_COMPRESSION_MSZIP 2 #define FILE_COMPRESSION_MSZIP 2
#define FILE_COMPRESSION_NTCAB 3 #define FILE_COMPRESSION_NTCAB 3
WINSETUPAPI WINSETUPAPI
DWORD DWORD
WINAPI WINAPI
SetupDecompressOrCopyFileA( SetupDecompressOrCopyFileA(
__in PCSTR SourceFileName, _In_ PCSTR SourceFileName,
__in PCSTR TargetFileName, _In_ PCSTR TargetFileName,
__in_opt PUINT CompressionType _In_opt_ PUINT CompressionType
); );
WINSETUPAPI WINSETUPAPI
DWORD DWORD
WINAPI WINAPI
SetupDecompressOrCopyFileW( SetupDecompressOrCopyFileW(
__in PCWSTR SourceFileName, _In_ PCWSTR SourceFileName,
__in PCWSTR TargetFileName, _In_ PCWSTR TargetFileName,
__in_opt PUINT CompressionType _In_opt_ PUINT CompressionType
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW
#else #else
#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA #define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetSourceFileLocationA( SetupGetSourceFileLocationA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCSTR FileName, _In_opt_ PCSTR FileName,
__out PUINT SourceId, _Out_ PUINT SourceId,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetSourceFileLocationW( SetupGetSourceFileLocationW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCWSTR FileName, _In_opt_ PCWSTR FileName,
__out PUINT SourceId, _Out_ PUINT SourceId,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetSourceFileLocation SetupGetSourceFileLocationW #define SetupGetSourceFileLocation SetupGetSourceFileLocationW
#else #else
#define SetupGetSourceFileLocation SetupGetSourceFileLocationA #define SetupGetSourceFileLocation SetupGetSourceFileLocationA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetSourceFileSizeA( SetupGetSourceFileSizeA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCSTR FileName, _In_opt_ PCSTR FileName,
__in_opt PCSTR Section, _In_opt_ PCSTR Section,
__out PDWORD FileSize, _Out_ PDWORD FileSize,
__in UINT RoundingFactor _In_ UINT RoundingFactor
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetSourceFileSizeW( SetupGetSourceFileSizeW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCWSTR FileName, _In_opt_ PCWSTR FileName,
__in_opt PCWSTR Section, _In_opt_ PCWSTR Section,
__out PDWORD FileSize, _Out_ PDWORD FileSize,
__in UINT RoundingFactor _In_ UINT RoundingFactor
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetSourceFileSize SetupGetSourceFileSizeW #define SetupGetSourceFileSize SetupGetSourceFileSizeW
#else #else
#define SetupGetSourceFileSize SetupGetSourceFileSizeA #define SetupGetSourceFileSize SetupGetSourceFileSizeA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetTargetPathA( SetupGetTargetPathA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCSTR Section, _In_opt_ PCSTR Section,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetTargetPathW( SetupGetTargetPathW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCWSTR Section, _In_opt_ PCWSTR Section,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetTargetPath SetupGetTargetPathW #define SetupGetTargetPath SetupGetTargetPathW
#else #else
#define SetupGetTargetPath SetupGetTargetPathA #define SetupGetTargetPath SetupGetTargetPathA
#endif #endif
// //
// Define flags for SourceList APIs. // Define flags for SourceList APIs.
skipping to change at line 2582 skipping to change at line 2593
#define SRCLIST_USER 0x00000020 #define SRCLIST_USER 0x00000020
#define SRCLIST_SYSIFADMIN 0x00000040 #define SRCLIST_SYSIFADMIN 0x00000040
#define SRCLIST_SUBDIRS 0x00000100 #define SRCLIST_SUBDIRS 0x00000100
#define SRCLIST_APPEND 0x00000200 #define SRCLIST_APPEND 0x00000200
#define SRCLIST_NOSTRIPPLATFORM 0x00000400 #define SRCLIST_NOSTRIPPLATFORM 0x00000400
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetSourceListA( SetupSetSourceListA(
__in DWORD Flags, _In_ DWORD Flags,
__in_ecount(SourceCount) PCSTR *SourceList, _In_reads_(SourceCount) PCSTR *SourceList,
__in UINT SourceCount _In_ UINT SourceCount
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetSourceListW( SetupSetSourceListW(
__in DWORD Flags, _In_ DWORD Flags,
__in_ecount(SourceCount) PCWSTR *SourceList, _In_reads_(SourceCount) PCWSTR *SourceList,
__in UINT SourceCount _In_ UINT SourceCount
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupSetSourceList SetupSetSourceListW #define SetupSetSourceList SetupSetSourceListW
#else #else
#define SetupSetSourceList SetupSetSourceListA #define SetupSetSourceList SetupSetSourceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupCancelTemporarySourceList( SetupCancelTemporarySourceList(
VOID VOID
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddToSourceListA( SetupAddToSourceListA(
__in DWORD Flags, _In_ DWORD Flags,
__in PCSTR Source _In_ PCSTR Source
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddToSourceListW( SetupAddToSourceListW(
__in DWORD Flags, _In_ DWORD Flags,
__in PCWSTR Source _In_ PCWSTR Source
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupAddToSourceList SetupAddToSourceListW #define SetupAddToSourceList SetupAddToSourceListW
#else #else
#define SetupAddToSourceList SetupAddToSourceListA #define SetupAddToSourceList SetupAddToSourceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveFromSourceListA( SetupRemoveFromSourceListA(
__in DWORD Flags, _In_ DWORD Flags,
__in PCSTR Source _In_ PCSTR Source
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveFromSourceListW( SetupRemoveFromSourceListW(
__in DWORD Flags, _In_ DWORD Flags,
__in PCWSTR Source _In_ PCWSTR Source
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupRemoveFromSourceList SetupRemoveFromSourceListW #define SetupRemoveFromSourceList SetupRemoveFromSourceListW
#else #else
#define SetupRemoveFromSourceList SetupRemoveFromSourceListA #define SetupRemoveFromSourceList SetupRemoveFromSourceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQuerySourceListA( SetupQuerySourceListA(
__in DWORD Flags, _In_ DWORD Flags,
__deref_out_ecount(*Count) PCSTR **List, _Outptr_result_buffer_(*Count) PCSTR **List,
__out PUINT Count _Out_ PUINT Count
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQuerySourceListW( SetupQuerySourceListW(
__in DWORD Flags, _In_ DWORD Flags,
__deref_out_ecount(*Count) PCWSTR **List, _Outptr_result_buffer_(*Count) PCWSTR **List,
__out PUINT Count _Out_ PUINT Count
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQuerySourceList SetupQuerySourceListW #define SetupQuerySourceList SetupQuerySourceListW
#else #else
#define SetupQuerySourceList SetupQuerySourceListA #define SetupQuerySourceList SetupQuerySourceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFreeSourceListA( SetupFreeSourceListA(
__deref_inout_ecount(Count) PCSTR **List, _Inout_ _At_(*List, _Pre_readable_size_(Count) _Post_null_) PCSTR **List,
__in UINT Count _In_ UINT Count
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupFreeSourceListW( SetupFreeSourceListW(
__deref_inout_ecount(Count) PCWSTR **List, _Inout_ _At_(*List, _Pre_readable_size_(Count) _Post_null_) PCWSTR **List,
__in UINT Count _In_ UINT Count
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupFreeSourceList SetupFreeSourceListW #define SetupFreeSourceList SetupFreeSourceListW
#else #else
#define SetupFreeSourceList SetupFreeSourceListA #define SetupFreeSourceList SetupFreeSourceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupPromptForDiskA( SetupPromptForDiskA(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCSTR DialogTitle, _In_opt_ PCSTR DialogTitle,
__in_opt PCSTR DiskName, _In_opt_ PCSTR DiskName,
__in_opt PCSTR PathToSource, _In_opt_ PCSTR PathToSource,
__in PCSTR FileSought, _In_ PCSTR FileSought,
__in_opt PCSTR TagFile, _In_opt_ PCSTR TagFile,
__in DWORD DiskPromptStyle, _In_ DWORD DiskPromptStyle,
__out_ecount_opt(PathBufferSize) PSTR PathBuffer, _Out_writes_opt_(PathBufferSize) PSTR PathBuffer,
__in DWORD PathBufferSize, _In_ DWORD PathBufferSize,
__out_opt PDWORD PathRequiredSize _Out_opt_ PDWORD PathRequiredSize
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupPromptForDiskW( SetupPromptForDiskW(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCWSTR DialogTitle, _In_opt_ PCWSTR DialogTitle,
__in_opt PCWSTR DiskName, _In_opt_ PCWSTR DiskName,
__in_opt PCWSTR PathToSource, _In_opt_ PCWSTR PathToSource,
__in PCWSTR FileSought, _In_ PCWSTR FileSought,
__in_opt PCWSTR TagFile, _In_opt_ PCWSTR TagFile,
__in DWORD DiskPromptStyle, _In_ DWORD DiskPromptStyle,
__out_ecount_opt(PathBufferSize) PWSTR PathBuffer, _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer,
__in DWORD PathBufferSize, _In_ DWORD PathBufferSize,
__out_opt PDWORD PathRequiredSize _Out_opt_ PDWORD PathRequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupPromptForDisk SetupPromptForDiskW #define SetupPromptForDisk SetupPromptForDiskW
#else #else
#define SetupPromptForDisk SetupPromptForDiskA #define SetupPromptForDisk SetupPromptForDiskA
#endif #endif
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupCopyErrorA( SetupCopyErrorA(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCSTR DialogTitle, _In_opt_ PCSTR DialogTitle,
__in_opt PCSTR DiskName, _In_opt_ PCSTR DiskName,
__in PCSTR PathToSource, _In_ PCSTR PathToSource,
__in PCSTR SourceFile, _In_ PCSTR SourceFile,
__in_opt PCSTR TargetPathFile, _In_opt_ PCSTR TargetPathFile,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style, _In_ DWORD Style,
__out_ecount_opt(PathBufferSize) PSTR PathBuffer, _Out_writes_opt_(PathBufferSize) PSTR PathBuffer,
__in DWORD PathBufferSize, _In_ DWORD PathBufferSize,
__out_opt PDWORD PathRequiredSize _Out_opt_ PDWORD PathRequiredSize
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupCopyErrorW( SetupCopyErrorW(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCWSTR DialogTitle, _In_opt_ PCWSTR DialogTitle,
__in_opt PCWSTR DiskName, _In_opt_ PCWSTR DiskName,
__in PCWSTR PathToSource, _In_ PCWSTR PathToSource,
__in PCWSTR SourceFile, _In_ PCWSTR SourceFile,
__in_opt PCWSTR TargetPathFile, _In_opt_ PCWSTR TargetPathFile,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style, _In_ DWORD Style,
__out_ecount_opt(PathBufferSize) PWSTR PathBuffer, _Out_writes_opt_(PathBufferSize) PWSTR PathBuffer,
__in DWORD PathBufferSize, _In_ DWORD PathBufferSize,
__out_opt PDWORD PathRequiredSize _Out_opt_ PDWORD PathRequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupCopyError SetupCopyErrorW #define SetupCopyError SetupCopyErrorW
#else #else
#define SetupCopyError SetupCopyErrorA #define SetupCopyError SetupCopyErrorA
#endif #endif
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupRenameErrorA( SetupRenameErrorA(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCSTR DialogTitle, _In_opt_ PCSTR DialogTitle,
__in PCSTR SourceFile, _In_ PCSTR SourceFile,
__in PCSTR TargetFile, _In_ PCSTR TargetFile,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style _In_ DWORD Style
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupRenameErrorW( SetupRenameErrorW(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCWSTR DialogTitle, _In_opt_ PCWSTR DialogTitle,
__in PCWSTR SourceFile, _In_ PCWSTR SourceFile,
__in PCWSTR TargetFile, _In_ PCWSTR TargetFile,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style _In_ DWORD Style
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupRenameError SetupRenameErrorW #define SetupRenameError SetupRenameErrorW
#else #else
#define SetupRenameError SetupRenameErrorA #define SetupRenameError SetupRenameErrorA
#endif #endif
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupDeleteErrorA( SetupDeleteErrorA(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCSTR DialogTitle, _In_opt_ PCSTR DialogTitle,
__in PCSTR File, _In_ PCSTR File,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style _In_ DWORD Style
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupDeleteErrorW( SetupDeleteErrorW(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCWSTR DialogTitle, _In_opt_ PCWSTR DialogTitle,
__in PCWSTR File, _In_ PCWSTR File,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style _In_ DWORD Style
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDeleteError SetupDeleteErrorW #define SetupDeleteError SetupDeleteErrorW
#else #else
#define SetupDeleteError SetupDeleteErrorA #define SetupDeleteError SetupDeleteErrorA
#endif #endif
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupBackupErrorA( SetupBackupErrorA(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCSTR DialogTitle, _In_opt_ PCSTR DialogTitle,
__in PCSTR SourceFile, _In_ PCSTR SourceFile,
__in_opt PCSTR TargetFile, _In_opt_ PCSTR TargetFile,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style _In_ DWORD Style
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupBackupErrorW( SetupBackupErrorW(
__in HWND hwndParent, _In_ HWND hwndParent,
__in_opt PCWSTR DialogTitle, _In_opt_ PCWSTR DialogTitle,
__in PCWSTR SourceFile, _In_ PCWSTR SourceFile,
__in_opt PCWSTR TargetFile, _In_opt_ PCWSTR TargetFile,
__in UINT Win32ErrorCode, _In_ UINT Win32ErrorCode,
__in DWORD Style _In_ DWORD Style
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupBackupError SetupBackupErrorW #define SetupBackupError SetupBackupErrorW
#else #else
#define SetupBackupError SetupBackupErrorA #define SetupBackupError SetupBackupErrorA
#endif #endif
// //
// Styles for SetupPromptForDisk, SetupCopyError, // Styles for SetupPromptForDisk, SetupCopyError,
skipping to change at line 2900 skipping to change at line 2911
#define DPROMPT_SUCCESS 0 #define DPROMPT_SUCCESS 0
#define DPROMPT_CANCEL 1 #define DPROMPT_CANCEL 1
#define DPROMPT_SKIPFILE 2 #define DPROMPT_SKIPFILE 2
#define DPROMPT_BUFFERTOOSMALL 3 #define DPROMPT_BUFFERTOOSMALL 3
#define DPROMPT_OUTOFMEMORY 4 #define DPROMPT_OUTOFMEMORY 4
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetDirectoryIdA( SetupSetDirectoryIdA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in DWORD Id, _In_ DWORD Id,
__in_opt PCSTR Directory _In_opt_ PCSTR Directory
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetDirectoryIdW( SetupSetDirectoryIdW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in DWORD Id, _In_ DWORD Id,
__in_opt PCWSTR Directory _In_opt_ PCWSTR Directory
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupSetDirectoryId SetupSetDirectoryIdW #define SetupSetDirectoryId SetupSetDirectoryIdW
#else #else
#define SetupSetDirectoryId SetupSetDirectoryIdA #define SetupSetDirectoryId SetupSetDirectoryIdA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetDirectoryIdExA( SetupSetDirectoryIdExA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in DWORD Id, _In_ DWORD Id,
__in_opt PCSTR Directory, _In_opt_ PCSTR Directory,
__in DWORD Flags, _In_ DWORD Flags,
__reserved DWORD Reserved1, _Reserved_ DWORD Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetDirectoryIdExW( SetupSetDirectoryIdExW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in DWORD Id, _In_ DWORD Id,
__in_opt PCWSTR Directory, _In_opt_ PCWSTR Directory,
__in DWORD Flags, _In_ DWORD Flags,
__reserved DWORD Reserved1, _Reserved_ DWORD Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupSetDirectoryIdEx SetupSetDirectoryIdExW #define SetupSetDirectoryIdEx SetupSetDirectoryIdExW
#else #else
#define SetupSetDirectoryIdEx SetupSetDirectoryIdExA #define SetupSetDirectoryIdEx SetupSetDirectoryIdExA
#endif #endif
// //
// Flags for SetupSetDirectoryIdEx // Flags for SetupSetDirectoryIdEx
// //
#define SETDIRID_NOT_FULL_PATH 0x00000001 #define SETDIRID_NOT_FULL_PATH 0x00000001
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetSourceInfoA( SetupGetSourceInfoA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in UINT SourceId, _In_ UINT SourceId,
__in UINT InfoDesired, _In_ UINT InfoDesired,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetSourceInfoW( SetupGetSourceInfoW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in UINT SourceId, _In_ UINT SourceId,
__in UINT InfoDesired, _In_ UINT InfoDesired,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetSourceInfo SetupGetSourceInfoW #define SetupGetSourceInfo SetupGetSourceInfoW
#else #else
#define SetupGetSourceInfo SetupGetSourceInfoA #define SetupGetSourceInfo SetupGetSourceInfoA
#endif #endif
// //
// InfoDesired values for SetupGetSourceInfo // InfoDesired values for SetupGetSourceInfo
skipping to change at line 3010 skipping to change at line 3021
#define SRCINFO_TAGFILE2 5 // alternate tagfile, when SRCINFO_TAGFILE is a cabfile #define SRCINFO_TAGFILE2 5 // alternate tagfile, when SRCINFO_TAGFILE is a cabfile
#define SRC_FLAGS_CABFILE (0x0010) // if set, treat SRCINFO_TAGFILE as a c abfile and specify alternate tagfile #define SRC_FLAGS_CABFILE (0x0010) // if set, treat SRCINFO_TAGFILE as a c abfile and specify alternate tagfile
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFileA( SetupInstallFileA(
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCSTR SourceFile, _In_opt_ PCSTR SourceFile,
__in_opt PCSTR SourcePathRoot, _In_opt_ PCSTR SourcePathRoot,
__in_opt PCSTR DestinationName, _In_opt_ PCSTR DestinationName,
__in DWORD CopyStyle, _In_ DWORD CopyStyle,
__in_opt PSP_FILE_CALLBACK_A CopyMsgHandler, _In_opt_ PSP_FILE_CALLBACK_A CopyMsgHandler,
__in_opt PVOID Context _In_opt_ PVOID Context
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFileW( SetupInstallFileW(
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCWSTR SourceFile, _In_opt_ PCWSTR SourceFile,
__in_opt PCWSTR SourcePathRoot, _In_opt_ PCWSTR SourcePathRoot,
__in_opt PCWSTR DestinationName, _In_opt_ PCWSTR DestinationName,
__in DWORD CopyStyle, _In_ DWORD CopyStyle,
__in_opt PSP_FILE_CALLBACK_W CopyMsgHandler, _In_opt_ PSP_FILE_CALLBACK_W CopyMsgHandler,
__in_opt PVOID Context _In_opt_ PVOID Context
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInstallFile SetupInstallFileW #define SetupInstallFile SetupInstallFileW
#else #else
#define SetupInstallFile SetupInstallFileA #define SetupInstallFile SetupInstallFileA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFileExA( SetupInstallFileExA(
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCSTR SourceFile, _In_opt_ PCSTR SourceFile,
__in_opt PCSTR SourcePathRoot, _In_opt_ PCSTR SourcePathRoot,
__in_opt PCSTR DestinationName, _In_opt_ PCSTR DestinationName,
__in DWORD CopyStyle, _In_ DWORD CopyStyle,
__in_opt PSP_FILE_CALLBACK_A CopyMsgHandler, _In_opt_ PSP_FILE_CALLBACK_A CopyMsgHandler,
__in_opt PVOID Context, _In_opt_ PVOID Context,
__out PBOOL FileWasInUse _Out_ PBOOL FileWasInUse
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFileExW( SetupInstallFileExW(
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PINFCONTEXT InfContext, _In_opt_ PINFCONTEXT InfContext,
__in_opt PCWSTR SourceFile, _In_opt_ PCWSTR SourceFile,
__in_opt PCWSTR SourcePathRoot, _In_opt_ PCWSTR SourcePathRoot,
__in_opt PCWSTR DestinationName, _In_opt_ PCWSTR DestinationName,
__in DWORD CopyStyle, _In_ DWORD CopyStyle,
__in_opt PSP_FILE_CALLBACK_W CopyMsgHandler, _In_opt_ PSP_FILE_CALLBACK_W CopyMsgHandler,
__in_opt PVOID Context, _In_opt_ PVOID Context,
__out PBOOL FileWasInUse _Out_ PBOOL FileWasInUse
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInstallFileEx SetupInstallFileExW #define SetupInstallFileEx SetupInstallFileExW
#else #else
#define SetupInstallFileEx SetupInstallFileExA #define SetupInstallFileEx SetupInstallFileExA
#endif #endif
// //
// CopyStyle values for copy and queue-related APIs // CopyStyle values for copy and queue-related APIs
skipping to change at line 3153 skipping to change at line 3164
HSPFILEQ HSPFILEQ
WINAPI WINAPI
SetupOpenFileQueue( SetupOpenFileQueue(
VOID VOID
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupCloseFileQueue( SetupCloseFileQueue(
__in HSPFILEQ QueueHandle _In_ HSPFILEQ QueueHandle
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetFileQueueAlternatePlatformA( SetupSetFileQueueAlternatePlatformA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__in_opt PCSTR AlternateDefaultCatalogFile _In_opt_ PCSTR AlternateDefaultCatalogFile
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetFileQueueAlternatePlatformW( SetupSetFileQueueAlternatePlatformW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__in_opt PCWSTR AlternateDefaultCatalogFile _In_opt_ PCWSTR AlternateDefaultCatalogFile
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
#else #else
#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA #define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetPlatformPathOverrideA( SetupSetPlatformPathOverrideA(
__in_opt PCSTR Override _In_opt_ PCSTR Override
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetPlatformPathOverrideW( SetupSetPlatformPathOverrideW(
__in_opt PCWSTR Override _In_opt_ PCWSTR Override
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
#else #else
#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA #define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueCopyA( SetupQueueCopyA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in_opt PCSTR SourceRootPath, _In_opt_ PCSTR SourceRootPath,
__in_opt PCSTR SourcePath, _In_opt_ PCSTR SourcePath,
__in PCSTR SourceFilename, _In_ PCSTR SourceFilename,
__in_opt PCSTR SourceDescription, _In_opt_ PCSTR SourceDescription,
__in_opt PCSTR SourceTagfile, _In_opt_ PCSTR SourceTagfile,
__in PCSTR TargetDirectory, _In_ PCSTR TargetDirectory,
__in_opt PCSTR TargetFilename, _In_opt_ PCSTR TargetFilename,
__in DWORD CopyStyle _In_ DWORD CopyStyle
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueCopyW( SetupQueueCopyW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in_opt PCWSTR SourceRootPath, _In_opt_ PCWSTR SourceRootPath,
__in_opt PCWSTR SourcePath, _In_opt_ PCWSTR SourcePath,
__in PCWSTR SourceFilename, _In_ PCWSTR SourceFilename,
__in_opt PCWSTR SourceDescription, _In_opt_ PCWSTR SourceDescription,
__in_opt PCWSTR SourceTagfile, _In_opt_ PCWSTR SourceTagfile,
__in PCWSTR TargetDirectory, _In_ PCWSTR TargetDirectory,
__in_opt PCWSTR TargetFilename, _In_opt_ PCWSTR TargetFilename,
__in DWORD CopyStyle _In_ DWORD CopyStyle
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueCopy SetupQueueCopyW #define SetupQueueCopy SetupQueueCopyW
#else #else
#define SetupQueueCopy SetupQueueCopyA #define SetupQueueCopy SetupQueueCopyA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueCopyIndirectA( SetupQueueCopyIndirectA(
__in PSP_FILE_COPY_PARAMS_A CopyParams _In_ PSP_FILE_COPY_PARAMS_A CopyParams
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueCopyIndirectW( SetupQueueCopyIndirectW(
__in PSP_FILE_COPY_PARAMS_W CopyParams _In_ PSP_FILE_COPY_PARAMS_W CopyParams
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueCopyIndirect SetupQueueCopyIndirectW #define SetupQueueCopyIndirect SetupQueueCopyIndirectW
#else #else
#define SetupQueueCopyIndirect SetupQueueCopyIndirectA #define SetupQueueCopyIndirect SetupQueueCopyIndirectA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueDefaultCopyA( SetupQueueDefaultCopyA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PCSTR SourceRootPath, _In_opt_ PCSTR SourceRootPath,
__in PCSTR SourceFilename, _In_ PCSTR SourceFilename,
__in_opt PCSTR TargetFilename, _In_opt_ PCSTR TargetFilename,
__in DWORD CopyStyle _In_ DWORD CopyStyle
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueDefaultCopyW( SetupQueueDefaultCopyW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt PCWSTR SourceRootPath, _In_opt_ PCWSTR SourceRootPath,
__in PCWSTR SourceFilename, _In_ PCWSTR SourceFilename,
__in_opt PCWSTR TargetFilename, _In_opt_ PCWSTR TargetFilename,
__in DWORD CopyStyle _In_ DWORD CopyStyle
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueDefaultCopy SetupQueueDefaultCopyW #define SetupQueueDefaultCopy SetupQueueDefaultCopyW
#else #else
#define SetupQueueDefaultCopy SetupQueueDefaultCopyA #define SetupQueueDefaultCopy SetupQueueDefaultCopyA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueCopySectionA( SetupQueueCopySectionA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in_opt PCSTR SourceRootPath, _In_opt_ PCSTR SourceRootPath,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCSTR Section, _In_ PCSTR Section,
__in DWORD CopyStyle _In_ DWORD CopyStyle
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueCopySectionW( SetupQueueCopySectionW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in_opt PCWSTR SourceRootPath, _In_opt_ PCWSTR SourceRootPath,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCWSTR Section, _In_ PCWSTR Section,
__in DWORD CopyStyle _In_ DWORD CopyStyle
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueCopySection SetupQueueCopySectionW #define SetupQueueCopySection SetupQueueCopySectionW
#else #else
#define SetupQueueCopySection SetupQueueCopySectionA #define SetupQueueCopySection SetupQueueCopySectionA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueDeleteA( SetupQueueDeleteA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PCSTR PathPart1, _In_ PCSTR PathPart1,
__in_opt PCSTR PathPart2 _In_opt_ PCSTR PathPart2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueDeleteW( SetupQueueDeleteW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PCWSTR PathPart1, _In_ PCWSTR PathPart1,
__in_opt PCWSTR PathPart2 _In_opt_ PCWSTR PathPart2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueDelete SetupQueueDeleteW #define SetupQueueDelete SetupQueueDeleteW
#else #else
#define SetupQueueDelete SetupQueueDeleteA #define SetupQueueDelete SetupQueueDeleteA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueDeleteSectionA( SetupQueueDeleteSectionA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCSTR Section _In_ PCSTR Section
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueDeleteSectionW( SetupQueueDeleteSectionW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCWSTR Section _In_ PCWSTR Section
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueDeleteSection SetupQueueDeleteSectionW #define SetupQueueDeleteSection SetupQueueDeleteSectionW
#else #else
#define SetupQueueDeleteSection SetupQueueDeleteSectionA #define SetupQueueDeleteSection SetupQueueDeleteSectionA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueRenameA( SetupQueueRenameA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PCSTR SourcePath, _In_ PCSTR SourcePath,
__in_opt PCSTR SourceFilename, _In_opt_ PCSTR SourceFilename,
__in_opt PCSTR TargetPath, _In_opt_ PCSTR TargetPath,
__in PCSTR TargetFilename _In_ PCSTR TargetFilename
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueRenameW( SetupQueueRenameW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PCWSTR SourcePath, _In_ PCWSTR SourcePath,
__in_opt PCWSTR SourceFilename, _In_opt_ PCWSTR SourceFilename,
__in_opt PCWSTR TargetPath, _In_opt_ PCWSTR TargetPath,
__in PCWSTR TargetFilename _In_ PCWSTR TargetFilename
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueRename SetupQueueRenameW #define SetupQueueRename SetupQueueRenameW
#else #else
#define SetupQueueRename SetupQueueRenameA #define SetupQueueRename SetupQueueRenameA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueRenameSectionA( SetupQueueRenameSectionA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCSTR Section _In_ PCSTR Section
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueueRenameSectionW( SetupQueueRenameSectionW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCWSTR Section _In_ PCWSTR Section
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueueRenameSection SetupQueueRenameSectionW #define SetupQueueRenameSection SetupQueueRenameSectionW
#else #else
#define SetupQueueRenameSection SetupQueueRenameSectionA #define SetupQueueRenameSection SetupQueueRenameSectionA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupCommitFileQueueA( SetupCommitFileQueueA(
__in_opt HWND Owner, _In_opt_ HWND Owner,
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PSP_FILE_CALLBACK_A MsgHandler, _In_ PSP_FILE_CALLBACK_A MsgHandler,
__in PVOID Context _In_ PVOID Context
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupCommitFileQueueW( SetupCommitFileQueueW(
__in_opt HWND Owner, _In_opt_ HWND Owner,
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PSP_FILE_CALLBACK_W MsgHandler, _In_ PSP_FILE_CALLBACK_W MsgHandler,
__in PVOID Context _In_ PVOID Context
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupCommitFileQueue SetupCommitFileQueueW #define SetupCommitFileQueue SetupCommitFileQueueW
#else #else
#define SetupCommitFileQueue SetupCommitFileQueueA #define SetupCommitFileQueue SetupCommitFileQueueA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupScanFileQueueA( SetupScanFileQueueA(
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HWND Window, _In_opt_ HWND Window,
__in_opt PSP_FILE_CALLBACK_A CallbackRoutine, _In_opt_ PSP_FILE_CALLBACK_A CallbackRoutine,
__in_opt PVOID CallbackContext, _In_opt_ PVOID CallbackContext,
__out PDWORD Result _Out_ PDWORD Result
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupScanFileQueueW( SetupScanFileQueueW(
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HWND Window, _In_opt_ HWND Window,
__in_opt PSP_FILE_CALLBACK_W CallbackRoutine, _In_opt_ PSP_FILE_CALLBACK_W CallbackRoutine,
__in_opt PVOID CallbackContext, _In_opt_ PVOID CallbackContext,
__out PDWORD Result _Out_ PDWORD Result
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupScanFileQueue SetupScanFileQueueW #define SetupScanFileQueue SetupScanFileQueueW
#else #else
#define SetupScanFileQueue SetupScanFileQueueA #define SetupScanFileQueue SetupScanFileQueueA
#endif #endif
// //
// Define flags for SetupScanFileQueue. // Define flags for SetupScanFileQueue.
skipping to change at line 3512 skipping to change at line 3523
// Define flags used with Param2 for SPFILENOTIFY_QUEUESCAN // Define flags used with Param2 for SPFILENOTIFY_QUEUESCAN
// //
#define SPQ_DELAYED_COPY 0x00000001 // file was in use; registered for delayed copy #define SPQ_DELAYED_COPY 0x00000001 // file was in use; registered for delayed copy
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetFileQueueCount( SetupGetFileQueueCount(
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in UINT SubQueueFileOp, _In_ UINT SubQueueFileOp,
__out PUINT NumOperations _Out_ PUINT NumOperations
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetFileQueueFlags( SetupGetFileQueueFlags(
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__out PDWORD Flags _Out_ PDWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetFileQueueFlags( SetupSetFileQueueFlags(
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in DWORD FlagMask, _In_ DWORD FlagMask,
__in DWORD Flags _In_ DWORD Flags
); );
// //
// Flags/FlagMask for use with SetupSetFileQueueFlags and returned by SetupGetFi leQueueFlags // Flags/FlagMask for use with SetupSetFileQueueFlags and returned by SetupGetFi leQueueFlags
// //
#define SPQ_FLAG_BACKUP_AWARE 0x00000001 // If set, SetupCommitFileQueue w ill #define SPQ_FLAG_BACKUP_AWARE 0x00000001 // If set, SetupCommitFileQueue w ill
// issue backup notifications. // issue backup notifications.
#define SPQ_FLAG_ABORT_IF_UNSIGNED 0x00000002 // If set, SetupCommitFileQueue w ill #define SPQ_FLAG_ABORT_IF_UNSIGNED 0x00000002 // If set, SetupCommitFileQueue w ill
// fail with ERROR_SET_SYSTEM_RES TORE_POINT // fail with ERROR_SET_SYSTEM_RES TORE_POINT
skipping to change at line 3576 skipping to change at line 3587
// //
#define SPOST_NONE 0 #define SPOST_NONE 0
#define SPOST_PATH 1 #define SPOST_PATH 1
#define SPOST_URL 2 #define SPOST_URL 2
#define SPOST_MAX 3 #define SPOST_MAX 3
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupCopyOEMInfA( SetupCopyOEMInfA(
__in PCSTR SourceInfFileName, _In_ PCSTR SourceInfFileName,
__in_opt PCSTR OEMSourceMediaLocation, _In_opt_ PCSTR OEMSourceMediaLocation,
__in DWORD OEMSourceMediaType, _In_ DWORD OEMSourceMediaType,
__in DWORD CopyStyle, _In_ DWORD CopyStyle,
__out_ecount_opt(DestinationInfFileNameSize) PSTR DestinationInfFileName, _Out_writes_opt_(DestinationInfFileNameSize) PSTR DestinationInfFileName,
__in DWORD DestinationInfFileNameSize, _In_ DWORD DestinationInfFileNameSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__out_opt PSTR *DestinationInfFileNameComponent _Out_opt_ PSTR *DestinationInfFileNameComponent
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupCopyOEMInfW( SetupCopyOEMInfW(
__in PCWSTR SourceInfFileName, _In_ PCWSTR SourceInfFileName,
__in_opt PCWSTR OEMSourceMediaLocation, _In_opt_ PCWSTR OEMSourceMediaLocation,
__in DWORD OEMSourceMediaType, _In_ DWORD OEMSourceMediaType,
__in DWORD CopyStyle, _In_ DWORD CopyStyle,
__out_ecount_opt(DestinationInfFileNameSize) PWSTR DestinationInfFileName, _Out_writes_opt_(DestinationInfFileNameSize) PWSTR DestinationInfFileName,
__in DWORD DestinationInfFileNameSize, _In_ DWORD DestinationInfFileNameSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__out_opt PWSTR *DestinationInfFileNameComponent _Out_opt_ PWSTR *DestinationInfFileNameComponent
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupCopyOEMInf SetupCopyOEMInfW #define SetupCopyOEMInf SetupCopyOEMInfW
#else #else
#define SetupCopyOEMInf SetupCopyOEMInfA #define SetupCopyOEMInf SetupCopyOEMInfA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
skipping to change at line 3626 skipping to change at line 3637
#define SUOI_INTERNAL1 0x00000002 #define SUOI_INTERNAL1 0x00000002
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupUninstallOEMInfA( SetupUninstallOEMInfA(
__in PCSTR InfFileName, _In_ PCSTR InfFileName,
__in DWORD Flags, _In_ DWORD Flags,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupUninstallOEMInfW( SetupUninstallOEMInfW(
__in PCWSTR InfFileName, _In_ PCWSTR InfFileName,
__in DWORD Flags, _In_ DWORD Flags,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupUninstallOEMInf SetupUninstallOEMInfW #define SetupUninstallOEMInf SetupUninstallOEMInfW
#else #else
#define SetupUninstallOEMInf SetupUninstallOEMInfA #define SetupUninstallOEMInf SetupUninstallOEMInfA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupUninstallNewlyCopiedInfs( SetupUninstallNewlyCopiedInfs(
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in DWORD Flags, _In_ DWORD Flags,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
// //
// Disk space list APIs // Disk space list APIs
// //
WINSETUPAPI WINSETUPAPI
HDSKSPC HDSKSPC
WINAPI WINAPI
SetupCreateDiskSpaceListA( SetupCreateDiskSpaceListA(
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved DWORD Reserved2, _Reserved_ DWORD Reserved2,
__in UINT Flags _In_ UINT Flags
); );
WINSETUPAPI WINSETUPAPI
HDSKSPC HDSKSPC
WINAPI WINAPI
SetupCreateDiskSpaceListW( SetupCreateDiskSpaceListW(
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved DWORD Reserved2, _Reserved_ DWORD Reserved2,
__in UINT Flags _In_ UINT Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
#else #else
#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA #define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
#endif #endif
// //
// Flags for SetupCreateDiskSpaceList // Flags for SetupCreateDiskSpaceList
// //
#define SPDSL_IGNORE_DISK 0x00000001 // ignore deletes and on-disk files in copies #define SPDSL_IGNORE_DISK 0x00000001 // ignore deletes and on-disk files in copies
#define SPDSL_DISALLOW_NEGATIVE_ADJUST 0x00000002 #define SPDSL_DISALLOW_NEGATIVE_ADJUST 0x00000002
WINSETUPAPI WINSETUPAPI
HDSKSPC HDSKSPC
WINAPI WINAPI
SetupDuplicateDiskSpaceListA( SetupDuplicateDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved DWORD Reserved2, _Reserved_ DWORD Reserved2,
__in UINT Flags _In_ UINT Flags
); );
WINSETUPAPI WINSETUPAPI
HDSKSPC HDSKSPC
WINAPI WINAPI
SetupDuplicateDiskSpaceListW( SetupDuplicateDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved DWORD Reserved2, _Reserved_ DWORD Reserved2,
__in UINT Flags _In_ UINT Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
#else #else
#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA #define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDestroyDiskSpaceList( SetupDestroyDiskSpaceList(
__inout HDSKSPC DiskSpace _Inout_ HDSKSPC DiskSpace
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryDrivesInDiskSpaceListA( SetupQueryDrivesInDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__out_ecount_opt(ReturnBufferSize) PSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryDrivesInDiskSpaceListW( SetupQueryDrivesInDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__out_ecount_opt(ReturnBufferSize) PWSTR ReturnBuffer, _Out_writes_opt_(ReturnBufferSize) PWSTR ReturnBuffer,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
#else #else
#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA #define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQuerySpaceRequiredOnDriveA( SetupQuerySpaceRequiredOnDriveA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in PCSTR DriveSpec, _In_ PCSTR DriveSpec,
__out LONGLONG *SpaceRequired, _Out_ LONGLONG *SpaceRequired,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQuerySpaceRequiredOnDriveW( SetupQuerySpaceRequiredOnDriveW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in PCWSTR DriveSpec, _In_ PCWSTR DriveSpec,
__out LONGLONG *SpaceRequired, _Out_ LONGLONG *SpaceRequired,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
#else #else
#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA #define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAdjustDiskSpaceListA( SetupAdjustDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in LPCSTR DriveRoot, _In_ LPCSTR DriveRoot,
__in LONGLONG Amount, _In_ LONGLONG Amount,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAdjustDiskSpaceListW( SetupAdjustDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in LPCWSTR DriveRoot, _In_ LPCWSTR DriveRoot,
__in LONGLONG Amount, _In_ LONGLONG Amount,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
#else #else
#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA #define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddToDiskSpaceListA( SetupAddToDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in PCSTR TargetFilespec, _In_ PCSTR TargetFilespec,
__in LONGLONG FileSize, _In_ LONGLONG FileSize,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddToDiskSpaceListW( SetupAddToDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in PCWSTR TargetFilespec, _In_ PCWSTR TargetFilespec,
__in LONGLONG FileSize, _In_ LONGLONG FileSize,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
#else #else
#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA #define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddSectionToDiskSpaceListA( SetupAddSectionToDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddSectionToDiskSpaceListW( SetupAddSectionToDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
#else #else
#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA #define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddInstallSectionToDiskSpaceListA( SetupAddInstallSectionToDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF LayoutInfHandle, _In_opt_ HINF LayoutInfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupAddInstallSectionToDiskSpaceListW( SetupAddInstallSectionToDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF LayoutInfHandle, _In_opt_ HINF LayoutInfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceL istW #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceL istW
#else #else
#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceL istA #define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceL istA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveFromDiskSpaceListA( SetupRemoveFromDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in PCSTR TargetFilespec, _In_ PCSTR TargetFilespec,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveFromDiskSpaceListW( SetupRemoveFromDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in PCWSTR TargetFilespec, _In_ PCWSTR TargetFilespec,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
#else #else
#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA #define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveSectionFromDiskSpaceListA( SetupRemoveSectionFromDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveSectionFromDiskSpaceListW( SetupRemoveSectionFromDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF ListInfHandle, _In_opt_ HINF ListInfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in UINT Operation, _In_ UINT Operation,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
#else #else
#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA #define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveInstallSectionFromDiskSpaceListA( SetupRemoveInstallSectionFromDiskSpaceListA(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF LayoutInfHandle, _In_opt_ HINF LayoutInfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveInstallSectionFromDiskSpaceListW( SetupRemoveInstallSectionFromDiskSpaceListW(
__in HDSKSPC DiskSpace, _In_ HDSKSPC DiskSpace,
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF LayoutInfHandle, _In_opt_ HINF LayoutInfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved UINT Reserved2 _Reserved_ UINT Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFrom DiskSpaceListW #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFrom DiskSpaceListW
#else #else
#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFrom DiskSpaceListA #define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFrom DiskSpaceListA
#endif #endif
// //
// Cabinet APIs // Cabinet APIs
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupIterateCabinetA( SetupIterateCabinetA(
__in PCSTR CabinetFile, _In_ PCSTR CabinetFile,
__reserved DWORD Reserved, _Reserved_ DWORD Reserved,
__in PSP_FILE_CALLBACK_A MsgHandler, _In_ PSP_FILE_CALLBACK_A MsgHandler,
__in PVOID Context _In_ PVOID Context
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupIterateCabinetW( SetupIterateCabinetW(
__in PCWSTR CabinetFile, _In_ PCWSTR CabinetFile,
__reserved DWORD Reserved, _Reserved_ DWORD Reserved,
__in PSP_FILE_CALLBACK_W MsgHandler, _In_ PSP_FILE_CALLBACK_W MsgHandler,
__in PVOID Context _In_ PVOID Context
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupIterateCabinet SetupIterateCabinetW #define SetupIterateCabinet SetupIterateCabinetW
#else #else
#define SetupIterateCabinet SetupIterateCabinetA #define SetupIterateCabinet SetupIterateCabinetA
#endif #endif
WINSETUPAPI WINSETUPAPI
INT INT
WINAPI WINAPI
SetupPromptReboot( SetupPromptReboot(
__in_opt HSPFILEQ FileQueue, _In_opt_ HSPFILEQ FileQueue,
__in_opt HWND Owner, _In_opt_ HWND Owner,
__in BOOL ScanOnly _In_ BOOL ScanOnly
); );
// //
// Define flags that are returned by SetupPromptReboot // Define flags that are returned by SetupPromptReboot
// //
#define SPFILEQ_FILE_IN_USE 0x00000001 #define SPFILEQ_FILE_IN_USE 0x00000001
#define SPFILEQ_REBOOT_RECOMMENDED 0x00000002 #define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
#define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004 #define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
WINSETUPAPI WINSETUPAPI
PVOID PVOID
WINAPI WINAPI
SetupInitDefaultQueueCallback( SetupInitDefaultQueueCallback(
__in_opt HWND OwnerWindow _In_opt_ HWND OwnerWindow
); );
WINSETUPAPI WINSETUPAPI
PVOID PVOID
WINAPI WINAPI
SetupInitDefaultQueueCallbackEx( SetupInitDefaultQueueCallbackEx(
__in_opt HWND OwnerWindow, _In_opt_ HWND OwnerWindow,
__in_opt HWND AlternateProgressWindow, _In_opt_ HWND AlternateProgressWindow,
__in UINT ProgressMessage, _In_ UINT ProgressMessage,
__reserved DWORD Reserved1, _Reserved_ DWORD Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
WINSETUPAPI WINSETUPAPI
VOID VOID
WINAPI WINAPI
SetupTermDefaultQueueCallback( SetupTermDefaultQueueCallback(
__in PVOID Context _In_ PVOID Context
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupDefaultQueueCallbackA( SetupDefaultQueueCallbackA(
__in PVOID Context, _In_ PVOID Context,
__in UINT Notification, _In_ UINT Notification,
__in UINT_PTR Param1, _In_ UINT_PTR Param1,
__in UINT_PTR Param2 _In_ UINT_PTR Param2
); );
WINSETUPAPI WINSETUPAPI
UINT UINT
WINAPI WINAPI
SetupDefaultQueueCallbackW( SetupDefaultQueueCallbackW(
__in PVOID Context, _In_ PVOID Context,
__in UINT Notification, _In_ UINT Notification,
__in UINT_PTR Param1, _In_ UINT_PTR Param1,
__in UINT_PTR Param2 _In_ UINT_PTR Param2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDefaultQueueCallback SetupDefaultQueueCallbackW #define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
#else #else
#define SetupDefaultQueueCallback SetupDefaultQueueCallbackA #define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
#endif #endif
// //
// Flags for AddReg section lines in INF. The corresponding value // Flags for AddReg section lines in INF. The corresponding value
skipping to change at line 4235 skipping to change at line 4246
// //
// Flags for DelProperty section lines in the INF // Flags for DelProperty section lines in the INF
// //
#define FLG_DELPROPERTY_MULTI_SZ_DELSTRING ( 0x00000001 ) #define FLG_DELPROPERTY_MULTI_SZ_DELSTRING ( 0x00000001 )
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFromInfSectionA( SetupInstallFromInfSectionA(
__in_opt HWND Owner, _In_opt_ HWND Owner,
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in UINT Flags, _In_ UINT Flags,
__in_opt HKEY RelativeKeyRoot, _In_opt_ HKEY RelativeKeyRoot,
__in_opt PCSTR SourceRootPath, _In_opt_ PCSTR SourceRootPath,
__in UINT CopyFlags, _In_ UINT CopyFlags,
__in_opt PSP_FILE_CALLBACK_A MsgHandler, _In_opt_ PSP_FILE_CALLBACK_A MsgHandler,
__in_opt PVOID Context, _In_opt_ PVOID Context,
__in_opt HDEVINFO DeviceInfoSet, _In_opt_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFromInfSectionW( SetupInstallFromInfSectionW(
__in_opt HWND Owner, _In_opt_ HWND Owner,
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in UINT Flags, _In_ UINT Flags,
__in_opt HKEY RelativeKeyRoot, _In_opt_ HKEY RelativeKeyRoot,
__in_opt PCWSTR SourceRootPath, _In_opt_ PCWSTR SourceRootPath,
__in UINT CopyFlags, _In_ UINT CopyFlags,
__in_opt PSP_FILE_CALLBACK_W MsgHandler, _In_opt_ PSP_FILE_CALLBACK_W MsgHandler,
__in_opt PVOID Context, _In_opt_ PVOID Context,
__in_opt HDEVINFO DeviceInfoSet, _In_opt_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInstallFromInfSection SetupInstallFromInfSectionW #define SetupInstallFromInfSection SetupInstallFromInfSectionW
#else #else
#define SetupInstallFromInfSection SetupInstallFromInfSectionA #define SetupInstallFromInfSection SetupInstallFromInfSectionA
#endif #endif
// //
// Flags for SetupInstallFromInfSection // Flags for SetupInstallFromInfSection
skipping to change at line 4325 skipping to change at line 4336
#if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
#define SPINST_DEVICEINSTALL 0x00100000 #define SPINST_DEVICEINSTALL 0x00100000
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFilesFromInfSectionA( SetupInstallFilesFromInfSectionA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF LayoutInfHandle, _In_opt_ HINF LayoutInfHandle,
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in_opt PCSTR SourceRootPath, _In_opt_ PCSTR SourceRootPath,
__in UINT CopyFlags _In_ UINT CopyFlags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallFilesFromInfSectionW( SetupInstallFilesFromInfSectionW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in_opt HINF LayoutInfHandle, _In_opt_ HINF LayoutInfHandle,
__in HSPFILEQ FileQueue, _In_ HSPFILEQ FileQueue,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in_opt PCWSTR SourceRootPath, _In_opt_ PCWSTR SourceRootPath,
__in UINT CopyFlags _In_ UINT CopyFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
#else #else
#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA #define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
#endif #endif
// //
// Flags for SetupInstallServicesFromInfSection(Ex). These flags are also used // Flags for SetupInstallServicesFromInfSection(Ex). These flags are also used
skipping to change at line 4438 skipping to change at line 4449
// (AddService) don't overwrite required privileges list if it already exists // (AddService) don't overwrite required privileges list if it already exists
// //
#define SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES (0x00001000) #define SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES (0x00001000)
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WIN7 #endif // _SETUPAPI_VER >= _WIN32_WINNT_WIN7
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallServicesFromInfSectionA( SetupInstallServicesFromInfSectionA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallServicesFromInfSectionW( SetupInstallServicesFromInfSectionW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
#else #else
#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA #define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallServicesFromInfSectionExA( SetupInstallServicesFromInfSectionExA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HDEVINFO DeviceInfoSet, _In_opt_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupInstallServicesFromInfSectionExW( SetupInstallServicesFromInfSectionExW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HDEVINFO DeviceInfoSet, _In_opt_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionE xW #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionE xW
#else #else
#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionE xA #define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionE xA
#endif #endif
// //
// High level routine, usually used via rundll32.dll // High level routine, usually used via rundll32.dll
// to perform right-click install action on INFs // to perform right-click install action on INFs
// May be called directly: // May be called directly:
// //
// wsprintf(CmdLineBuffer,TEXT("DefaultInstall 132 %s"),InfPath); // wsprintf(CmdLineBuffer,TEXT("DefaultInstall 132 %s"),InfPath);
// InstallHinfSection(NULL,NULL,CmdLineBuffer,0); // InstallHinfSection(NULL,NULL,CmdLineBuffer,0);
// //
VOID VOID
WINAPI WINAPI
InstallHinfSectionA( InstallHinfSectionA(
__in HWND Window, _In_ HWND Window,
__in HINSTANCE ModuleHandle, _In_ HINSTANCE ModuleHandle,
__in PCSTR CommandLine, _In_ PCSTR CommandLine,
__in INT ShowCommand _In_ INT ShowCommand
); );
VOID VOID
WINAPI WINAPI
InstallHinfSectionW( InstallHinfSectionW(
__in HWND Window, _In_ HWND Window,
__in HINSTANCE ModuleHandle, _In_ HINSTANCE ModuleHandle,
__in PCWSTR CommandLine, _In_ PCWSTR CommandLine,
__in INT ShowCommand _In_ INT ShowCommand
); );
#ifdef UNICODE #ifdef UNICODE
#define InstallHinfSection InstallHinfSectionW #define InstallHinfSection InstallHinfSectionW
#else #else
#define InstallHinfSection InstallHinfSectionA #define InstallHinfSection InstallHinfSectionA
#endif #endif
// //
// Define handle type for Setup file log. // Define handle type for Setup file log.
// //
typedef PVOID HSPFILELOG; typedef PVOID HSPFILELOG;
WINSETUPAPI WINSETUPAPI
HSPFILELOG HSPFILELOG
WINAPI WINAPI
SetupInitializeFileLogA( SetupInitializeFileLogA(
__in_opt PCSTR LogFileName, _In_opt_ PCSTR LogFileName,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
HSPFILELOG HSPFILELOG
WINAPI WINAPI
SetupInitializeFileLogW( SetupInitializeFileLogW(
__in_opt PCWSTR LogFileName, _In_opt_ PCWSTR LogFileName,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupInitializeFileLog SetupInitializeFileLogW #define SetupInitializeFileLog SetupInitializeFileLogW
#else #else
#define SetupInitializeFileLog SetupInitializeFileLogA #define SetupInitializeFileLog SetupInitializeFileLogA
#endif #endif
// //
// Flags for SetupInitializeFileLog // Flags for SetupInitializeFileLog
// //
#define SPFILELOG_SYSTEMLOG 0x00000001 // use system log -- must be Adminis trator #define SPFILELOG_SYSTEMLOG 0x00000001 // use system log -- must be Adminis trator
#define SPFILELOG_FORCENEW 0x00000002 // not valid with SPFILELOG_SYSTEMLO G #define SPFILELOG_FORCENEW 0x00000002 // not valid with SPFILELOG_SYSTEMLO G
#define SPFILELOG_QUERYONLY 0x00000004 // allows non-administrators to read system log #define SPFILELOG_QUERYONLY 0x00000004 // allows non-administrators to read system log
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupTerminateFileLog( SetupTerminateFileLog(
__in HSPFILELOG FileLogHandle _In_ HSPFILELOG FileLogHandle
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupLogFileA( SetupLogFileA(
__in HSPFILELOG FileLogHandle, _In_ HSPFILELOG FileLogHandle,
__in_opt PCSTR LogSectionName, _In_opt_ PCSTR LogSectionName,
__in PCSTR SourceFilename, _In_ PCSTR SourceFilename,
__in PCSTR TargetFilename, _In_ PCSTR TargetFilename,
__in DWORD Checksum, _In_ DWORD Checksum,
__in_opt PCSTR DiskTagfile, _In_opt_ PCSTR DiskTagfile,
__in_opt PCSTR DiskDescription, _In_opt_ PCSTR DiskDescription,
__in_opt PCSTR OtherInfo, _In_opt_ PCSTR OtherInfo,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupLogFileW( SetupLogFileW(
__in HSPFILELOG FileLogHandle, _In_ HSPFILELOG FileLogHandle,
__in_opt PCWSTR LogSectionName, _In_opt_ PCWSTR LogSectionName,
__in PCWSTR SourceFilename, _In_ PCWSTR SourceFilename,
__in PCWSTR TargetFilename, _In_ PCWSTR TargetFilename,
__in DWORD Checksum, _In_ DWORD Checksum,
__in_opt PCWSTR DiskTagfile, _In_opt_ PCWSTR DiskTagfile,
__in_opt PCWSTR DiskDescription, _In_opt_ PCWSTR DiskDescription,
__in_opt PCWSTR OtherInfo, _In_opt_ PCWSTR OtherInfo,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupLogFile SetupLogFileW #define SetupLogFile SetupLogFileW
#else #else
#define SetupLogFile SetupLogFileA #define SetupLogFile SetupLogFileA
#endif #endif
// //
// Flags for SetupLogFile // Flags for SetupLogFile
// //
#define SPFILELOG_OEMFILE 0x00000001 #define SPFILELOG_OEMFILE 0x00000001
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveFileLogEntryA( SetupRemoveFileLogEntryA(
__in HSPFILELOG FileLogHandle, _In_ HSPFILELOG FileLogHandle,
__in_opt PCSTR LogSectionName, _In_opt_ PCSTR LogSectionName,
__in_opt PCSTR TargetFilename _In_opt_ PCSTR TargetFilename
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupRemoveFileLogEntryW( SetupRemoveFileLogEntryW(
__in HSPFILELOG FileLogHandle, _In_ HSPFILELOG FileLogHandle,
__in_opt PCWSTR LogSectionName, _In_opt_ PCWSTR LogSectionName,
__in_opt PCWSTR TargetFilename _In_opt_ PCWSTR TargetFilename
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
#else #else
#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA #define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
#endif #endif
// //
// Items retrievable from SetupQueryFileLog() // Items retrievable from SetupQueryFileLog()
skipping to change at line 4644 skipping to change at line 4655
SetupFileLogDiskTagfile, SetupFileLogDiskTagfile,
SetupFileLogDiskDescription, SetupFileLogDiskDescription,
SetupFileLogOtherInfo, SetupFileLogOtherInfo,
SetupFileLogMax SetupFileLogMax
} SetupFileLogInfo; } SetupFileLogInfo;
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryFileLogA( SetupQueryFileLogA(
__in HSPFILELOG FileLogHandle, _In_ HSPFILELOG FileLogHandle,
__in_opt PCSTR LogSectionName, _In_opt_ PCSTR LogSectionName,
__in PCSTR TargetFilename, _In_ PCSTR TargetFilename,
__in SetupFileLogInfo DesiredInfo, _In_ SetupFileLogInfo DesiredInfo,
__out_ecount_opt(ReturnBufferSize) PSTR DataOut, _Out_writes_opt_(ReturnBufferSize) PSTR DataOut,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupQueryFileLogW( SetupQueryFileLogW(
__in HSPFILELOG FileLogHandle, _In_ HSPFILELOG FileLogHandle,
__in_opt PCWSTR LogSectionName, _In_opt_ PCWSTR LogSectionName,
__in PCWSTR TargetFilename, _In_ PCWSTR TargetFilename,
__in SetupFileLogInfo DesiredInfo, _In_ SetupFileLogInfo DesiredInfo,
__out_ecount_opt(ReturnBufferSize) PWSTR DataOut, _Out_writes_opt_(ReturnBufferSize) PWSTR DataOut,
__in DWORD ReturnBufferSize, _In_ DWORD ReturnBufferSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupQueryFileLog SetupQueryFileLogW #define SetupQueryFileLog SetupQueryFileLogW
#else #else
#define SetupQueryFileLog SetupQueryFileLogA #define SetupQueryFileLog SetupQueryFileLogA
#endif #endif
// //
// Text logging APIs // Text logging APIs
skipping to change at line 4686 skipping to change at line 4697
#define LogSevInformation 0x00000000 #define LogSevInformation 0x00000000
#define LogSevWarning 0x00000001 #define LogSevWarning 0x00000001
#define LogSevError 0x00000002 #define LogSevError 0x00000002
#define LogSevFatalError 0x00000003 #define LogSevFatalError 0x00000003
#define LogSevMaximum 0x00000004 #define LogSevMaximum 0x00000004
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupOpenLog ( SetupOpenLog (
__in BOOL Erase _In_ BOOL Erase
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupLogErrorA ( SetupLogErrorA (
__in LPCSTR MessageString, _In_ LPCSTR MessageString,
__in LogSeverity Severity _In_ LogSeverity Severity
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupLogErrorW ( SetupLogErrorW (
__in LPCWSTR MessageString, _In_ LPCWSTR MessageString,
__in LogSeverity Severity _In_ LogSeverity Severity
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupLogError SetupLogErrorW #define SetupLogError SetupLogErrorW
#else #else
#define SetupLogError SetupLogErrorA #define SetupLogError SetupLogErrorA
#endif #endif
WINSETUPAPI WINSETUPAPI
VOID VOID
skipping to change at line 4735 skipping to change at line 4746
SP_LOG_TOKEN SP_LOG_TOKEN
WINAPI WINAPI
SetupGetThreadLogToken( SetupGetThreadLogToken(
VOID VOID
); );
WINSETUPAPI WINSETUPAPI
VOID VOID
WINAPI WINAPI
SetupSetThreadLogToken( SetupSetThreadLogToken(
__in SP_LOG_TOKEN LogToken _In_ SP_LOG_TOKEN LogToken
); );
WINSETUPAPI WINSETUPAPI
VOID VOID
WINAPI WINAPI
SetupWriteTextLog( SetupWriteTextLog(
__in SP_LOG_TOKEN LogToken, _In_ SP_LOG_TOKEN LogToken,
__in DWORD Category, _In_ DWORD Category,
__in DWORD Flags, _In_ DWORD Flags,
__in PCSTR MessageStr, _In_ PCSTR MessageStr,
... ...
); );
WINSETUPAPI WINSETUPAPI
VOID VOID
WINAPI WINAPI
SetupWriteTextLogError( SetupWriteTextLogError(
__in SP_LOG_TOKEN LogToken, _In_ SP_LOG_TOKEN LogToken,
__in DWORD Category, _In_ DWORD Category,
__in DWORD LogFlags, _In_ DWORD LogFlags,
__in DWORD Error, _In_ DWORD Error,
__in PCSTR MessageStr, _In_ PCSTR MessageStr,
... ...
); );
WINSETUPAPI WINSETUPAPI
VOID VOID
WINAPI WINAPI
SetupWriteTextLogInfLine( SetupWriteTextLogInfLine(
__in SP_LOG_TOKEN LogToken, _In_ SP_LOG_TOKEN LogToken,
__in DWORD Flags, _In_ DWORD Flags,
__in HINF InfHandle, _In_ HINF InfHandle,
__in PINFCONTEXT Context _In_ PINFCONTEXT Context
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
// //
// Backup Information API's // Backup Information API's
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetBackupInformationA( SetupGetBackupInformationA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__inout PSP_BACKUP_QUEUE_PARAMS_A BackupParams _Inout_ PSP_BACKUP_QUEUE_PARAMS_A BackupParams
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetBackupInformationW( SetupGetBackupInformationW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__inout PSP_BACKUP_QUEUE_PARAMS_W BackupParams _Inout_ PSP_BACKUP_QUEUE_PARAMS_W BackupParams
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupGetBackupInformation SetupGetBackupInformationW #define SetupGetBackupInformation SetupGetBackupInformationW
#else #else
#define SetupGetBackupInformation SetupGetBackupInformationA #define SetupGetBackupInformation SetupGetBackupInformationA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupPrepareQueueForRestoreA( SetupPrepareQueueForRestoreA(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PCSTR BackupPath, _In_ PCSTR BackupPath,
__in DWORD RestoreFlags _In_ DWORD RestoreFlags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupPrepareQueueForRestoreW( SetupPrepareQueueForRestoreW(
__in HSPFILEQ QueueHandle, _In_ HSPFILEQ QueueHandle,
__in PCWSTR BackupPath, _In_ PCWSTR BackupPath,
__in DWORD RestoreFlags _In_ DWORD RestoreFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreW #define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreW
#else #else
#define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreA #define SetupPrepareQueueForRestore SetupPrepareQueueForRestoreA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
skipping to change at line 4838 skipping to change at line 4849
// //
// Control forcing of Non-Interactive Mode // Control forcing of Non-Interactive Mode
// Overriden if SetupAPI is run in non-interactive window session // Overriden if SetupAPI is run in non-interactive window session
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupSetNonInteractiveMode( SetupSetNonInteractiveMode(
__in BOOL NonInteractiveFlag _In_ BOOL NonInteractiveFlag
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupGetNonInteractiveMode( SetupGetNonInteractiveMode(
VOID VOID
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
// //
// Device Installer APIs // Device Installer APIs
// //
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiCreateDeviceInfoList( SetupDiCreateDeviceInfoList(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt HWND hwndParent _In_opt_ HWND hwndParent
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiCreateDeviceInfoListExA( SetupDiCreateDeviceInfoListExA(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiCreateDeviceInfoListExW( SetupDiCreateDeviceInfoListExW(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
#else #else
#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA #define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInfoListClass( SetupDiGetDeviceInfoListClass(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__out LPGUID ClassGuid _Out_ LPGUID ClassGuid
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInfoListDetailA( SetupDiGetDeviceInfoListDetailA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__out PSP_DEVINFO_LIST_DETAIL_DATA_A DeviceInfoSetDetailData _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_A DeviceInfoSetDetailData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInfoListDetailW( SetupDiGetDeviceInfoListDetailW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__out PSP_DEVINFO_LIST_DETAIL_DATA_W DeviceInfoSetDetailData _Out_ PSP_DEVINFO_LIST_DETAIL_DATA_W DeviceInfoSetDetailData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
#else #else
#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA #define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
#endif #endif
// //
// Flags for SetupDiCreateDeviceInfo // Flags for SetupDiCreateDeviceInfo
// //
#define DICD_GENERATE_ID 0x00000001 #define DICD_GENERATE_ID 0x00000001
#define DICD_INHERIT_CLASSDRVS 0x00000002 #define DICD_INHERIT_CLASSDRVS 0x00000002
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiCreateDeviceInfoA( SetupDiCreateDeviceInfoA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PCSTR DeviceName, _In_ PCSTR DeviceName,
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in_opt PCSTR DeviceDescription, _In_opt_ PCSTR DeviceDescription,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD CreationFlags, _In_ DWORD CreationFlags,
__out_opt PSP_DEVINFO_DATA DeviceInfoData _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiCreateDeviceInfoW( SetupDiCreateDeviceInfoW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PCWSTR DeviceName, _In_ PCWSTR DeviceName,
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in_opt PCWSTR DeviceDescription, _In_opt_ PCWSTR DeviceDescription,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD CreationFlags, _In_ DWORD CreationFlags,
__out_opt PSP_DEVINFO_DATA DeviceInfoData _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
#else #else
#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA #define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
#endif #endif
// //
// Flags for SetupDiOpenDeviceInfo // Flags for SetupDiOpenDeviceInfo
// //
#define DIOD_INHERIT_CLASSDRVS 0x00000002 #define DIOD_INHERIT_CLASSDRVS 0x00000002
#define DIOD_CANCEL_REMOVE 0x00000004 #define DIOD_CANCEL_REMOVE 0x00000004
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiOpenDeviceInfoA( SetupDiOpenDeviceInfoA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PCSTR DeviceInstanceId, _In_ PCSTR DeviceInstanceId,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD OpenFlags, _In_ DWORD OpenFlags,
__out_opt PSP_DEVINFO_DATA DeviceInfoData _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiOpenDeviceInfoW( SetupDiOpenDeviceInfoW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PCWSTR DeviceInstanceId, _In_ PCWSTR DeviceInstanceId,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD OpenFlags, _In_ DWORD OpenFlags,
__out_opt PSP_DEVINFO_DATA DeviceInfoData _Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
#else #else
#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA #define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInstanceIdA( SetupDiGetDeviceInstanceIdA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__out_ecount_opt(DeviceInstanceIdSize) PSTR DeviceInstanceId, _Out_writes_opt_(DeviceInstanceIdSize) PSTR DeviceInstanceId,
__in DWORD DeviceInstanceIdSize, _In_ DWORD DeviceInstanceIdSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInstanceIdW( SetupDiGetDeviceInstanceIdW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__out_ecount_opt(DeviceInstanceIdSize) PWSTR DeviceInstanceId, _Out_writes_opt_(DeviceInstanceIdSize) PWSTR DeviceInstanceId,
__in DWORD DeviceInstanceIdSize, _In_ DWORD DeviceInstanceIdSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
#else #else
#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA #define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDeleteDeviceInfo( SetupDiDeleteDeviceInfo(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData _In_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiEnumDeviceInfo( SetupDiEnumDeviceInfo(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in DWORD MemberIndex, _In_ DWORD MemberIndex,
__out PSP_DEVINFO_DATA DeviceInfoData _Out_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDestroyDeviceInfoList( SetupDiDestroyDeviceInfoList(
__in HDEVINFO DeviceInfoSet _In_ HDEVINFO DeviceInfoSet
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiEnumDeviceInterfaces( SetupDiEnumDeviceInterfaces(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in CONST GUID *InterfaceClassGuid, _In_ CONST GUID *InterfaceClassGuid,
__in DWORD MemberIndex, _In_ DWORD MemberIndex,
__out PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _Out_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
// //
// Backward compatibility--do not use // Backward compatibility--do not use
// //
#define SetupDiEnumInterfaceDevice SetupDiEnumDeviceInterfaces #define SetupDiEnumInterfaceDevice SetupDiEnumDeviceInterfaces
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiCreateDeviceInterfaceA( SetupDiCreateDeviceInterfaceA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in CONST GUID *InterfaceClassGuid, _In_ CONST GUID *InterfaceClassGuid,
__in_opt PCSTR ReferenceString, _In_opt_ PCSTR ReferenceString,
__in DWORD CreationFlags, _In_ DWORD CreationFlags,
__out_opt PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _Out_opt_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiCreateDeviceInterfaceW( SetupDiCreateDeviceInterfaceW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in CONST GUID *InterfaceClassGuid, _In_ CONST GUID *InterfaceClassGuid,
__in_opt PCWSTR ReferenceString, _In_opt_ PCWSTR ReferenceString,
__in DWORD CreationFlags, _In_ DWORD CreationFlags,
__out_opt PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _Out_opt_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
#else #else
#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA #define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
#endif #endif
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
skipping to change at line 5111 skipping to change at line 5122
// //
// Flags for SetupDiOpenDeviceInterface // Flags for SetupDiOpenDeviceInterface
// //
#define DIODI_NO_ADD 0x00000001 #define DIODI_NO_ADD 0x00000001
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiOpenDeviceInterfaceA( SetupDiOpenDeviceInterfaceA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PCSTR DevicePath, _In_ PCSTR DevicePath,
__in DWORD OpenFlags, _In_ DWORD OpenFlags,
__out_opt PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _Out_opt_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiOpenDeviceInterfaceW( SetupDiOpenDeviceInterfaceW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PCWSTR DevicePath, _In_ PCWSTR DevicePath,
__in DWORD OpenFlags, _In_ DWORD OpenFlags,
__out_opt PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _Out_opt_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
#else #else
#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA #define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
#endif #endif
// //
// Backward compatibility--do not use // Backward compatibility--do not use
skipping to change at line 5148 skipping to change at line 5159
#ifdef UNICODE #ifdef UNICODE
#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
#else #else
#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA #define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInterfaceAlias( SetupDiGetDeviceInterfaceAlias(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__in CONST GUID *AliasInterfaceClassGuid, _In_ CONST GUID *AliasInterfaceClassGuid,
__out PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData _Out_ PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
); );
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiGetInterfaceDeviceAlias SetupDiGetDeviceInterfaceAlias #define SetupDiGetInterfaceDeviceAlias SetupDiGetDeviceInterfaceAlias
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDeleteDeviceInterfaceData( SetupDiDeleteDeviceInterfaceData(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData #define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiRemoveDeviceInterface( SetupDiRemoveDeviceInterface(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData _Inout_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
); );
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiRemoveInterfaceDevice SetupDiRemoveDeviceInterface #define SetupDiRemoveInterfaceDevice SetupDiRemoveDeviceInterface
_Success_(return != FALSE)
_At_((LPSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInterfaceDetailA( SetupDiGetDeviceInterfaceDetailA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__inout_bcount_opt(DeviceInterfaceDetailDataSize) PSP_DEVICE_INTERFACE_DETAI _Inout_updates_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) P
L_DATA_A DeviceInterfaceDetailData, SP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData,
__in DWORD DeviceInterfaceDetailDataSize, _In_ DWORD DeviceInterfaceDetailDataSize,
__out_opt PDWORD RequiredSize, _Out_opt_ _Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_A)) PDWORD
__out_opt PSP_DEVINFO_DATA DeviceInfoData RequiredSize,
_Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
_Success_(return != FALSE)
_At_((LPWSTR)DeviceInterfaceDetailData->DevicePath, _Post_z_)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInterfaceDetailW( SetupDiGetDeviceInterfaceDetailW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__out_bcount_opt(DeviceInterfaceDetailDataSize) PSP_DEVICE_INTERFACE_DETAIL_ _Out_writes_bytes_to_opt_(DeviceInterfaceDetailDataSize, *RequiredSize) PSP_
DATA_W DeviceInterfaceDetailData, DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData,
__in DWORD DeviceInterfaceDetailDataSize, _In_ DWORD DeviceInterfaceDetailDataSize,
__out_opt PDWORD RequiredSize, _Out_opt_ _Out_range_(>=, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W)) PDWORD
__out_opt PSP_DEVINFO_DATA DeviceInfoData RequiredSize,
_Out_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
#else #else
#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA #define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
#endif #endif
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
skipping to change at line 5233 skipping to change at line 5248
#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA #define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
#endif #endif
// //
// Default install handler for DIF_INSTALLINTERFACES. // Default install handler for DIF_INSTALLINTERFACES.
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallDeviceInterfaces( SetupDiInstallDeviceInterfaces(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData _In_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiInstallInterfaceDevices SetupDiInstallDeviceInterfaces #define SetupDiInstallInterfaceDevices SetupDiInstallDeviceInterfaces
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDeviceInterfaceDefault( SetupDiSetDeviceInterfaceDefault(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _Inout_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__in DWORD Flags, _In_ DWORD Flags,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
// //
// Default install handler for DIF_REGISTERDEVICE // Default install handler for DIF_REGISTERDEVICE
// //
// //
// Flags for SetupDiRegisterDeviceInfo // Flags for SetupDiRegisterDeviceInfo
// //
#define SPRDI_FIND_DUPS 0x00000001 #define SPRDI_FIND_DUPS 0x00000001
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiRegisterDeviceInfo( SetupDiRegisterDeviceInfo(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData, _Inout_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt PSP_DETSIG_CMPPROC CompareProc, _In_opt_ PSP_DETSIG_CMPPROC CompareProc,
__in_opt PVOID CompareContext, _In_opt_ PVOID CompareContext,
__out_opt PSP_DEVINFO_DATA DupDeviceInfoData _Out_opt_ PSP_DEVINFO_DATA DupDeviceInfoData
); );
// //
// Ordinal values distinguishing between class drivers and // Ordinal values distinguishing between class drivers and
// device drivers. // device drivers.
// (Passed in 'DriverType' parameter of driver information list APIs) // (Passed in 'DriverType' parameter of driver information list APIs)
// //
#define SPDIT_NODRIVER 0x00000000 #define SPDIT_NODRIVER 0x00000000
#define SPDIT_CLASSDRIVER 0x00000001 #define SPDIT_CLASSDRIVER 0x00000001
#define SPDIT_COMPATDRIVER 0x00000002 #define SPDIT_COMPATDRIVER 0x00000002
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiBuildDriverInfoList( SetupDiBuildDriverInfoList(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout_opt PSP_DEVINFO_DATA DeviceInfoData, _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD DriverType _In_ DWORD DriverType
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiCancelDriverInfoSearch( SetupDiCancelDriverInfoSearch(
__in HDEVINFO DeviceInfoSet _In_ HDEVINFO DeviceInfoSet
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiEnumDriverInfoA( SetupDiEnumDriverInfoA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD DriverType, _In_ DWORD DriverType,
__in DWORD MemberIndex, _In_ DWORD MemberIndex,
__out PSP_DRVINFO_DATA_A DriverInfoData _Out_ PSP_DRVINFO_DATA_A DriverInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiEnumDriverInfoW( SetupDiEnumDriverInfoW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD DriverType, _In_ DWORD DriverType,
__in DWORD MemberIndex, _In_ DWORD MemberIndex,
__out PSP_DRVINFO_DATA_W DriverInfoData _Out_ PSP_DRVINFO_DATA_W DriverInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
#else #else
#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA #define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetSelectedDriverA( SetupDiGetSelectedDriverA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__out PSP_DRVINFO_DATA_A DriverInfoData _Out_ PSP_DRVINFO_DATA_A DriverInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetSelectedDriverW( SetupDiGetSelectedDriverW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__out PSP_DRVINFO_DATA_W DriverInfoData _Out_ PSP_DRVINFO_DATA_W DriverInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
#else #else
#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA #define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetSelectedDriverA( SetupDiSetSelectedDriverA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout_opt PSP_DEVINFO_DATA DeviceInfoData, _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__inout_opt PSP_DRVINFO_DATA_A DriverInfoData _Inout_opt_ PSP_DRVINFO_DATA_A DriverInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetSelectedDriverW( SetupDiSetSelectedDriverW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout_opt PSP_DEVINFO_DATA DeviceInfoData, _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__inout_opt PSP_DRVINFO_DATA_W DriverInfoData _Inout_opt_ PSP_DRVINFO_DATA_W DriverInfoData
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
#else #else
#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA #define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDriverInfoDetailA( SetupDiGetDriverInfoDetailA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DRVINFO_DATA_A DriverInfoData, _In_ PSP_DRVINFO_DATA_A DriverInfoData,
__inout_bcount_opt(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_A Drive _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_
rInfoDetailData, A DriverInfoDetailData,
__in DWORD DriverInfoDetailDataSize, _In_ DWORD DriverInfoDetailDataSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDriverInfoDetailW( SetupDiGetDriverInfoDetailW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DRVINFO_DATA_W DriverInfoData, _In_ PSP_DRVINFO_DATA_W DriverInfoData,
__inout_bcount_opt(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_W Drive _Inout_updates_bytes_opt_(DriverInfoDetailDataSize) PSP_DRVINFO_DETAIL_DATA_
rInfoDetailData, W DriverInfoDetailData,
__in DWORD DriverInfoDetailDataSize, _In_ DWORD DriverInfoDetailDataSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
#else #else
#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA #define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDestroyDriverInfoList( SetupDiDestroyDriverInfoList(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD DriverType _In_ DWORD DriverType
); );
// //
// Flags controlling what is included in the device information set built // Flags controlling what is included in the device information set built
// by SetupDiGetClassDevs // by SetupDiGetClassDevs
// //
#define DIGCF_DEFAULT 0x00000001 // only valid with DIGCF_DEVICEINTER FACE #define DIGCF_DEFAULT 0x00000001 // only valid with DIGCF_DEVICEINTER FACE
#define DIGCF_PRESENT 0x00000002 #define DIGCF_PRESENT 0x00000002
#define DIGCF_ALLCLASSES 0x00000004 #define DIGCF_ALLCLASSES 0x00000004
#define DIGCF_PROFILE 0x00000008 #define DIGCF_PROFILE 0x00000008
#define DIGCF_DEVICEINTERFACE 0x00000010 #define DIGCF_DEVICEINTERFACE 0x00000010
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE #define DIGCF_INTERFACEDEVICE DIGCF_DEVICEINTERFACE
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiGetClassDevsA( SetupDiGetClassDevsA(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt PCSTR Enumerator, _In_opt_ PCSTR Enumerator,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD Flags _In_ DWORD Flags
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiGetClassDevsW( SetupDiGetClassDevsW(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt PCWSTR Enumerator, _In_opt_ PCWSTR Enumerator,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassDevs SetupDiGetClassDevsW #define SetupDiGetClassDevs SetupDiGetClassDevsW
#else #else
#define SetupDiGetClassDevs SetupDiGetClassDevsA #define SetupDiGetClassDevs SetupDiGetClassDevsA
#endif #endif
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiGetClassDevsExA( SetupDiGetClassDevsExA(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt PCSTR Enumerator, _In_opt_ PCSTR Enumerator,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HDEVINFO DeviceInfoSet, _In_opt_ HDEVINFO DeviceInfoSet,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HDEVINFO HDEVINFO
WINAPI WINAPI
SetupDiGetClassDevsExW( SetupDiGetClassDevsExW(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in_opt PCWSTR Enumerator, _In_opt_ PCWSTR Enumerator,
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HDEVINFO DeviceInfoSet, _In_opt_ HDEVINFO DeviceInfoSet,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassDevsEx SetupDiGetClassDevsExW #define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
#else #else
#define SetupDiGetClassDevsEx SetupDiGetClassDevsExA #define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetINFClassA( SetupDiGetINFClassA(
__in PCSTR InfName, _In_ PCSTR InfName,
__out LPGUID ClassGuid, _Out_ LPGUID ClassGuid,
__out_ecount(ClassNameSize) PSTR ClassName, _Out_writes_(ClassNameSize) PSTR ClassName,
__in DWORD ClassNameSize, _In_ DWORD ClassNameSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetINFClassW( SetupDiGetINFClassW(
__in PCWSTR InfName, _In_ PCWSTR InfName,
__out LPGUID ClassGuid, _Out_ LPGUID ClassGuid,
__out_ecount(ClassNameSize) PWSTR ClassName, _Out_writes_(ClassNameSize) PWSTR ClassName,
__in DWORD ClassNameSize, _In_ DWORD ClassNameSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetINFClass SetupDiGetINFClassW #define SetupDiGetINFClass SetupDiGetINFClassW
#else #else
#define SetupDiGetINFClass SetupDiGetINFClassA #define SetupDiGetINFClass SetupDiGetINFClassA
#endif #endif
// //
// Flags controlling exclusion from the class information list built // Flags controlling exclusion from the class information list built
// by SetupDiBuildClassInfoList(Ex) // by SetupDiBuildClassInfoList(Ex)
// //
#define DIBCI_NOINSTALLCLASS 0x00000001 #define DIBCI_NOINSTALLCLASS 0x00000001
#define DIBCI_NODISPLAYCLASS 0x00000002 #define DIBCI_NODISPLAYCLASS 0x00000002
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiBuildClassInfoList( SetupDiBuildClassInfoList(
__in DWORD Flags, _In_ DWORD Flags,
__out_ecount_opt(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize _Out_ PDWORD RequiredSize
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiBuildClassInfoListExA( SetupDiBuildClassInfoListExA(
__in DWORD Flags, _In_ DWORD Flags,
__out_ecount_opt(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiBuildClassInfoListExW( SetupDiBuildClassInfoListExW(
__in DWORD Flags, _In_ DWORD Flags,
__out_ecount_opt(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_opt_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
#else #else
#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA #define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassDescriptionA( SetupDiGetClassDescriptionA(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassDescriptionSize) PSTR ClassDescription, _Out_writes_(ClassDescriptionSize) PSTR ClassDescription,
__in DWORD ClassDescriptionSize, _In_ DWORD ClassDescriptionSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassDescriptionW( SetupDiGetClassDescriptionW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassDescriptionSize) PWSTR ClassDescription, _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription,
__in DWORD ClassDescriptionSize, _In_ DWORD ClassDescriptionSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassDescription SetupDiGetClassDescriptionW #define SetupDiGetClassDescription SetupDiGetClassDescriptionW
#else #else
#define SetupDiGetClassDescription SetupDiGetClassDescriptionA #define SetupDiGetClassDescription SetupDiGetClassDescriptionA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassDescriptionExA( SetupDiGetClassDescriptionExA(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassDescriptionSize) PSTR ClassDescription, _Out_writes_(ClassDescriptionSize) PSTR ClassDescription,
__in DWORD ClassDescriptionSize, _In_ DWORD ClassDescriptionSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassDescriptionExW( SetupDiGetClassDescriptionExW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassDescriptionSize) PWSTR ClassDescription, _Out_writes_(ClassDescriptionSize) PWSTR ClassDescription,
__in DWORD ClassDescriptionSize, _In_ DWORD ClassDescriptionSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
#else #else
#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA #define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiCallClassInstaller( SetupDiCallClassInstaller(
__in DI_FUNCTION InstallFunction, _In_ DI_FUNCTION InstallFunction,
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_SELECTDEVICE // Default install handler for DIF_SELECTDEVICE
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSelectDevice( SetupDiSelectDevice(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout_opt PSP_DEVINFO_DATA DeviceInfoData _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_SELECTBESTCOMPATDRV // Default install handler for DIF_SELECTBESTCOMPATDRV
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSelectBestCompatDrv( SetupDiSelectBestCompatDrv(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout_opt PSP_DEVINFO_DATA DeviceInfoData _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_INSTALLDEVICE // Default install handler for DIF_INSTALLDEVICE
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallDevice( SetupDiInstallDevice(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData _Inout_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_INSTALLDEVICEFILES // Default install handler for DIF_INSTALLDEVICEFILES
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallDriverFiles( SetupDiInstallDriverFiles(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData _In_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_REGISTER_COINSTALLERS // Default install handler for DIF_REGISTER_COINSTALLERS
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiRegisterCoDeviceInstallers( SetupDiRegisterCoDeviceInstallers(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData _In_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_REMOVE // Default install handler for DIF_REMOVE
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiRemoveDevice( SetupDiRemoveDevice(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData _Inout_ PSP_DEVINFO_DATA DeviceInfoData
); );
// //
// Default install handler for DIF_UNREMOVE // Default install handler for DIF_UNREMOVE
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiUnremoveDevice( SetupDiUnremoveDevice(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData _Inout_ PSP_DEVINFO_DATA DeviceInfoData
); );
#if _SETUPAPI_VER >= _WIN32_WINNT_WS03 #if _SETUPAPI_VER >= _WIN32_WINNT_WS03
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiRestartDevices( SetupDiRestartDevices(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData _Inout_ PSP_DEVINFO_DATA DeviceInfoData
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WS03 #endif // _SETUPAPI_VER >= _WIN32_WINNT_WS03
// //
// Default install handler for DIF_PROPERTYCHANGE // Default install handler for DIF_PROPERTYCHANGE
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiChangeState( SetupDiChangeState(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData _Inout_ PSP_DEVINFO_DATA DeviceInfoData
);
#if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
//
// Default install handler for DIF_FINISHINSTALL_ACTION
//
WINSETUPAPI
BOOL
WINAPI
SetupDiFinishInstallAction(
__in HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallClassA( SetupDiInstallClassA(
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in PCSTR InfFileName, _In_ PCSTR InfFileName,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HSPFILEQ FileQueue _In_opt_ HSPFILEQ FileQueue
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallClassW( SetupDiInstallClassW(
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in PCWSTR InfFileName, _In_ PCWSTR InfFileName,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HSPFILEQ FileQueue _In_opt_ HSPFILEQ FileQueue
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiInstallClass SetupDiInstallClassW #define SetupDiInstallClass SetupDiInstallClassW
#else #else
#define SetupDiInstallClass SetupDiInstallClassA #define SetupDiInstallClass SetupDiInstallClassA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallClassExA( SetupDiInstallClassExA(
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in_opt PCSTR InfFileName, _In_opt_ PCSTR InfFileName,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HSPFILEQ FileQueue, _In_opt_ HSPFILEQ FileQueue,
__in_opt CONST GUID *InterfaceClassGuid, _In_opt_ CONST GUID *InterfaceClassGuid,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiInstallClassExW( SetupDiInstallClassExW(
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in_opt PCWSTR InfFileName, _In_opt_ PCWSTR InfFileName,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt HSPFILEQ FileQueue, _In_opt_ HSPFILEQ FileQueue,
__in_opt CONST GUID *InterfaceClassGuid, _In_opt_ CONST GUID *InterfaceClassGuid,
__reserved PVOID Reserved1, _Reserved_ PVOID Reserved1,
__reserved PVOID Reserved2 _Reserved_ PVOID Reserved2
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiInstallClassEx SetupDiInstallClassExW #define SetupDiInstallClassEx SetupDiInstallClassExW
#else #else
#define SetupDiInstallClassEx SetupDiInstallClassExA #define SetupDiInstallClassEx SetupDiInstallClassExA
#endif #endif
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiOpenClassRegKey( SetupDiOpenClassRegKey(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in REGSAM samDesired _In_ REGSAM samDesired
); );
// //
// Flags for SetupDiOpenClassRegKeyEx // Flags for SetupDiOpenClassRegKeyEx
// //
#define DIOCR_INSTALLER 0x00000001 // class installer registry branch #define DIOCR_INSTALLER 0x00000001 // class installer registry branch
#define DIOCR_INTERFACE 0x00000002 // interface class registry branch #define DIOCR_INTERFACE 0x00000002 // interface class registry branch
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiOpenClassRegKeyExA( SetupDiOpenClassRegKeyExA(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in REGSAM samDesired, _In_ REGSAM samDesired,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiOpenClassRegKeyExW( SetupDiOpenClassRegKeyExW(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__in REGSAM samDesired, _In_ REGSAM samDesired,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
#else #else
#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA #define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
#endif #endif
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiCreateDeviceInterfaceRegKeyA( SetupDiCreateDeviceInterfaceRegKeyA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__reserved DWORD Reserved, _Reserved_ DWORD Reserved,
__in REGSAM samDesired, _In_ REGSAM samDesired,
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PCSTR InfSectionName _In_opt_ PCSTR InfSectionName
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiCreateDeviceInterfaceRegKeyW( SetupDiCreateDeviceInterfaceRegKeyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__reserved DWORD Reserved, _Reserved_ DWORD Reserved,
__in REGSAM samDesired, _In_ REGSAM samDesired,
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PCWSTR InfSectionName _In_opt_ PCWSTR InfSectionName
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
#else #else
#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA #define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
#endif #endif
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW #define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
#define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA #define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
#ifdef UNICODE #ifdef UNICODE
#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
#else #else
#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA #define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
#endif #endif
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiOpenDeviceInterfaceRegKey( SetupDiOpenDeviceInterfaceRegKey(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__reserved DWORD Reserved, _Reserved_ DWORD Reserved,
__in REGSAM samDesired _In_ REGSAM samDesired
); );
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiOpenInterfaceDeviceRegKey SetupDiOpenDeviceInterfaceRegKey #define SetupDiOpenInterfaceDeviceRegKey SetupDiOpenDeviceInterfaceRegKey
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDeleteDeviceInterfaceRegKey( SetupDiDeleteDeviceInterfaceRegKey(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__reserved DWORD Reserved _Reserved_ DWORD Reserved
); );
// //
// Backward compatibility--do not use. // Backward compatibility--do not use.
// //
#define SetupDiDeleteInterfaceDeviceRegKey SetupDiDeleteDeviceInterfaceRegKey #define SetupDiDeleteInterfaceDeviceRegKey SetupDiDeleteDeviceInterfaceRegKey
// //
// KeyType values for SetupDiCreateDevRegKey, SetupDiOpenDevRegKey, and // KeyType values for SetupDiCreateDevRegKey, SetupDiOpenDevRegKey, and
// SetupDiDeleteDevRegKey. // SetupDiDeleteDevRegKey.
// //
#define DIREG_DEV 0x00000001 // Open/Create/Delete device key #define DIREG_DEV 0x00000001 // Open/Create/Delete device key
#define DIREG_DRV 0x00000002 // Open/Create/Delete driver key #define DIREG_DRV 0x00000002 // Open/Create/Delete driver key
#define DIREG_BOTH 0x00000004 // Delete both driver and Device key #define DIREG_BOTH 0x00000004 // Delete both driver and Device key
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiCreateDevRegKeyA( SetupDiCreateDevRegKeyA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Scope, _In_ DWORD Scope,
__in DWORD HwProfile, _In_ DWORD HwProfile,
__in DWORD KeyType, _In_ DWORD KeyType,
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PCSTR InfSectionName _In_opt_ PCSTR InfSectionName
); );
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiCreateDevRegKeyW( SetupDiCreateDevRegKeyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Scope, _In_ DWORD Scope,
__in DWORD HwProfile, _In_ DWORD HwProfile,
__in DWORD KeyType, _In_ DWORD KeyType,
__in_opt HINF InfHandle, _In_opt_ HINF InfHandle,
__in_opt PCWSTR InfSectionName _In_opt_ PCWSTR InfSectionName
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
#else #else
#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA #define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
#endif #endif
__checkReturn _Check_return_
WINSETUPAPI WINSETUPAPI
HKEY HKEY
WINAPI WINAPI
SetupDiOpenDevRegKey( SetupDiOpenDevRegKey(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Scope, _In_ DWORD Scope,
__in DWORD HwProfile, _In_ DWORD HwProfile,
__in DWORD KeyType, _In_ DWORD KeyType,
__in REGSAM samDesired _In_ REGSAM samDesired
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDeleteDevRegKey( SetupDiDeleteDevRegKey(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Scope, _In_ DWORD Scope,
__in DWORD HwProfile, _In_ DWORD HwProfile,
__in DWORD KeyType _In_ DWORD KeyType
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileList( SetupDiGetHwProfileList(
__out_ecount(HwProfileListSize) PDWORD HwProfileList, _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList,
__in DWORD HwProfileListSize, _In_ DWORD HwProfileListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__out_opt PDWORD CurrentlyActiveIndex _Out_opt_ PDWORD CurrentlyActiveIndex
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileListExA( SetupDiGetHwProfileListExA(
__out_ecount(HwProfileListSize) PDWORD HwProfileList, _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList,
__in DWORD HwProfileListSize, _In_ DWORD HwProfileListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__out_opt PDWORD CurrentlyActiveIndex, _Out_opt_ PDWORD CurrentlyActiveIndex,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileListExW( SetupDiGetHwProfileListExW(
__out_ecount(HwProfileListSize) PDWORD HwProfileList, _Out_writes_to_(HwProfileListSize, *RequiredSize) PDWORD HwProfileList,
__in DWORD HwProfileListSize, _In_ DWORD HwProfileListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__out_opt PDWORD CurrentlyActiveIndex, _Out_opt_ PDWORD CurrentlyActiveIndex,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
#else #else
#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA #define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDevicePropertyKeys( SetupDiGetDevicePropertyKeys(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__out_ecount_opt(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray, _Out_writes_opt_(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray,
__in DWORD PropertyKeyCount, _In_ DWORD PropertyKeyCount,
__out_opt PDWORD RequiredPropertyKeyCount, _Out_opt_ PDWORD RequiredPropertyKeyCount,
__in DWORD Flags _In_ DWORD Flags
); );
_Success_(return != FALSE)
_When_(*PropertyType == DEVPROP_TYPE_STRING, _At_((PWSTR) PropertyBuffer, _Out_w
rites_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_INDIRECT, _At_((PWSTR) PropertyBuffe
r, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_LIST, _At_((PZZWSTR) PropertyBuffer,
_Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDevicePropertyW( SetupDiGetDevicePropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__out DEVPROPTYPE *PropertyType, _Out_ DEVPROPTYPE *PropertyType,
__out_bcount_opt(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyB
__in DWORD PropertyBufferSize, uffer,
__out_opt PDWORD RequiredSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags _Out_opt_ PDWORD RequiredSize,
_In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceProperty SetupDiGetDevicePropertyW #define SetupDiGetDeviceProperty SetupDiGetDevicePropertyW
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDevicePropertyW( SetupDiSetDevicePropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__in DEVPROPTYPE PropertyType, _In_ DEVPROPTYPE PropertyType,
__in_bcount_opt(PropertyBufferSize) CONST PBYTE PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST PBYTE PropertyBuffer,
__in DWORD PropertyBufferSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetDeviceProperty SetupDiSetDevicePropertyW #define SetupDiSetDeviceProperty SetupDiSetDevicePropertyW
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInterfacePropertyKeys( SetupDiGetDeviceInterfacePropertyKeys(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__out_ecount_opt(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray, _Out_writes_opt_(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray,
__in DWORD PropertyKeyCount, _In_ DWORD PropertyKeyCount,
__out_opt PDWORD RequiredPropertyKeyCount, _Out_opt_ PDWORD RequiredPropertyKeyCount,
__in DWORD Flags _In_ DWORD Flags
); );
_Success_(return != FALSE)
_When_(*PropertyType == DEVPROP_TYPE_STRING, _At_((PWSTR) PropertyBuffer, _Out_w
rites_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_INDIRECT, _At_((PWSTR) PropertyBuffe
r, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_LIST, _At_((PZZWSTR) PropertyBuffer,
_Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInterfacePropertyW( SetupDiGetDeviceInterfacePropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__out DEVPROPTYPE *PropertyType, _Out_ DEVPROPTYPE *PropertyType,
__out_bcount_opt(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyB
__in DWORD PropertyBufferSize, uffer,
__out_opt PDWORD RequiredSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags _Out_opt_ PDWORD RequiredSize,
_In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceInterfaceProperty SetupDiGetDeviceInterfacePropertyW #define SetupDiGetDeviceInterfaceProperty SetupDiGetDeviceInterfacePropertyW
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDeviceInterfacePropertyW( SetupDiSetDeviceInterfacePropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, _In_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__in DEVPROPTYPE PropertyType, _In_ DEVPROPTYPE PropertyType,
__in_bcount_opt(PropertyBufferSize) CONST PBYTE PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST PBYTE PropertyBuffer,
__in DWORD PropertyBufferSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetDeviceInterfaceProperty SetupDiSetDeviceInterfacePropertyW #define SetupDiSetDeviceInterfaceProperty SetupDiSetDeviceInterfacePropertyW
#endif #endif
// //
// Flags for SetupDiGetClassPropertyKeys, SetupDiGetClassProperty, and // Flags for SetupDiGetClassPropertyKeys, SetupDiGetClassProperty, and
// SetupDiSetClassProperty. // SetupDiSetClassProperty.
// //
#define DICLASSPROP_INSTALLER 0x00000001 // device setup class property #define DICLASSPROP_INSTALLER 0x00000001 // device setup class property
#define DICLASSPROP_INTERFACE 0x00000002 // device interface class property #define DICLASSPROP_INTERFACE 0x00000002 // device interface class property
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassPropertyKeys( SetupDiGetClassPropertyKeys(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount_opt(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray, _Out_writes_opt_(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray,
__in DWORD PropertyKeyCount, _In_ DWORD PropertyKeyCount,
__out_opt PDWORD RequiredPropertyKeyCount, _Out_opt_ PDWORD RequiredPropertyKeyCount,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassPropertyKeysExW( SetupDiGetClassPropertyKeysExW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount_opt(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray, _Out_writes_opt_(PropertyKeyCount) DEVPROPKEY *PropertyKeyArray,
__in DWORD PropertyKeyCount, _In_ DWORD PropertyKeyCount,
__out_opt PDWORD RequiredPropertyKeyCount, _Out_opt_ PDWORD RequiredPropertyKeyCount,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassPropertyKeysEx SetupDiGetClassPropertyKeysExW #define SetupDiGetClassPropertyKeysEx SetupDiGetClassPropertyKeysExW
#endif #endif
_Success_(return != FALSE)
_When_(*PropertyType == DEVPROP_TYPE_STRING, _At_((PWSTR) PropertyBuffer, _Out_w
rites_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_INDIRECT, _At_((PWSTR) PropertyBuffe
r, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_LIST, _At_((PZZWSTR) PropertyBuffer,
_Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassPropertyW( SetupDiGetClassPropertyW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__out DEVPROPTYPE *PropertyType, _Out_ DEVPROPTYPE *PropertyType,
__out_bcount_opt(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyB
__in DWORD PropertyBufferSize, uffer,
__out_opt PDWORD RequiredSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags _Out_opt_ PDWORD RequiredSize,
_In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassProperty SetupDiGetClassPropertyW #define SetupDiGetClassProperty SetupDiGetClassPropertyW
#endif #endif
_Success_(return != FALSE)
_When_(*PropertyType == DEVPROP_TYPE_STRING, _At_((PWSTR) PropertyBuffer, _Out_w
rites_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_INDIRECT, _At_((PWSTR) PropertyBuffe
r, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
_When_(*PropertyType == DEVPROP_TYPE_STRING_LIST, _At_((PZZWSTR) PropertyBuffer,
_Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize)))
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassPropertyExW( SetupDiGetClassPropertyExW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__out DEVPROPTYPE *PropertyType, _Out_ DEVPROPTYPE *PropertyType,
__out_bcount_opt(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyB
__in DWORD PropertyBufferSize, uffer,
__out_opt PDWORD RequiredSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags, _Out_opt_ PDWORD RequiredSize,
__in_opt PCWSTR MachineName, _In_ DWORD Flags,
__reserved PVOID Reserved _In_opt_ PCWSTR MachineName,
_Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassPropertyEx SetupDiGetClassPropertyExW #define SetupDiGetClassPropertyEx SetupDiGetClassPropertyExW
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetClassPropertyW( SetupDiSetClassPropertyW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__in DEVPROPTYPE PropertyType, _In_ DEVPROPTYPE PropertyType,
__in_bcount_opt(PropertyBufferSize) CONST PBYTE PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST PBYTE PropertyBuffer,
__in DWORD PropertyBufferSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetClassProperty SetupDiSetClassPropertyW #define SetupDiSetClassProperty SetupDiSetClassPropertyW
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetClassPropertyExW( SetupDiSetClassPropertyExW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in CONST DEVPROPKEY *PropertyKey, _In_ CONST DEVPROPKEY *PropertyKey,
__in DEVPROPTYPE PropertyType, _In_ DEVPROPTYPE PropertyType,
__in_bcount_opt(PropertyBufferSize) CONST PBYTE PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST PBYTE PropertyBuffer,
__in DWORD PropertyBufferSize, _In_ DWORD PropertyBufferSize,
__in DWORD Flags, _In_ DWORD Flags,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetClassPropertyEx SetupDiSetClassPropertyExW #define SetupDiSetClassPropertyEx SetupDiSetClassPropertyExW
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
// //
// Device registry property codes // Device registry property codes
skipping to change at line 6303 skipping to change at line 6325
// //
#define SPCRP_UPPERFILTERS (0x00000011) // UpperFilters (R/W) #define SPCRP_UPPERFILTERS (0x00000011) // UpperFilters (R/W)
#define SPCRP_LOWERFILTERS (0x00000012) // LowerFilters (R/W) #define SPCRP_LOWERFILTERS (0x00000012) // LowerFilters (R/W)
#define SPCRP_SECURITY (0x00000017) // Security (R/W, binary form) #define SPCRP_SECURITY (0x00000017) // Security (R/W, binary form)
#define SPCRP_SECURITY_SDS (0x00000018) // Security (W, SDS form ) #define SPCRP_SECURITY_SDS (0x00000018) // Security (W, SDS form )
#define SPCRP_DEVTYPE (0x00000019) // Device Type (R/W) #define SPCRP_DEVTYPE (0x00000019) // Device Type (R/W)
#define SPCRP_EXCLUSIVE (0x0000001A) // Device is exclusive-a ccess (R/W) #define SPCRP_EXCLUSIVE (0x0000001A) // Device is exclusive-a ccess (R/W)
#define SPCRP_CHARACTERISTICS (0x0000001B) // Device Characteristic s (R/W) #define SPCRP_CHARACTERISTICS (0x0000001B) // Device Characteristic s (R/W)
#define SPCRP_MAXIMUM_PROPERTY (0x0000001C) // Upper bound on ordina ls #define SPCRP_MAXIMUM_PROPERTY (0x0000001C) // Upper bound on ordina ls
_Success_(return != FALSE)
_When_((*PropertyRegDataType == REG_SZ), _At_((PSTR) PropertyBuffer, _Post_valid
_))
_When_((*PropertyRegDataType == REG_MULTI_SZ), _At_((PZZSTR) PropertyBuffer, _Po
st_valid_))
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceRegistryPropertyA( SetupDiGetDeviceRegistryPropertyA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Property, _In_ DWORD Property,
__out_opt PDWORD PropertyRegDataType, _Out_opt_ PDWORD PropertyRegDataType,
__out_bcount_opt(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyB
__in DWORD PropertyBufferSize, uffer,
__out_opt PDWORD RequiredSize _In_ DWORD PropertyBufferSize,
_Out_opt_ PDWORD RequiredSize
); );
_Success_(return != FALSE)
_When_((*PropertyRegDataType == REG_SZ), _At_((PWSTR) PropertyBuffer, _Post_vali
d_))
_When_((*PropertyRegDataType == REG_MULTI_SZ), _At_((PZZWSTR) PropertyBuffer, _P
ost_valid_))
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceRegistryPropertyW( SetupDiGetDeviceRegistryPropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Property, _In_ DWORD Property,
__out_opt PDWORD PropertyRegDataType, _Out_opt_ PDWORD PropertyRegDataType,
__out_bcount_opt(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyB
__in DWORD PropertyBufferSize, uffer,
__out_opt PDWORD RequiredSize _In_ DWORD PropertyBufferSize,
_Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
#else #else
#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA #define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassRegistryPropertyA( SetupDiGetClassRegistryPropertyA(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in DWORD Property, _In_ DWORD Property,
__out_opt PDWORD PropertyRegDataType, _Out_opt_ PDWORD PropertyRegDataType,
__out_bcount(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffe
__in DWORD PropertyBufferSize, r,
__out_opt PDWORD RequiredSize, _In_ DWORD PropertyBufferSize,
__in_opt PCSTR MachineName, _Out_opt_ PDWORD RequiredSize,
__reserved PVOID Reserved _In_opt_ PCSTR MachineName,
_Reserved_ PVOID Reserved
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassRegistryPropertyW( SetupDiGetClassRegistryPropertyW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in DWORD Property, _In_ DWORD Property,
__out_opt PDWORD PropertyRegDataType, _Out_opt_ PDWORD PropertyRegDataType,
__out_bcount(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffe
__in DWORD PropertyBufferSize, r,
__out_opt PDWORD RequiredSize, _In_ DWORD PropertyBufferSize,
__in_opt PCWSTR MachineName, _Out_opt_ PDWORD RequiredSize,
__reserved PVOID Reserved _In_opt_ PCWSTR MachineName,
_Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
#else #else
#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA #define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDeviceRegistryPropertyA( SetupDiSetDeviceRegistryPropertyA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData, _Inout_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Property, _In_ DWORD Property,
__in_bcount_opt(PropertyBufferSize) CONST BYTE *PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer,
__in DWORD PropertyBufferSize _In_ DWORD PropertyBufferSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDeviceRegistryPropertyW( SetupDiSetDeviceRegistryPropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout PSP_DEVINFO_DATA DeviceInfoData, _Inout_ PSP_DEVINFO_DATA DeviceInfoData,
__in DWORD Property, _In_ DWORD Property,
__in_bcount_opt(PropertyBufferSize) CONST BYTE *PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer,
__in DWORD PropertyBufferSize _In_ DWORD PropertyBufferSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
#else #else
#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA #define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetClassRegistryPropertyA( SetupDiSetClassRegistryPropertyA(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in DWORD Property, _In_ DWORD Property,
__in_bcount_opt(PropertyBufferSize) CONST BYTE *PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer,
__in DWORD PropertyBufferSize, _In_ DWORD PropertyBufferSize,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetClassRegistryPropertyW( SetupDiSetClassRegistryPropertyW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__in DWORD Property, _In_ DWORD Property,
__in_bcount_opt(PropertyBufferSize) CONST BYTE *PropertyBuffer, _In_reads_bytes_opt_(PropertyBufferSize) CONST BYTE *PropertyBuffer,
__in DWORD PropertyBufferSize, _In_ DWORD PropertyBufferSize,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
#else #else
#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA #define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInstallParamsA( SetupDiGetDeviceInstallParamsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__out PSP_DEVINSTALL_PARAMS_A DeviceInstallParams _Out_ PSP_DEVINSTALL_PARAMS_A DeviceInstallParams
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDeviceInstallParamsW( SetupDiGetDeviceInstallParamsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__out PSP_DEVINSTALL_PARAMS_W DeviceInstallParams _Out_ PSP_DEVINSTALL_PARAMS_W DeviceInstallParams
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
#else #else
#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA #define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
#endif #endif
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassInstallParamsA( SetupDiGetClassInstallParamsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__out_bcount_opt(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstal _Out_writes_bytes_to_opt_(ClassInstallParamsSize, *RequiredSize) PSP_CLASSIN
lParams, STALL_HEADER ClassInstallParams,
__in DWORD ClassInstallParamsSize, _In_ DWORD ClassInstallParamsSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassInstallParamsW( SetupDiGetClassInstallParamsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__out_bcount_opt(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstal _Out_writes_bytes_to_opt_(ClassInstallParamsSize, *RequiredSize) PSP_CLASSIN
lParams, STALL_HEADER ClassInstallParams,
__in DWORD ClassInstallParamsSize, _In_ DWORD ClassInstallParamsSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
#else #else
#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA #define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDeviceInstallParamsA( SetupDiSetDeviceInstallParamsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DEVINSTALL_PARAMS_A DeviceInstallParams _In_ PSP_DEVINSTALL_PARAMS_A DeviceInstallParams
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDeviceInstallParamsW( SetupDiSetDeviceInstallParamsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DEVINSTALL_PARAMS_W DeviceInstallParams _In_ PSP_DEVINSTALL_PARAMS_W DeviceInstallParams
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
#else #else
#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA #define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetClassInstallParamsA( SetupDiSetClassInstallParamsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in_bcount_opt(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstall _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassIn
Params, stallParams,
__in DWORD ClassInstallParamsSize _In_ DWORD ClassInstallParamsSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetClassInstallParamsW( SetupDiSetClassInstallParamsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in_bcount_opt(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassInstall _In_reads_bytes_opt_(ClassInstallParamsSize) PSP_CLASSINSTALL_HEADER ClassIn
Params, stallParams,
__in DWORD ClassInstallParamsSize _In_ DWORD ClassInstallParamsSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
#else #else
#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA #define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDriverInstallParamsA( SetupDiGetDriverInstallParamsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DRVINFO_DATA_A DriverInfoData, _In_ PSP_DRVINFO_DATA_A DriverInfoData,
__out PSP_DRVINSTALL_PARAMS DriverInstallParams _Out_ PSP_DRVINSTALL_PARAMS DriverInstallParams
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetDriverInstallParamsW( SetupDiGetDriverInstallParamsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DRVINFO_DATA_W DriverInfoData, _In_ PSP_DRVINFO_DATA_W DriverInfoData,
__out PSP_DRVINSTALL_PARAMS DriverInstallParams _Out_ PSP_DRVINSTALL_PARAMS DriverInstallParams
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
#else #else
#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA #define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDriverInstallParamsA( SetupDiSetDriverInstallParamsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DRVINFO_DATA_A DriverInfoData, _In_ PSP_DRVINFO_DATA_A DriverInfoData,
__in PSP_DRVINSTALL_PARAMS DriverInstallParams _In_ PSP_DRVINSTALL_PARAMS DriverInstallParams
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetDriverInstallParamsW( SetupDiSetDriverInstallParamsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_DRVINFO_DATA_W DriverInfoData, _In_ PSP_DRVINFO_DATA_W DriverInfoData,
__in PSP_DRVINSTALL_PARAMS DriverInstallParams _In_ PSP_DRVINSTALL_PARAMS DriverInstallParams
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
#else #else
#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA #define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiLoadClassIcon( SetupDiLoadClassIcon(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_opt HICON *LargeIcon, _Out_opt_ HICON *LargeIcon,
__out_opt PINT MiniIconIndex _Out_opt_ PINT MiniIconIndex
); );
#if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #if _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiLoadDeviceIcon( SetupDiLoadDeviceIcon(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in UINT cxIcon, _In_ UINT cxIcon,
__in UINT cyIcon, _In_ UINT cyIcon,
__in DWORD Flags, _In_ DWORD Flags,
__out HICON *hIcon _Out_ HICON *hIcon
); );
#endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN #endif // _SETUPAPI_VER >= _WIN32_WINNT_LONGHORN
// //
// Flags controlling the drawing of mini-icons // Flags controlling the drawing of mini-icons
// //
#define DMI_MASK 0x00000001 #define DMI_MASK 0x00000001
#define DMI_BKCOLOR 0x00000002 #define DMI_BKCOLOR 0x00000002
#define DMI_USERECT 0x00000004 #define DMI_USERECT 0x00000004
WINSETUPAPI WINSETUPAPI
INT INT
WINAPI WINAPI
SetupDiDrawMiniIcon( SetupDiDrawMiniIcon(
__in HDC hdc, _In_ HDC hdc,
__in RECT rc, _In_ RECT rc,
__in INT MiniIconIndex, _In_ INT MiniIconIndex,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassBitmapIndex( SetupDiGetClassBitmapIndex(
__in_opt CONST GUID *ClassGuid, _In_opt_ CONST GUID *ClassGuid,
__out PINT MiniIconIndex _Out_ PINT MiniIconIndex
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassImageList( SetupDiGetClassImageList(
__out PSP_CLASSIMAGELIST_DATA ClassImageListData _Out_ PSP_CLASSIMAGELIST_DATA ClassImageListData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassImageListExA( SetupDiGetClassImageListExA(
__out PSP_CLASSIMAGELIST_DATA ClassImageListData, _Out_ PSP_CLASSIMAGELIST_DATA ClassImageListData,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassImageListExW( SetupDiGetClassImageListExW(
__out PSP_CLASSIMAGELIST_DATA ClassImageListData, _Out_ PSP_CLASSIMAGELIST_DATA ClassImageListData,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassImageListEx SetupDiGetClassImageListExW #define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
#else #else
#define SetupDiGetClassImageListEx SetupDiGetClassImageListExA #define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassImageIndex( SetupDiGetClassImageIndex(
__in PSP_CLASSIMAGELIST_DATA ClassImageListData, _In_ PSP_CLASSIMAGELIST_DATA ClassImageListData,
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out PINT ImageIndex _Out_ PINT ImageIndex
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiDestroyClassImageList( SetupDiDestroyClassImageList(
__in PSP_CLASSIMAGELIST_DATA ClassImageListData _In_ PSP_CLASSIMAGELIST_DATA ClassImageListData
); );
// //
// PropertySheetType values for the SetupDiGetClassDevPropertySheets API // PropertySheetType values for the SetupDiGetClassDevPropertySheets API
// //
#define DIGCDP_FLAG_BASIC 0x00000001 #define DIGCDP_FLAG_BASIC 0x00000001
#define DIGCDP_FLAG_ADVANCED 0x00000002 #define DIGCDP_FLAG_ADVANCED 0x00000002
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
#define DIGCDP_FLAG_REMOTE_BASIC 0x00000003 // not presently implemented #define DIGCDP_FLAG_REMOTE_BASIC 0x00000003 // not presently implemented
#define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004 #define DIGCDP_FLAG_REMOTE_ADVANCED 0x00000004
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassDevPropertySheetsA( SetupDiGetClassDevPropertySheetsA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in LPPROPSHEETHEADERA PropertySheetHeader, _In_ LPPROPSHEETHEADERA PropertySheetHeader,
__in DWORD PropertySheetHeaderPageListSize, _In_ DWORD PropertySheetHeaderPageListSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in DWORD PropertySheetType _In_ DWORD PropertySheetType
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetClassDevPropertySheetsW( SetupDiGetClassDevPropertySheetsW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in LPPROPSHEETHEADERW PropertySheetHeader, _In_ LPPROPSHEETHEADERW PropertySheetHeader,
__in DWORD PropertySheetHeaderPageListSize, _In_ DWORD PropertySheetHeaderPageListSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in DWORD PropertySheetType _In_ DWORD PropertySheetType
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
#else #else
#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA #define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
#endif #endif
// //
// Define ICON IDs publicly exposed from setupapi. // Define ICON IDs publicly exposed from setupapi.
skipping to change at line 6749 skipping to change at line 6781
#define IDI_CLASSICON_OVERLAYFIRST 500 #define IDI_CLASSICON_OVERLAYFIRST 500
#define IDI_CLASSICON_OVERLAYLAST 502 #define IDI_CLASSICON_OVERLAYLAST 502
#define IDI_PROBLEM_OVL 500 #define IDI_PROBLEM_OVL 500
#define IDI_DISABLED_OVL 501 #define IDI_DISABLED_OVL 501
#define IDI_FORCED_OVL 502 #define IDI_FORCED_OVL 502
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiAskForOEMDisk( SetupDiAskForOEMDisk(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData _In_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSelectOEMDrv( SetupDiSelectOEMDrv(
__in_opt HWND hwndParent, _In_opt_ HWND hwndParent,
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__inout_opt PSP_DEVINFO_DATA DeviceInfoData _Inout_opt_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassNameFromGuidA( SetupDiClassNameFromGuidA(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassNameSize) PSTR ClassName, _Out_writes_(ClassNameSize) PSTR ClassName,
__in DWORD ClassNameSize, _In_ DWORD ClassNameSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassNameFromGuidW( SetupDiClassNameFromGuidW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassNameSize) PWSTR ClassName, _Out_writes_(ClassNameSize) PWSTR ClassName,
__in DWORD ClassNameSize, _In_ DWORD ClassNameSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
#else #else
#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA #define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassNameFromGuidExA( SetupDiClassNameFromGuidExA(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassNameSize) PSTR ClassName, _Out_writes_(ClassNameSize) PSTR ClassName,
__in DWORD ClassNameSize, _In_ DWORD ClassNameSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassNameFromGuidExW( SetupDiClassNameFromGuidExW(
__in CONST GUID *ClassGuid, _In_ CONST GUID *ClassGuid,
__out_ecount(ClassNameSize) PWSTR ClassName, _Out_writes_(ClassNameSize) PWSTR ClassName,
__in DWORD ClassNameSize, _In_ DWORD ClassNameSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
#else #else
#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA #define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
#endif #endif
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassGuidsFromNameA( SetupDiClassGuidsFromNameA(
__in PCSTR ClassName, _In_ PCSTR ClassName,
__out_ecount(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize _Out_ PDWORD RequiredSize
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassGuidsFromNameW( SetupDiClassGuidsFromNameW(
__in PCWSTR ClassName, _In_ PCWSTR ClassName,
__out_ecount(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize _Out_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
#else #else
#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA #define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
#endif #endif
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassGuidsFromNameExA( SetupDiClassGuidsFromNameExA(
__in PCSTR ClassName, _In_ PCSTR ClassName,
__out_ecount(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiClassGuidsFromNameExW( SetupDiClassGuidsFromNameExW(
__in PCWSTR ClassName, _In_ PCWSTR ClassName,
__out_ecount(ClassGuidListSize) LPGUID ClassGuidList, _Out_writes_to_(ClassGuidListSize, *RequiredSize) LPGUID ClassGuidList,
__in DWORD ClassGuidListSize, _In_ DWORD ClassGuidListSize,
__out PDWORD RequiredSize, _Out_ PDWORD RequiredSize,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
#else #else
#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA #define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileFriendlyNameA( SetupDiGetHwProfileFriendlyNameA(
__in DWORD HwProfile, _In_ DWORD HwProfile,
__out_ecount(FriendlyNameSize) PSTR FriendlyName, _Out_writes_(FriendlyNameSize) PSTR FriendlyName,
__in DWORD FriendlyNameSize, _In_ DWORD FriendlyNameSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileFriendlyNameW( SetupDiGetHwProfileFriendlyNameW(
__in DWORD HwProfile, _In_ DWORD HwProfile,
__out_ecount(FriendlyNameSize) PWSTR FriendlyName, _Out_writes_(FriendlyNameSize) PWSTR FriendlyName,
__in DWORD FriendlyNameSize, _In_ DWORD FriendlyNameSize,
__out_opt PDWORD RequiredSize _Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
#else #else
#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA #define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
#endif #endif
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileFriendlyNameExA( SetupDiGetHwProfileFriendlyNameExA(
__in DWORD HwProfile, _In_ DWORD HwProfile,
__out_ecount(FriendlyNameSize) PSTR FriendlyName, _Out_writes_(FriendlyNameSize) PSTR FriendlyName,
__in DWORD FriendlyNameSize, _In_ DWORD FriendlyNameSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in_opt PCSTR MachineName, _In_opt_ PCSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetHwProfileFriendlyNameExW( SetupDiGetHwProfileFriendlyNameExW(
__in DWORD HwProfile, _In_ DWORD HwProfile,
__out_ecount(FriendlyNameSize) PWSTR FriendlyName, _Out_writes_(FriendlyNameSize) PWSTR FriendlyName,
__in DWORD FriendlyNameSize, _In_ DWORD FriendlyNameSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__in_opt PCWSTR MachineName, _In_opt_ PCWSTR MachineName,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
#else #else
#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA #define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
#endif #endif
// //
// PageType values for SetupDiGetWizardPage API // PageType values for SetupDiGetWizardPage API
skipping to change at line 6944 skipping to change at line 6980
// //
// Flags for SetupDiGetWizardPage API // Flags for SetupDiGetWizardPage API
// //
#define SPWP_USE_DEVINFO_DATA 0x00000001 #define SPWP_USE_DEVINFO_DATA 0x00000001
WINSETUPAPI WINSETUPAPI
HPROPSHEETPAGE HPROPSHEETPAGE
WINAPI WINAPI
SetupDiGetWizardPage( SetupDiGetWizardPage(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in_opt PSP_DEVINFO_DATA DeviceInfoData, _In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
__in PSP_INSTALLWIZARD_DATA InstallWizardData, _In_ PSP_INSTALLWIZARD_DATA InstallWizardData,
__in DWORD PageType, _In_ DWORD PageType,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetSelectedDevice( SetupDiGetSelectedDevice(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__out PSP_DEVINFO_DATA DeviceInfoData _Out_ PSP_DEVINFO_DATA DeviceInfoData
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiSetSelectedDevice( SetupDiSetSelectedDevice(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData _In_ PSP_DEVINFO_DATA DeviceInfoData
); );
#if _SETUPAPI_VER >= _WIN32_WINNT_WS03 #if _SETUPAPI_VER >= _WIN32_WINNT_WS03
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetActualModelsSectionA( SetupDiGetActualModelsSectionA(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__out_ecount_opt(InfSectionWithExtSize) PSTR InfSectionWithExt, _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
__in DWORD InfSectionWithExtSize, _In_ DWORD InfSectionWithExtSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetActualModelsSectionW( SetupDiGetActualModelsSectionW(
__in PINFCONTEXT Context, _In_ PINFCONTEXT Context,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__out_ecount_opt(InfSectionWithExtSize) PWSTR InfSectionWithExt, _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
__in DWORD InfSectionWithExtSize, _In_ DWORD InfSectionWithExtSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetActualModelsSection SetupDiGetActualModelsSectionW #define SetupDiGetActualModelsSection SetupDiGetActualModelsSectionW
#else #else
#define SetupDiGetActualModelsSection SetupDiGetActualModelsSectionA #define SetupDiGetActualModelsSection SetupDiGetActualModelsSectionA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WS03 #endif // _SETUPAPI_VER >= _WIN32_WINNT_WS03
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetActualSectionToInstallA( SetupDiGetActualSectionToInstallA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR InfSectionName, _In_ PCSTR InfSectionName,
__out_ecount_opt(InfSectionWithExtSize) PSTR InfSectionWithExt, _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
__in DWORD InfSectionWithExtSize, _In_ DWORD InfSectionWithExtSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__out_opt PSTR *Extension _Out_opt_ PSTR *Extension
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetActualSectionToInstallW( SetupDiGetActualSectionToInstallW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR InfSectionName, _In_ PCWSTR InfSectionName,
__out_ecount_opt(InfSectionWithExtSize) PWSTR InfSectionWithExt, _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
__in DWORD InfSectionWithExtSize, _In_ DWORD InfSectionWithExtSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__out_opt PWSTR *Extension _Out_opt_ PWSTR *Extension
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
#else #else
#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA #define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
#endif #endif
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetActualSectionToInstallExA( SetupDiGetActualSectionToInstallExA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR InfSectionName, _In_ PCSTR InfSectionName,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__out_ecount_opt(InfSectionWithExtSize) PSTR InfSectionWithExt, _Out_writes_opt_(InfSectionWithExtSize) PSTR InfSectionWithExt,
__in DWORD InfSectionWithExtSize, _In_ DWORD InfSectionWithExtSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__out_opt PSTR *Extension, _Out_opt_ PSTR *Extension,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetActualSectionToInstallExW( SetupDiGetActualSectionToInstallExW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR InfSectionName, _In_ PCWSTR InfSectionName,
__in_opt PSP_ALTPLATFORM_INFO AlternatePlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
__out_ecount_opt(InfSectionWithExtSize) PWSTR InfSectionWithExt, _Out_writes_opt_(InfSectionWithExtSize) PWSTR InfSectionWithExt,
__in DWORD InfSectionWithExtSize, _In_ DWORD InfSectionWithExtSize,
__out_opt PDWORD RequiredSize, _Out_opt_ PDWORD RequiredSize,
__out_opt PWSTR *Extension, _Out_opt_ PWSTR *Extension,
__reserved PVOID Reserved _Reserved_ PVOID Reserved
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExW
#else #else
#define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA #define SetupDiGetActualSectionToInstallEx SetupDiGetActualSectionToInstallExA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
// //
// SetupEnumInfSections is for low-level parsing of an INF // SetupEnumInfSections is for low-level parsing of an INF
// //
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupEnumInfSectionsA ( SetupEnumInfSectionsA (
__in HINF InfHandle, _In_ HINF InfHandle,
__in UINT Index, _In_ UINT Index,
__out_ecount_opt(Size) PSTR Buffer, _Out_writes_opt_(Size) PSTR Buffer,
__in UINT Size, _In_ UINT Size,
__out_opt UINT *SizeNeeded _Out_opt_ UINT *SizeNeeded
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupEnumInfSectionsW ( SetupEnumInfSectionsW (
__in HINF InfHandle, _In_ HINF InfHandle,
__in UINT Index, _In_ UINT Index,
__out_ecount_opt(Size) PWSTR Buffer, _Out_writes_opt_(Size) PWSTR Buffer,
__in UINT Size, _In_ UINT Size,
__out_opt UINT *SizeNeeded _Out_opt_ UINT *SizeNeeded
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupEnumInfSections SetupEnumInfSectionsW #define SetupEnumInfSections SetupEnumInfSectionsW
#else #else
#define SetupEnumInfSections SetupEnumInfSectionsA #define SetupEnumInfSections SetupEnumInfSectionsA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
skipping to change at line 7196 skipping to change at line 7232
typedef PSP_INF_SIGNER_INFO_V2_W PSP_INF_SIGNER_INFO_W; typedef PSP_INF_SIGNER_INFO_V2_W PSP_INF_SIGNER_INFO_W;
typedef SP_INF_SIGNER_INFO_V2 SP_INF_SIGNER_INFO; typedef SP_INF_SIGNER_INFO_V2 SP_INF_SIGNER_INFO;
typedef PSP_INF_SIGNER_INFO_V2 PSP_INF_SIGNER_INFO; typedef PSP_INF_SIGNER_INFO_V2 PSP_INF_SIGNER_INFO;
#endif // use current version of signer info structure #endif // use current version of signer info structure
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupVerifyInfFileA( SetupVerifyInfFileA(
__in PCSTR InfName, _In_ PCSTR InfName,
__in_opt PSP_ALTPLATFORM_INFO AltPlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AltPlatformInfo,
__inout PSP_INF_SIGNER_INFO_A InfSignerInfo _Inout_ PSP_INF_SIGNER_INFO_A InfSignerInfo
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupVerifyInfFileW( SetupVerifyInfFileW(
__in PCWSTR InfName, _In_ PCWSTR InfName,
__in_opt PSP_ALTPLATFORM_INFO AltPlatformInfo, _In_opt_ PSP_ALTPLATFORM_INFO AltPlatformInfo,
__inout PSP_INF_SIGNER_INFO_W InfSignerInfo _Inout_ PSP_INF_SIGNER_INFO_W InfSignerInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupVerifyInfFile SetupVerifyInfFileW #define SetupVerifyInfFile SetupVerifyInfFileW
#else #else
#define SetupVerifyInfFile SetupVerifyInfFileA #define SetupVerifyInfFile SetupVerifyInfFileA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
#if _SETUPAPI_VER >= _WIN32_WINNT_WINXP #if _SETUPAPI_VER >= _WIN32_WINNT_WINXP
// //
// Flags for use by SetupDiGetCustomDeviceProperty // Flags for use by SetupDiGetCustomDeviceProperty
// //
#define DICUSTOMDEVPROP_MERGE_MULTISZ 0x00000001 #define DICUSTOMDEVPROP_MERGE_MULTISZ 0x00000001
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetCustomDevicePropertyA( SetupDiGetCustomDevicePropertyA(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in PCSTR CustomPropertyName, _In_ PCSTR CustomPropertyName,
__in DWORD Flags, _In_ DWORD Flags,
__out_opt PDWORD PropertyRegDataType, _Out_opt_ PDWORD PropertyRegDataType,
__out_bcount(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffe
__in DWORD PropertyBufferSize, r,
__out_opt PDWORD RequiredSize _In_ DWORD PropertyBufferSize,
_Out_opt_ PDWORD RequiredSize
); );
_Success_(return != FALSE)
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupDiGetCustomDevicePropertyW( SetupDiGetCustomDevicePropertyW(
__in HDEVINFO DeviceInfoSet, _In_ HDEVINFO DeviceInfoSet,
__in PSP_DEVINFO_DATA DeviceInfoData, _In_ PSP_DEVINFO_DATA DeviceInfoData,
__in PCWSTR CustomPropertyName, _In_ PCWSTR CustomPropertyName,
__in DWORD Flags, _In_ DWORD Flags,
__out_opt PDWORD PropertyRegDataType, _Out_opt_ PDWORD PropertyRegDataType,
__out_bcount(PropertyBufferSize) PBYTE PropertyBuffer, _Out_writes_bytes_to_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffe
__in DWORD PropertyBufferSize, r,
__out_opt PDWORD RequiredSize _In_ DWORD PropertyBufferSize,
_Out_opt_ PDWORD RequiredSize
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyW #define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyW
#else #else
#define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyA #define SetupDiGetCustomDeviceProperty SetupDiGetCustomDevicePropertyA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP #endif // _SETUPAPI_VER >= _WIN32_WINNT_WINXP
skipping to change at line 7278 skipping to change at line 7316
// //
// Flags for use by SetupConfigureWmiFromInfSection // Flags for use by SetupConfigureWmiFromInfSection
// //
#define SCWMI_CLOBBER_SECURITY 0x00000001 #define SCWMI_CLOBBER_SECURITY 0x00000001
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupConfigureWmiFromInfSectionA( SetupConfigureWmiFromInfSectionA(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCSTR SectionName, _In_ PCSTR SectionName,
__in DWORD Flags _In_ DWORD Flags
); );
WINSETUPAPI WINSETUPAPI
BOOL BOOL
WINAPI WINAPI
SetupConfigureWmiFromInfSectionW( SetupConfigureWmiFromInfSectionW(
__in HINF InfHandle, _In_ HINF InfHandle,
__in PCWSTR SectionName, _In_ PCWSTR SectionName,
__in DWORD Flags _In_ DWORD Flags
); );
#ifdef UNICODE #ifdef UNICODE
#define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionW #define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionW
#else #else
#define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionA #define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionA
#endif #endif
#endif // _SETUPAPI_VER >= _WIN32_WINNT_WS03 #endif // _SETUPAPI_VER >= _WIN32_WINNT_WS03
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#include <poppack.h> #include <poppack.h>
#if defined (_MSC_VER) && (_MSC_VER >= 1200) #if defined (_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop) #pragma warning(pop)
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // _INC_SETUPAPI #endif // _INC_SETUPAPI
 End of changes. 378 change blocks. 
1557 lines changed or deleted 1629 lines changed or added

This html diff was produced by rfcdiff 1.41.