Windows CE: LoadLibrary Fails with Error Code 193

来源:互联网 发布:淘宝360无线手柄 编辑:程序博客网 时间:2024/04/29 15:03

把DriverAPI.dll放NK里然后在应用层用以下方式调用

HMODULE hDll = (HMODULE)::LoadLibrary(TEXT("\\Windows\\DriverAPI.dll")); 
 if (NULL == hDll)
 {
  printf("LoadLibrary dll failed. errCod = %d\r\n", GetLastError());
 }

 

结果:提示LoadLibrary失败,代码193   %1 不是有效的 Win32 应用程序。

原因:

 

在platform.bib中做以下改动

; DriverAPI for APP   ---------------------------------SHK -> SHQ--------------------------
    DriverAPI.dll         $(_FLATRELEASEDIR)\DriverAPI.dll            NK SHQ
; -----------------------------------------------------------------------------

 

==============================================

终于解决问题了,虽然是一个小问题,却折磨了我两天。

原理: Q指定此DLL是在用户态,而K指定的是在内核态