我写了一个类协作安装程序,通过.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文件。