随着Windows Vista和Windows 2008 Server的推出,一堆新的Windows API也随之出现,为了方便查找,将新增的API列在这儿(应该不全,希望大家补充)。从新增的API功能来看,主要的亮点有以下几个:
(1)对文件和注册表操作的事务性支持,这是通过KTM(Kernel Transaction Manager)实现的;
(2)同步机制和原语的增强:读写锁(SRW:Slim Reader/Writer (SRW) Locks)和条件变量(CV:Condition Variables);
(3)线程池的增强(Thread Pool);
(4)对NUMA(non-uniform memory access:非一致性内存访问)的支持;
(5)对应用程序重启恢复的支持(ARR:Application Recovery and Restart);
以下就是我整理的新增API一览表:
AcquireSRWLockExclusive
AcquireSRWLockShared
*AddClipboardFormatListener
AddMandatoryAce
AddSIDToBoundaryDescriptor
AllocateUserPhysicalPagesNuma
ApplicationRecoveryFinished
ApplicationRecoveryInProgress
CallbackMayRunLong
CancelIoEx
CancelSynchronousIo
CancelThreadpoolIo
ChangeWindowMessageFilter
ClosePrivateNamespace
CloseThreadpool
CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CloseThreadpoolIo
CloseThreadpoolTimer
CloseThreadpoolWait
CloseThreadpoolWork
ControlServiceEx
CopyFileTransacted
CreateBoundaryDescriptor
CreateDesktopEx
CreateDirectoryTransacted
CreateEventEx
CreateFileMappingNuma
CreateFileTransacted
CreateHardLinkTransacted
CreateMutexEx
CreatePrivateNamespace
CreateSemaphoreEx
CreateSymbolicLink
CreateSymbolicLinkTransacted
CreateThreadpool
CreateThreadpoolCleanupGroup
CreateThreadpoolIo
CreateThreadpoolTimer
CreateThreadpoolWait
CreateThreadpoolWork
CreateWaitableTimerEx
DeleteBoundaryDescriptor
DeleteFileTransacted
DeleteProcThreadAttributeList
DisassociateCurrentThreadFromCallback
×EnumCalendarInfoExEx
×EnumDateFormatsExEx
×EnumDateFormatsProcExEx
EnumProcessModulesEx
EnumResourceLanguagesEx
EnumResourceNamesEx
EnumResourceTypesEx
×EnumSystemLocalesEx
×EnumTimeFormatsEx
×EnumTimeFormatsProcEx
FindFirstFileNameTransactedW
FindFirstFileNameW
FindFirstFileTransacted
FindNextFileNameW
FlushProcessWriteBuffers
FreeLibraryWhenCallbackReturns
GetApplicationRecoveryCallback
GetApplicationRestartSettings
×GetCalendarInfoEx
GetCompressedFileSizeTransacted
GetConsoleHistoryInfo
GetConsoleOriginalTitle
GetConsoleScreenBufferInfoEx
×GetCurrencyFormatEx
GetCurrentConsoleFontEx
×GetDateFormatEx
×GetDurationFormat
×GetDurationFormatEx
GetDynamicTimeZoneInformation
GetErrorMode
GetFileAttributesTransacted
GetFileBandwidthReservation
GetFileInformationByHandleEx
*GetFileVersionInfoEx
*GetFileVersionInfoSizeEx
GetFinalPathNameByHandle
GetFullPathNameTransacted
GetIconInfoEx
*GetLocaleInfoEx
GetLongPathNameTransacted
GetNamedPipeAttribute
GetNamedPipeClientComputerName
GetNamedPipeClientProcessId
GetNamedPipeClientSessionId
GetNamedPipeServerProcessId
GetNamedPipeServerSessionId
*GetNLSVersionEx
GetNumaProximityNode
*GetNumberFormatEx
GetPhysicalCursorPos
GetProductInfo
GetQueuedCompletionStatusEx
*GetStringScripts
*GetSystemDefaultLocaleName
GetTickCount64
GetTimeFormatEx
GetUpdatedClipboardFormats
*GetUserDefaultLocaleName
GetVolumeInformationByHandleW
*IdnToAscii
*IdnToNameprepUnicode
*IdnToUnicode
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitOnceInitialize
InitializeConditionVariable
InitializeCriticalSectionEx
InitializeProcThreadAttributeList
InitializeSRWLock
InitiateShutdown
*IsNormalizedString
IsProcessDPIAware
IsThreadAFiber
IsThreadpoolTimerSet
*IsValidLocaleName
*LCIDToLocaleName
*LCMapStringEx
LeaveCriticalSectionWhenCallbackReturns
*LocaleNameToLCID
LogicalToPhysicalPoint
MapViewOfFileExNuma
MoveFileTransacted
*NormalizeString
NotifyServiceStatusChange
OpenFileById
OpenPrivateNamespace
PdhAddEnglishCounter
PdhCollectQueryDataWithTime
PdhValidatePathEx
PhysicalToLogicalPoint
QueryActCtxSettingsW
QueryFullProcessImageName
QueryIdleProcessorCycleTime
QueryProcessCycleTime
QuerySecurityAccessMask
QueryThreadCycleTime
RegCopyTree
RegCreateKeyTransacted
RegDeleteKeyTransacted
RegDeleteKeyValue
RegDeleteTree
RegDisablePredefinedCacheEx
RegisterApplicationRecoveryCallback
RegisterApplicationRestart
RegisterPowerSettingNotification
RegLoadAppKey
RegLoadMUIString
RegOpenKeyTransacted
RegSetKeyValue
ReleaseMutexWhenCallbackReturns
ReleaseSRWLockExclusive
ReleaseSRWLockShared
ReleaseSemaphoreWhenCallbackReturns
RemoveClipboardFormatListener
RemoveDirectoryTransacted
SetConsoleHistoryInfo
SetConsoleScreenBufferInfoEx
SetCurrentConsoleFontEx
SetDynamicTimeZoneInformation
SetEventWhenCallbackReturns
SetFileAttributesTransacted
SetFileBandwidthReservation
SetFileCompletionNotificationModes
SetFileInformationByHandle
SetFileIoOverlappedRange
SetPhysicalCursorPos
SetProcessDPIAware
SetSecurityAccessMask
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
SetThreadpoolTimer
SetThreadpoolWait
SHAddDefaultPropertiesByExt
SHAssocEnumHandlers
SHBindToFolderIDListParent
SHBindToFolderIDListParentEx
SHBindToObject
SHChangeNotifyRegisterThread
SHCreateAssociationRegistration
SHCreateDataObject
SHCreateDefaultContextMenu
SHCreateDefaultExtractIcon
SHCreateDefaultPropertiesOp
SHCreateItemFromIDList
SHCreateItemFromParsingName
SHCreateItemFromRelativeName
SHCreateItemInKnownFolder
SHCreateItemWithParent
SHCreateShellItemArray
SHCreateShellItemArrayFromDataObject
SHCreateShellItemArrayFromIDLists
SHCreateShellItemArrayFromShellItem
SHEvaluateSystemCommandTemplate
SHGetControlPanelPath
SHGetDriveMedia
SHGetIDListFromObject
SHGetKnownFolderIDList
SHGetKnownFolderPath
SHGetLocalizedName
SHGetNameFromIDList
SHGetNameFromPropertyKey
SHGetPathFromIDListEx
SHGetPropertyStoreFromIDList
SHGetPropertyStoreFromParsingName
SHGetStockIconInfo
SHGetTemporaryPropertyForItem
SHLocalStrDup
SHOpenWithDialog
SHQueryUserNotificationState
SHRegGetBoolValueFromHKCUHKLM
SHRegGetValueFromHKCUHKLM
SHRemoveLocalizedName
SHSetDefaultProperties
SHSetKnownFolderPath
SHSetTemporaryPropertyForItem
ShutdownBlockReasonCreate
ShutdownBlockReasonDestroy
ShutdownBlockReasonQuery
SleepConditionVariableCS
SleepConditionVariableSRW
StartThreadpoolIo
SubmitThreadpoolWork
TrySubmitThreadpoolCallback
UnregisterApplicationRecoveryCallback
UnregisterApplicationRestart
UnregisterPowerSettingNotification
UpdateProcThreadAttribute
UpdateLayeredWindowIndirect
VerifyScripts
VirtualAllocExNuma
WaitForThreadpoolIoCallbacks
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWaitCallbacks
WaitForThreadpoolWorkCallbacks
WakeAllConditionVariable
WakeConditionVariable
WindowFromPhysicalPoint
Wow64GetThreadContext
Wow64SetThreadContext
Wow64SuspendThread
(1)对文件和注册表操作的事务性支持,这是通过KTM(Kernel Transaction Manager)实现的;
(2)同步机制和原语的增强:读写锁(SRW:Slim Reader/Writer (SRW) Locks)和条件变量(CV:Condition Variables);
(3)线程池的增强(Thread Pool);
(4)对NUMA(non-uniform memory access:非一致性内存访问)的支持;
(5)对应用程序重启恢复的支持(ARR:Application Recovery and Restart);
以下就是我整理的新增API一览表:
AcquireSRWLockExclusive
AcquireSRWLockShared
*AddClipboardFormatListener
AddMandatoryAce
AddSIDToBoundaryDescriptor
AllocateUserPhysicalPagesNuma
ApplicationRecoveryFinished
ApplicationRecoveryInProgress
CallbackMayRunLong
CancelIoEx
CancelSynchronousIo
CancelThreadpoolIo
ChangeWindowMessageFilter
ClosePrivateNamespace
CloseThreadpool
CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CloseThreadpoolIo
CloseThreadpoolTimer
CloseThreadpoolWait
CloseThreadpoolWork
ControlServiceEx
CopyFileTransacted
CreateBoundaryDescriptor
CreateDesktopEx
CreateDirectoryTransacted
CreateEventEx
CreateFileMappingNuma
CreateFileTransacted
CreateHardLinkTransacted
CreateMutexEx
CreatePrivateNamespace
CreateSemaphoreEx
CreateSymbolicLink
CreateSymbolicLinkTransacted
CreateThreadpool
CreateThreadpoolCleanupGroup
CreateThreadpoolIo
CreateThreadpoolTimer
CreateThreadpoolWait
CreateThreadpoolWork
CreateWaitableTimerEx
DeleteBoundaryDescriptor
DeleteFileTransacted
DeleteProcThreadAttributeList
DisassociateCurrentThreadFromCallback
×EnumCalendarInfoExEx
×EnumDateFormatsExEx
×EnumDateFormatsProcExEx
EnumProcessModulesEx
EnumResourceLanguagesEx
EnumResourceNamesEx
EnumResourceTypesEx
×EnumSystemLocalesEx
×EnumTimeFormatsEx
×EnumTimeFormatsProcEx
FindFirstFileNameTransactedW
FindFirstFileNameW
FindFirstFileTransacted
FindNextFileNameW
FlushProcessWriteBuffers
FreeLibraryWhenCallbackReturns
GetApplicationRecoveryCallback
GetApplicationRestartSettings
×GetCalendarInfoEx
GetCompressedFileSizeTransacted
GetConsoleHistoryInfo
GetConsoleOriginalTitle
GetConsoleScreenBufferInfoEx
×GetCurrencyFormatEx
GetCurrentConsoleFontEx
×GetDateFormatEx
×GetDurationFormat
×GetDurationFormatEx
GetDynamicTimeZoneInformation
GetErrorMode
GetFileAttributesTransacted
GetFileBandwidthReservation
GetFileInformationByHandleEx
*GetFileVersionInfoEx
*GetFileVersionInfoSizeEx
GetFinalPathNameByHandle
GetFullPathNameTransacted
GetIconInfoEx
*GetLocaleInfoEx
GetLongPathNameTransacted
GetNamedPipeAttribute
GetNamedPipeClientComputerName
GetNamedPipeClientProcessId
GetNamedPipeClientSessionId
GetNamedPipeServerProcessId
GetNamedPipeServerSessionId
*GetNLSVersionEx
GetNumaProximityNode
*GetNumberFormatEx
GetPhysicalCursorPos
GetProductInfo
GetQueuedCompletionStatusEx
*GetStringScripts
*GetSystemDefaultLocaleName
GetTickCount64
GetTimeFormatEx
GetUpdatedClipboardFormats
*GetUserDefaultLocaleName
GetVolumeInformationByHandleW
*IdnToAscii
*IdnToNameprepUnicode
*IdnToUnicode
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitOnceInitialize
InitializeConditionVariable
InitializeCriticalSectionEx
InitializeProcThreadAttributeList
InitializeSRWLock
InitiateShutdown
*IsNormalizedString
IsProcessDPIAware
IsThreadAFiber
IsThreadpoolTimerSet
*IsValidLocaleName
*LCIDToLocaleName
*LCMapStringEx
LeaveCriticalSectionWhenCallbackReturns
*LocaleNameToLCID
LogicalToPhysicalPoint
MapViewOfFileExNuma
MoveFileTransacted
*NormalizeString
NotifyServiceStatusChange
OpenFileById
OpenPrivateNamespace
PdhAddEnglishCounter
PdhCollectQueryDataWithTime
PdhValidatePathEx
PhysicalToLogicalPoint
QueryActCtxSettingsW
QueryFullProcessImageName
QueryIdleProcessorCycleTime
QueryProcessCycleTime
QuerySecurityAccessMask
QueryThreadCycleTime
RegCopyTree
RegCreateKeyTransacted
RegDeleteKeyTransacted
RegDeleteKeyValue
RegDeleteTree
RegDisablePredefinedCacheEx
RegisterApplicationRecoveryCallback
RegisterApplicationRestart
RegisterPowerSettingNotification
RegLoadAppKey
RegLoadMUIString
RegOpenKeyTransacted
RegSetKeyValue
ReleaseMutexWhenCallbackReturns
ReleaseSRWLockExclusive
ReleaseSRWLockShared
ReleaseSemaphoreWhenCallbackReturns
RemoveClipboardFormatListener
RemoveDirectoryTransacted
SetConsoleHistoryInfo
SetConsoleScreenBufferInfoEx
SetCurrentConsoleFontEx
SetDynamicTimeZoneInformation
SetEventWhenCallbackReturns
SetFileAttributesTransacted
SetFileBandwidthReservation
SetFileCompletionNotificationModes
SetFileInformationByHandle
SetFileIoOverlappedRange
SetPhysicalCursorPos
SetProcessDPIAware
SetSecurityAccessMask
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
SetThreadpoolTimer
SetThreadpoolWait
SHAddDefaultPropertiesByExt
SHAssocEnumHandlers
SHBindToFolderIDListParent
SHBindToFolderIDListParentEx
SHBindToObject
SHChangeNotifyRegisterThread
SHCreateAssociationRegistration
SHCreateDataObject
SHCreateDefaultContextMenu
SHCreateDefaultExtractIcon
SHCreateDefaultPropertiesOp
SHCreateItemFromIDList
SHCreateItemFromParsingName
SHCreateItemFromRelativeName
SHCreateItemInKnownFolder
SHCreateItemWithParent
SHCreateShellItemArray
SHCreateShellItemArrayFromDataObject
SHCreateShellItemArrayFromIDLists
SHCreateShellItemArrayFromShellItem
SHEvaluateSystemCommandTemplate
SHGetControlPanelPath
SHGetDriveMedia
SHGetIDListFromObject
SHGetKnownFolderIDList
SHGetKnownFolderPath
SHGetLocalizedName
SHGetNameFromIDList
SHGetNameFromPropertyKey
SHGetPathFromIDListEx
SHGetPropertyStoreFromIDList
SHGetPropertyStoreFromParsingName
SHGetStockIconInfo
SHGetTemporaryPropertyForItem
SHLocalStrDup
SHOpenWithDialog
SHQueryUserNotificationState
SHRegGetBoolValueFromHKCUHKLM
SHRegGetValueFromHKCUHKLM
SHRemoveLocalizedName
SHSetDefaultProperties
SHSetKnownFolderPath
SHSetTemporaryPropertyForItem
ShutdownBlockReasonCreate
ShutdownBlockReasonDestroy
ShutdownBlockReasonQuery
SleepConditionVariableCS
SleepConditionVariableSRW
StartThreadpoolIo
SubmitThreadpoolWork
TrySubmitThreadpoolCallback
UnregisterApplicationRecoveryCallback
UnregisterApplicationRestart
UnregisterPowerSettingNotification
UpdateProcThreadAttribute
UpdateLayeredWindowIndirect
VerifyScripts
VirtualAllocExNuma
WaitForThreadpoolIoCallbacks
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWaitCallbacks
WaitForThreadpoolWorkCallbacks
WakeAllConditionVariable
WakeConditionVariable
WindowFromPhysicalPoint
Wow64GetThreadContext
Wow64SetThreadContext
Wow64SuspendThread