locked
problem registering dll on windows mobile 6.1 RRS feed

  • Question

  • I have developed a direct show filter that I am able to register fine on windows mobile 6.0 however I fails to register on 6.1 witch I have tracked down to a missing dependency  with the help of this thread. 

    http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/thread/bf665807-0e6c-441c-a3ab-19999a877fd9/#f5235b59-ec3c-4c57-aa1b-fe593265e006 

    my question is having used the dependence walker with the continence of the the devices windows directory I get the flowing dependence errors however I get them for both 6.0 and 6.1  

    COREDLL.DLL
    OLE32.DLL
    OLEAUT32.DLL
    WS2.DLL

    can any one help me identify the dependence problem as my reading seams to show that Coredll.dll must be available
    Wednesday, June 17, 2009 7:54 AM

Answers

  • Hi,

    I have found the answer quoting from the folioing link 

    http://cegcc.sourceforge.net/docs/faq.h ... sMobile6.1

    18. DLL doesn't work with Windows Mobile 6.1 

    Memory management changes in Windows Mobile 6.1 cause some DLLs not to load. It has been suggested (see this blog that the underlying problem is a writable code section in the DLL, other reports suggest that the DLL size may be an issue.

    The workaround or solution (I'm not sure what to call it) that we have is to restrict this DLL to Slot 0 by adding the following registry key:

    [HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow] "MyDll.dll"=dword:1

    Obviously you need to change "MyDll" into the name of the DLL that causes the problem.
    Please note that using the this approach will force your entire DLL into Slot 0 and, it may prevent other modules from loading in that slot. Therefore, the above registry setting should be used with caution.

    so no need to recompile dll
    • Marked as answer by ceebmoj Monday, June 22, 2009 9:48 AM
    Monday, June 22, 2009 9:47 AM

All replies

  • Hi

    Further investigation shoes that the problem is caused when calling  loadLibery on 6.1 this works fin on 6.0  

    LoadLibrary(TEXT("MYdll.dll")

    witch returnes null and I get the folowing out put 

    Data Abort: Thread=9657e000 Proc=80096ef0 'NetVu Console Mobile.exe'
    AKY=00002001 PC=88057a30(NK.EXE+0x00027a30) RA=000010ac(???+0x000010ac) BVA=781d9000 FSR=00000407 

    does any one have any idears as to what I am doing wrong or how I can find out more about the data abort?
    Wednesday, June 17, 2009 9:34 AM
  • Hi,

    I have placed a Get Last Error directly after the LoadLibrary(TEXT("MYdll.dll")  and I am seeing a return value of 193 witch acording to msdn is ERROR_BAD_EXE_FORMAT this dll loads fine in 6.0 but not in 6.1
    Wednesday, June 17, 2009 12:51 PM
  • Hi ceebmoj,

    Just from the error message, it seems the dll is not valid on wm6.1, I sgguest you rebuilt mydlll.dll file which target to WM6.1 and try again.



    Best regards,
    Guang-Ming Bian - MSFT
    Please remember to mark the replies as answers if they help and unmark them if they provide no help
    Friday, June 19, 2009 6:14 AM
  • Hi,

    I have found the answer quoting from the folioing link 

    http://cegcc.sourceforge.net/docs/faq.h ... sMobile6.1

    18. DLL doesn't work with Windows Mobile 6.1 

    Memory management changes in Windows Mobile 6.1 cause some DLLs not to load. It has been suggested (see this blog that the underlying problem is a writable code section in the DLL, other reports suggest that the DLL size may be an issue.

    The workaround or solution (I'm not sure what to call it) that we have is to restrict this DLL to Slot 0 by adding the following registry key:

    [HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow] "MyDll.dll"=dword:1

    Obviously you need to change "MyDll" into the name of the DLL that causes the problem.
    Please note that using the this approach will force your entire DLL into Slot 0 and, it may prevent other modules from loading in that slot. Therefore, the above registry setting should be used with caution.

    so no need to recompile dll
    • Marked as answer by ceebmoj Monday, June 22, 2009 9:48 AM
    Monday, June 22, 2009 9:47 AM
  • Your mydll.dll is not valid for windows mobile 6.1.
    Saturday, June 27, 2009 7:38 PM