2009-01-11:

Windows 7 - lista zmian w exportach kernel32.dll

win7:windows:winapi:easy:re
W końcu od wczoraj oficjalnie (bo nieoficjalnie już od jakiegoś czasu) można ściągnąć Windows 7 wersję BETA. Ściągnąłem, zainstalowałem (ładnie wygląda), i zacząłem grzebać.

Na pierwszy ogień poszły exporty w DLL'ce kernel32.dll. Okazuje się że (porównane względem Vista SP1) usunięto trzy funkcje:

< ConsoleIMERoutine - Nieudokumentowana funkcja mająca coś wspólnego z językami azjatyckimi i procesem conime.exe
< GetCPFileNameFromRegistry - Kolejne nieudokumentowana funkcja - pobieranie nazwy pliku .nls dla danej strony kodowej; warto rzucić okiem na implementacje w projekcie ReactOS (@ google/codesearch)
< NlsConvertIntegerToString - Prawie że wrapper na RtlIntegerToUnicodeString

Natomiast dodano sporo nowych exportów, z których część jest tylko forward'ami do innych DLL'ek, w których ich implementacja wygląda tak: retn X (ale oczywiście nie wszystkei są takie). Na razie sama lista, gdy dowiem się coś więcej o funkcjach to i napisze coś więcej ;>

> AddIntegrityLabelToBoundaryDescriptor
> BaseCheckAppcompatCacheEx
> BaseDllReadWriteIniFile
> BaseFormatObjectAttributes
> BaseFormatTimeOut
> BaseGetNamedObjectDirectory
> BaseSetLastNTError
> BaseVerifyUnicodeString
> Basep8BitStringToDynamicUnicodeString
> BasepAllocateActivationContextActivationBlock
> BasepAnsiStringToDynamicUnicodeString
> BasepFreeActivationContextActivationBlock
> BasepIsRealtimeAllowed
> BasepMapModuleHandle
> CopyExtendedContext
> CreateRemoteThreadEx
> FindStringOrdinal
> GetActiveProcessorCount
> GetActiveProcessorGroupCount
> GetCurrentProcessorNumberEx
> GetEnabledExtendedFeatures
> GetEraNameCountedString
> GetExtendedContextLength
> GetExtendedFeaturesMask
> GetLogicalProcessorInformationEx
> GetMaximumProcessorCount
> GetMaximumProcessorGroupCount
> GetNumaAvailableMemoryNodeEx
> GetNumaNodeNumberFromHandle
> GetNumaNodeProcessorMaskEx
> GetNumaProcessorNodeEx
> GetNumaProximityNodeEx
> GetProcessGroupAffinity
> GetProcessPreferredUILanguages
> GetProcessorSystemCycleTime
> GetSystemInfoInternal
> GetThreadErrorMode
> GetThreadGroupAffinity
> GetThreadIdealProcessorEx
> InitializeExtendedContext
> K32EmptyWorkingSet
> K32EnumDeviceDrivers
> K32EnumPageFilesA
> K32EnumPageFilesW
> K32EnumProcessModules
> K32EnumProcessModulesEx
> K32EnumProcesses
> K32GetDeviceDriverBaseNameA
> K32GetDeviceDriverBaseNameW
> K32GetDeviceDriverFileNameA
> K32GetDeviceDriverFileNameW
> K32GetMappedFileNameA
> K32GetMappedFileNameW
> K32GetModuleBaseNameA
> K32GetModuleBaseNameW
> K32GetModuleFileNameExA
> K32GetModuleFileNameExW
> K32GetModuleInformation
> K32GetPerformanceInfo
> K32GetProcessImageFileNameA
> K32GetProcessImageFileNameW
> K32GetProcessMemoryInfo
> K32GetWsChanges
> K32GetWsChangesEx
> K32InitializeProcessForWsWatch
> K32QueryWorkingSet
> K32QueryWorkingSetEx
> LoadAppInitDlls
> LocateExtendedFeature
> LocateLegacyContext
> NotifyMountMgr
> PowerClearRequest
> PowerCreateRequest
> PowerSetRequest
> QueryIdleProcessorCycleTimeEx
> QueryThreadpoolStackInformation
> QueryUnbiasedInterruptTime
> RaiseFailFastException
> ResolveLocaleName
> SetExtendedFeaturesMask
> SetProcessPreferredUILanguages
> SetSearchPathMode
> SetThreadErrorMode
> SetThreadGroupAffinity
> SetThreadIdealProcessorEx
> SetThreadpoolStackInformation
> SetWaitableTimerEx
> SortCloseHandle
> SortGetHandle
> TryAcquireSRWLockExclusive
> TryAcquireSRWLockShared
> WerRegisterRuntimeExceptionModule
> WerUnregisterRuntimeExceptionModule


K tyle.

Comments:

2009-01-11 03:17:58 = oshogbo//vx
{
O qtwa aż tyle ich ?
Dziwna jest ta polityka Windowsa po co robic tuzin funkcji robiących to samo ?
}
2009-01-11 14:51:54 = j00ru
{
ciekawe ;>
}
2009-01-13 23:54:00 = Gynvael Coldwind
{
Deus dał znać że funkcje K32* zostały przeniesione z psapi.dll. Ciekawe ;>

@osho:
MS lubi dużo funkcji ;> Po za tym one zawsze się czymś różnią (zazwyczaj liczbą parametrów ;D)
}

Add a comment:

Nick:
URL (optional):
Math captcha: 10 ∗ 9 + 9 =