I've a Metro App (C#) which is running fine on ARM (Surface), but a component is not working on ARM, when I checked my app compatibility on Windows App Cert Kits its showing this:
AreFileApisANSI , CopyFileW , CreateFileMappingW , CreateFileW , CreateMutexW , CreateThread , ExitProcess , ExitThread , FatalAppExitA , FindFirstFileW , FreeEnvironmentStringsW , GetACP , GetCommandLineA , GetConsoleCP , GetConsoleMode , GetCurrentDirectoryW , GetDriveTypeW , GetEnvironmentStringsW , GetFileAttributesW , GetFileSize , GetFileType , GetFullPathNameA , GetFullPathNameW , GetModuleFileNameA , GetModuleFileNameW , GetModuleHandleExW , GetModuleHandleW , GetOEMCP , GetStartupInfoW , GetStdHandle , GetSystemInfo , GetTempFileNameW , GetTempPathW , GetTickCount , HeapQueryInformation , HeapValidate , InitializeCriticalSection , InitializeCriticalSectionAndSpinCount , LoadLibraryExW , LoadLibraryW , LocalFree , MapViewOfFile , MoveFileW , OpenFileMappingW , OutputDebugStringA , ReadConsoleW , RtlUnwind , SetConsoleCtrlHandler , SetCurrentDirectoryW , SetFilePointer , SetStdHandle , SetUnhandledExceptionFilter , Sleep , TerminateProcess , UnhandledExceptionFilter , WaitForSingleObject , WriteConsoleW , lstrlenA
These all the kernel32.dll functions are not supported for this application type MyLib.dll, and
SHGetSpecialFolderPathW in shell32.dll is not supported for this application type
while running on ARM.
Is there any alternative/equivalent lib for ARM? If it is please let me know.
Thanks in Advance
Prashant
You cannot call those functions on ARM. They are simply not available. In fact many of the functions aren't available even on the Intel Windows RT. For example, consider CreateFileMapping
. The documentation states clearly that this function is available on desktop apps only.
You'll have to find a way to live without these functions.