winapi – 哪种api可以在Windows中安装文件系统驱动程序?
发布时间:2020-12-14 01:36:04 所属栏目:Windows 来源:网络整理
导读:我想在 Windows XP下安装Ext2分区的驱动程序,安装将使用自编写的Inno Setup脚本完成.我需要为此调用哪些API函数?从我到目前为止googled我似乎不需要一个inf文件,因此没有调用SetupCopyOEMInf.但我不知道该怎么办…… 请赐教! 解决方法 当你问到安装驱动程
我想在
Windows XP下安装Ext2分区的驱动程序,安装将使用自编写的Inno Setup脚本完成.我需要为此调用哪些API函数?从我到目前为止googled我似乎不需要一个inf文件,因此没有调用SetupCopyOEMInf.但我不知道该怎么办……
请赐教! 解决方法
当你问到安装驱动程序需要哪些API函数时,我用一些代码来加载C中的驱动程序:
bool LoadDriver( const char * cpDriverPath,const char * cpDriverName ) { SC_HANDLE hSCService; SC_HANDLE hSCManager; hSCManager = OpenSCManager( NULL,NULL,SC_MANAGER_ALL_ACCESS ); if( hSCManager == NULL ) return false; hSCService = CreateService( hSCManager,cpDriverName,SERVICE_ALL_ACCESS,SERVICE_KERNEL_DRIVER,SERVICE_DEMAND_START,SERVICE_ERROR_NORMAL,cpDriverPath,NULL ); if( hSCService == NULL && GetLastError() == ERROR_SERVICE_EXISTS ) hSCService = OpenService( hSCManager,SERVICE_ALL_ACCESS ); if( hSCService == NULL ) return false; if( !StartService( hSCService,NULL ) ) { if( GetLastError() != ERROR_SERVICE_ALREADY_RUNNING ) return false; } CloseServiceHandle( hSCManager ); CloseServiceHandle( hSCService ); return true; } 您可能希望将SERVICE_ BOOT_ START用于文件系统驱动程序而不是SERVICE_ DEMAND_ START.如果您不能编写Inno脚本来执行上述操作,您可以始终从上面创建一个小EXE并让Inno将其作为后期安装运行. 如果您想沿着INF路线走下去,请查看this Microsoft article. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- WP7上的DatabaseSchemaUpdater错误
- Windows 10版本business_editions和consumer_edi
- This application failed to start because it c
- windows – 如何通过apt-cyg安装cygwin / X
- 用于从远程计算机复制文件的Windows实用程序
- windows-server-2016 – 是否可以在池中使用多个
- 如何在Windows 7上运行的Java应用程序选择使用哪
- windows-phone-7 – ListPicker – 当完整页面视
- Windows环境安装与配置RocketMQ
- 如何确定WiX安装程序是安静的还是交互式的?
热点阅读