[Tilt, TyTN II, MDA Vario III Windows Mobile ROM De] GSLEON3:
Ok, I've seen numerous questions about the app called HTC Performance & have disassembled the executable. While my knowledge of these thing is by no means great, I have found some very interesting functions.

Maybe someone with more reverse engineering & code experience can take a look, but with IDA Pro there are some very interesting functions & strings.

Some of the calls & code are deprecated & no longer used in WM6 + but some of them are.

It is possible, especially for evB equiped roms, that this prgram acts like a server of sorts for some programs & processes. But being as it is initiated with Smartphone only functions I doubt it.

some of the more interesting functions in the HTC Performance app are:

SHInitExtraControls Which appears to be for Smartphone only

GetSystemMetrics WM6 Pro valid - Gets System Width & Heigth in pixels. Posible uses include program optimization based on the appropriate pixel returns

CreateMutexW - coredll - used to connect to core via net cf for obtaining device info- Usually eVB related apps use to call coredll info

memmove = takes more memory than memcpy but may be used to ensure unicode strings not used on odd memory addresses, this could increase speed on apps that incorrectly do this.

InterlockedCompareExchange, InterlockedDecrement, InterlockedExchange, InterlockedExchangeAdd, and InterlockedIncrement = functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. The threads of different processes can use this mechanism if the variable is in shared memory.

InterlockedCompareExchange = function performs an atomic comparison of the Destination value with the Comperand value. If the Destination value is equal to the Comperand value, the Exchange value is stored in the address specified by Destination. Otherwise, no operation is performed

YAXPAX = can speed up access of written C++ Code

ReleaseMutex = Mutex functions are used to release shared functions

EnumWindows = (..) to execute a task. EnumWindows (..) enumerates through all existing windows (visible or not) and provides a handle to all of the currently open top-level windows. Each time a window is located, the function calls the delegate (named IECallBack) which in turn calls the EnumWindowCallBack (..) function and passes the window handle to it. Not sure howthis is used though.

LoadAcceleratorsW = ??? Appears to be old CE function. Deprecated???

realloc = String Optimization

malloc = RAM Allocation

GetDeviceCaps = gets dev info, can be used to the optimize redraw based on device constraints already known

LocalReAlloc = This function changes the size or the attributes of a specified local memory object. The size can increase or decrease.

EnterCriticalSection = The threads of a single process can use a critical section object for mutual-exclusion synchronization. The process is responsible for allocating the memory used by a critical section object, which it can do by declaring a variable of type CRITICAL_SECTION. can grant exclusive access to memory

ReleaseDC = This function releases a device context (DC), freeing it for use by other applications. The effect of ReleaseDC depends on the type of device context.

Again, I am not a programmer, I know a few things, & am pretty competent with the lower operations of firmware, but the rest of the CE code is not my cup of tea. There are many more functions in HTC Performance. These are only a few functions found after a brief 20 minute peak.

But maybe, maybe, some of the function calls can help us to understand if this app can be moddified to properly function on the Kaiser.

It is possible that on some evB enabled apps, that maybe some of the HTC Performance app are retained & possibly function, that is pure speculation though, & again I doubt it.

Any CE code experts out there wanna take a look? I have, & based on what I've seen, I'll have to say FICTION!