3648|13

82

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

XXX_init函数加载不成功? [复制链接]

dll入口函数BOOL WINAPI
DllEntryPoint(HANDLE hinstDLL,
     DWORD dwReason,
     LPVOID lpvReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
  RETAILMSG(1,(TEXT("STRINGS:***@@****DLL_PROCESS_ATTACH******\n")));
  return TRUE;
case DLL_THREAD_ATTACH:
  RETAILMSG(1,(TEXT("STRINGS:***@@***DLL_THREAD_ATTACH*******\n")));
  break;
case DLL_THREAD_DETACH:
  RETAILMSG(1,(TEXT("STRINGS:***@@***DLL_THREAD_DETACH******\n")));
   break;
case DLL_PROCESS_DETACH:
  RETAILMSG(1,(TEXT("STRINGS:**@@**DLL_PROCESS_DETACH******\n")));
  break;
}
     return true;
}
该函数也没有打印信息。
XXX_init()函数
DWORD ITT_Init(DWORD dwContext)
{ // if you drive a idiographic device,add oter code ep: int,hardwareinit and so on
        DWORD   IDINTThread;
        RETAILMSG(1,(TEXT("MYSTRINGGS:**@@*******InitKey_Init***********\n")));
        //clear the ram which is used for this dll

        InitializeAddresses();

        Key_Key_Thread = CreateThread(0,0,(LPTHREAD_START_ROUTINE)Key_KeyThread_Fun,0,0,&IDINTThread);
        if(!Key_Key_Thread)
        {
                RETAILMSG(1,(TEXT("@CreateThread  faile \r\n")));
                return FALSE;
        }
        else
        {
                RETAILMSG(1,(TEXT("@CreateThread  OK \r\n")));
        }
        return TRUE;

}

static DWORD Key_KeyThread_Fun()
{
        INTInit();
        Key_KeyIntr_Event = CreateEvent(NULL,false,false,NULL);
        if(!Key_KeyIntr_Event)
        {
                RETAILMSG(1,(TEXT("@CreateEvent  faile \r\n")));
                return FALSE;
        }
        else
        {
                RETAILMSG(1,(TEXT("@CreateEvent  OK \r\n")));
        }
       
        if(!KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR,&INTIrq,sizeof(INTIrq),&INTIntr,sizeof(INTIntr),NULL))
        {
                RETAILMSG(1,(TEXT("@ERROR:kerneliocontrol.\r\n")));
                return(FALSE);
        }
        else
        {
                RETAILMSG(1,(TEXT("@KernelioControl OK\r\n")));
        }

        if(!InterruptInitialize(INTIntr,Key_KeyIntr_Event,NULL,0))
        {
                RETAILMSG(1,(TEXT("@Interruptinitialize failed \r\n")));
                return FALSE;
        }
        else
        {
                RETAILMSG(1,(TEXT("@Interruptinitialize OK \r\n")));
        }
       
        while(1)
        {
                WaitForSingleObject(Key_KeyIntr_Event,INFINITE);
                RETAILMSG(1,(TEXT("@Thread id running :times == %d\r\n"),i1));
                i1++;
                InterruptDone(INTIntr);
        }
}

最新回复

导出函数有问题么?我是指ITT_Init会不会没有导出呀?  详情 回复 发表于 2009-9-28 19:34
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
DLL干脆没有加载?或者DLL加载的是老版本的?
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
就是没有加载啊,怎么才能让他加载?
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
要在platform.reg和platform.bib加上你DLL的信息,如果是在6。0上,还要加上K的flag
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(中级)

5
 
platform.reg
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\XXX]
   "DLL"="ITT.dll"
   "Prefix"="ITT"
   "Index"=dword:1
   "Order"=dword:1
   "FriendlyName"="XXXDriver"

platform.bib
  XXX.dll                                $(_FLATRELEASEDIR)\XXX.dll              NK  SH
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
要么是注册表写的有问题。。再就是你的bib文件写的有问题
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 3 楼 wlc311 的回复:
要在platform.reg和platform.bib加上你DLL的信息,如果是在6。0上,还要加上K的flag

还要加上K的flag,是什么意思
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 3 楼 wlc311 的回复:
要在platform.reg和platform.bib加上你DLL的信息,如果是在6。0上,还要加上K的flag


   同意!!!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
wincd6.0 注册表。
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\INTl]
        "Dll"="INTkey.dll"   
        "Prefix"="ITT"  
            "Index"=dword:1
            "Order"=dword:0

bib文件:InitKey.dll $(_FLATRELEASEDIR)\InitKey.dll          NK  SH
有错吗?
"FriendlyName"="XXXDriver"
这句是做什么的
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

10
 
没有看出来什么问题,楼主可以先用下面的方法确定是否最终build到image中,以及注册表是否生效:
1. viewbin -o -nk.bin(这个要看你用你最终生成image的名字)
2. 看一下release目录下的rege***.ini里有没有你刚才提到的注册项
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
CE6.0不是SH吧  SHK
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 8 楼 jiereliyi 的回复:
wincd6.0 注册表。
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\INTl]
"Dll"="INTkey.dll"? ?
"Prefix"="ITT"?
? ? "Index"=dword:1
? ? "Order"=dword:0

bib文件:InitKey.dll $(_FLATRELEASEDIR)\InitKey.dll? ? ? ? ? NK? SH
有错吗?
"FriendlyName"="XXXDriver"
这句是做什么的


这里有个错误,已改正还是不可以
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 9 楼 guopeixin 的回复:
没有看出来什么问题,楼主可以先用下面的方法确定是否最终build到image中,以及注册表是否生效:
1. viewbin -o -nk.bin(这个要看你用你最终生成image的名字)
2. 看一下release目录下的rege***.ini里有没有你刚才提到的注册项

都被包含进去了。
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 jiereliyi 的回复:
引用 9 楼 guopeixin 的回复:
没有看出来什么问题,楼主可以先用下面的方法确定是否最终build到image中,以及注册表是否生效:
1. viewbin -o -nk.bin(这个要看你用你最终生成image的名字)
2. 看一下release目录下的rege***.ini里有没有你刚才提到的注册项

都被包含进去了。

导出函数有问题么?我是指ITT_Init会不会没有导出呀?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表