Error Function @ Ordinal 963 Missing
doesn't match with the current Windows CE binary image you are using to run this application, your application could not be launched and you have an ordinal error : "Function @ Ordinal 1788 missing in Module 'coredll.dll'"That's mean that your application is using a Win32 API that was available in the SDK but is definitively not available in your image. So a Component is missing in the OSDesign.How could I find the missing function ?To find the missing component you have to find where ordinals are defined for the coredll.dll (the Dll containing the most common Win32 APIs). When you are building a Dynamic Library (DLL) you always have to provide the entry points of the final binary file, as you can have private and public procedures in a DLL, the public functions are definied in a def file using by the linker to export those entry points.For the Coredll.dll library each function is associated to an ordinal, so in the Coredll.def file you will find all the Win32 entry points.Where to locate the coredll.def file ?The Coredll.def file will be proceed during the sysgen phase of the build, so depending on the components you selected in the OSDesign some functions will be disabled by CESYSGEN filtering. That's the main goal of the sysgen. So instead of looking at the resultant file, you have to look at the original one.This file is located in :_WINCEROOT\PUBLIC\COMMON\OAK\LIB\_CPUDEPPATHDepending on the processor family of your target device, you will not have the same content as some functions have aliases depending on the processor for which it is compiled for.How could I identify the missing component ?Open the coredll.def file corresponding to the processor family you are using and search for the missing ordinal. In our case we are looking for ordinal 1788.....; @CESYSGEN IF SHELLSDK_MODULES_AYGSHELL ; AYGSHELL thunks
(default) Set font size to large Set font size to x-large Set layout to "Jello" (min-width:770px \ max-width:1200px) (default) Set layout to "Fluid" (width: 100%) Set layout to "Fixed" (width: 760px) Place navigation on the right of the screen (default) Place navigation on the left of the screen Close Window Personalize Text Size Medium Font Size (Default) Large Font Size X-Large Font Size Layout Jello Layout Fluid Width Layout Fixed Width Layout Navigation Position Left Navigation Right Navigation Bruce Eitman Windows Embedded Musings (CE/Compact/Standard) << Windows CE: Determining if an API is Available | Home | Windows CE: How to Break a System with Two Lines of Code >> Windows CE: ERROR: function @ Ordinal 342 missing You try to run your application on a new http://nicolasbesson.blogspot.com/2007/09/how-to-fix-ordinal-error.html Windows CE device for the first time and BAM you get hit with the following debug output: ERROR: function @ Ordinal 342 missing !!! Please Check your SYSGEN variable !!! So you are wondering what that means. Ordinal? SYSGEN variable? Sounds ominous doesn’t it? The first line says that the function at ordinal 342 is missing. What that means is that a function that your application or DLL plans to call is missing from the OS. If you are new to Windows CE, it is important to http://geekswithblogs.net/BruceEitman/archive/2009/03/23/windows-ce-error-function--ordinal-342-missing.aspx understand that Windows CE is a componentized OS, which is just a fancy way to say that some features of the OS can be left out at the OEM’s discretion. In this case, the feature that supports the function at ordinal 342 has been left out of the OS that you are running on. Since I haven’t really answered the question “what does function at ordinal 342 mean?” I better do that. Functions in a DLL can either be identified by their function name, or by a numeric value or ordinal. In the case of many of the DLLs supplied by Microsoft, the functions are identified by their ordinal. The good news for the OEM is that the ordinals can be used to identify the function, but the bad news for application developers is that they can’t. I will look at solutions to that later. The second line says to check your SYSGEN variables. I will keep this one simple, if you don’t already know what that means, or at least have an idea what a SYSGEN variable is, then you are not the OEM or OS developer and there isn’t much you can do yourself. See solutions below. If you do have an idea what a SYSGEN variable is, then of course you already have an idea what to do. If you are still reading, what this means is that the OEM can add the function and build a new OS if they want to support the missing function. The Problem The basic problem is that the application was bu
as we only want a corelicense for our system. So, I removed the catalog item and broke http://microsoft.public.windowsce.embedded.narkive.com/7OqMqygL/problem-removing-wordpad-from-project-with-ce5-0-platform-builder the project.When I run our main application I get http://m.blog.naver.com/PostView.nhn?blogId=freeljk&logNo=70021514658 the following:4294786205 PID:cda51562 TID:cda514a2 0x8da51980: ERROR: function @ Ordinal963 missing in Module 'coredll.dll'4294786205 PID:cda51562 TID:cda514a2 0x8da51980: !!! Please Check yourSYSGEN variable !!!Well, this turns out to be functions related to the GWES_MGPRINT variablethat is deleted when you remove error function WordPad.I don't know if this variable was in the project before I added WordPad and,if so, how to put it back again.Can anyone tell me what has gone wrong or I have done wrong here - it's costme a day to debug this far.Thanks for any info.Sean error function @ wrx03ppp 2005-03-07 22:19:03 UTC PermalinkRaw Message Well, a little more information.It seems that after removing WordPad, SYSGEN_PRINTING is not set and thatthis is needed to bring in the missing ordinal. I added the PCL PrinterDriver catalog item as this causes SYSGEN_PRINTING=1 at some point (?) in thebuild process.I'd like to know why the os is trying to access StartDocW of GWES_MGPRINTwhen the system loads a dll. I have no interest in printing for this projectand would like to remove this dependency.Or is there a better way to set GWES_MGPRINT=1 or SYSGEN_PRINTING=1 withoutincluding the sample printer driver. Is it legitmate to set these variablesin one of the bib files.Any comments appreciated.Sean 1 Reply 13 Views Switch to linear view Disable enhanced parsing Permalink to this page Thread Navigation wrx03ppp 2005-03-07 20:45:05 UTC wrx03ppp 2005-03-07 22:19:03 UTC about - legalese Loading...