我写了一个类协作安装程序,通过.inf注册后,查看注册表正常,系统目录下也copy了我的.dll文件。 在发现我注册的Class GUID的设备后,我的DLL文件也确实被初始化了。但我注册的协作安装入口函数
却每次都不会被调用。不知道是怎么回事,希望各位先达能指点一二。 我的程序如下:
///////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
MessageBox(NULL,"(_)","ggj",MB_OK);
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
} ////////////////////入口函数
__declspec(dllexport) DWORD CALLBACK CoInstallEntryPoint(
IN DI_FUNCTION InstallFunction,
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData,
IN OUT PCOINSTALLER_CONTEXT_DATA Context)
{
MessageBox(NULL,"调用成功","ggj",MB_OK);
return NO_ERROR;
} 注册后,每次安装注册的设备,都会显示"(_)"的提示框——表示DLL被初始化了。
但无论我怎么改函数的声明格式,"调用成功"的提示框一直都没出现过——说明我注册的类协作安装入口函数CoInstallEntryPoint
没有参与到设备驱动的安装过程中。补充说明:
我的代码是加载在一个win32 DLL工程中编译生成的.dll文件。
却每次都不会被调用。不知道是怎么回事,希望各位先达能指点一二。 我的程序如下:
///////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
MessageBox(NULL,"(_)","ggj",MB_OK);
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
} ////////////////////入口函数
__declspec(dllexport) DWORD CALLBACK CoInstallEntryPoint(
IN DI_FUNCTION InstallFunction,
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData,
IN OUT PCOINSTALLER_CONTEXT_DATA Context)
{
MessageBox(NULL,"调用成功","ggj",MB_OK);
return NO_ERROR;
} 注册后,每次安装注册的设备,都会显示"(_)"的提示框——表示DLL被初始化了。
但无论我怎么改函数的声明格式,"调用成功"的提示框一直都没出现过——说明我注册的类协作安装入口函数CoInstallEntryPoint
没有参与到设备驱动的安装过程中。补充说明:
我的代码是加载在一个win32 DLL工程中编译生成的.dll文件。
解决方案 »
- ON_NOTIFY_RANGE怎么使用?error LNK2001: 无法解析的外部符号 "public: void __thiscall CmycomDlg:
- 有看过《深入解析windows操作系统第4版》的朋友给小弟指导一下。
- string 处理tcp 接收数据
- 如何把debug窗口的信息输出到一个文本?
- 请教:如何在一个不带Document的SDI中显示WEB页面?
- 列表框排序问题
- mfc中有关于随机数的类吗?
- 寻找一个游戏的源程序
- 学习VC是不是最好直接看别人编写的各类型(数据库、串口通信等等)的代码
- 小白求助: 线程读取数据库时如何停止?
- 如何用程序实现将磁盘驱动器映射成NTFS文件夹?
- 如何能让服务器连接数达到10000呢?
参考:
http://topic.csdn.net/u/20080131/15/63ae1e1a-183c-4934-b8b4-1b1d13c27192.html