VC++6.0下加载sys驱动的问题

tiancanyue 2009-11-14 10:01:24

想在VC++6.0下加载sys驱动,利用的是SCM的相关函数。

先从资源中将驱动释放,此时利用了一个函数:snprintf,我加了stdio.h头文件,可是为什么还是提示
error C2065: 'snprintf' : undeclared identifier?莫非不能用在cpp文件下?我试了下.c文件,好像还不行。

而其我加了windows.h,可是相关一些类型还是识别不了,仿佛头文件没加载进去一样,困惑,求解
...全文
553 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
幸福人生 2011-04-29
  • 打赏
  • 举报
回复
是不是在WINDWS下没有snprintf函数呀,那snprintf与_snprintf有什么区别吗
tiancanyue 2009-11-14
  • 打赏
  • 举报
回复
终于找到原因,原来是原来装DDK些sys的时候,VC-工具-选项里的INCLUDE将DDK的头文件放在了最上面!

只要将VC和MFC的头文件放在最上面就好了~
tiancanyue 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 waistcoat13 的回复:]
C/C++ code#include<windows.h>
#include<stdio.h>

SC_HANDLE schSCManager;// Open a handle to the SC Manager database.
schSCManager= OpenSCManager(
NULL,// local machine NULL,// ServicesActive ?-
[/Quote]

多谢,原来不是HANDLE,而是SC_HANDLE,多谢多谢,过会结贴~
MoXiaoRab 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 waistcoat13 的回复:]
引用 2 楼 tr0j4n 的回复:
_snprintf


版主不要跟我马甲抢分啊
[/Quote]
杯具。我今天才得了60分。不抢怎么行
WaistCoat13 2009-11-14
  • 打赏
  • 举报
回复
#include <windows.h>
#include <stdio.h>

SC_HANDLE schSCManager;

// Open a handle to the SC Manager database.

schSCManager = OpenSCManager(
NULL, // local machine
NULL, // ServicesActive database
SC_MANAGER_ALL_ACCESS); // full access rights

if (NULL == schSCManager)
printf("OpenSCManager failed (%d)\n", GetLastError());

schService = CreateService(
schSCManager, // SCManager database
TEXT("Sample_Srv"), // name of service
lpszDisplayName, // service name to display
SERVICE_ALL_ACCESS, // desired access
SERVICE_WIN32_OWN_PROCESS, // service type
SERVICE_DEMAND_START, // start type
SERVICE_ERROR_NORMAL, // error control type
szPath, // path to service's binary
NULL, // no load ordering group
NULL, // no tag identifier
NULL, // no dependencies
NULL, // LocalSystem account
NULL); // no password

if (schService == NULL)
{
printf("CreateService failed (%d)\n", GetLastError());
return FALSE;
}
else
{
CloseServiceHandle(schService);
return TRUE;
}
tiancanyue 2009-11-14
  • 打赏
  • 举报
回复
error C2664: 'CreateServiceA' : cannot convert parameter 1 from 'void *' to 'struct SC_HANDLE__ *'

程序:
HANDLE SCManager = 0;
service = CreateService(SCManager, SERVICENAME, SERVICENAME,SERVICE_ALL_ACCESS,SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START,SERVICE_ERROR_NORMAL,sysfilepath, NULL,NULL,NULL,NULL,NULL);



这是怎么回事?
WaistCoat13 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tr0j4n 的回复:]
_snprintf
[/Quote]

版主不要跟我马甲抢分啊
WaistCoat13 2009-11-14
  • 打赏
  • 举报
回复
VC支持的是_snprintf
MoXiaoRab 2009-11-14
  • 打赏
  • 举报
回复
_snprintf
WaistCoat13 2009-11-14
  • 打赏
  • 举报
回复
用_snprintf
郁金香驱动教程\驱动学习笔记 ..............\............\0前言.doc ..............\............\1.1.1 安装VC++6.0 -(1课).doc ..............\............\1.1.2 安装VS2003-VC++7.0 -(2课).doc ..............\............\1.1.3 安装VS2008-VC++9.0 -(3课).doc ..............\............\1.1.4 安装VC助手 -(4课).doc ..............\............\1.1.5 安装DDK -(5课).doc ..............\............\1.2.1 VC6环境编译驱动 -(6课).doc ..............\............\1.2.2 VS2003环境编译驱动 -(7课).doc ..............\............\1.2.3 VS2008环境编译驱动 -(8课).doc ..............\............\1.3.1编写一个名为DDK_HelloWorld简单的驱动 -(9课).doc ..............\............\1.3.2为DDK_HelloWorld添加卸载驱动例程 -(10课).doc ..............\............\1.3.3 用工具过驱动保护(确定学习方向) -(11课).doc ..............\............\1.3.4为DDK_HelloWorld添加设备例程 -(12课).doc ..............\............\1.3.5VM+windbg安装 -(13课).doc ..............\............\1.3.6实战用windbg调试自己驱动DDK_HelloWorld -(14课).doc ..............\............\1.3.7DDK_HelloWorld卸载例程细化 -(15课).doc ..............\............\1.3.8为DDK_HelloWorld添加默认派遣例程 -(16课).doc ..............\............\1.4.1需要具备的理论知识 -(17课).doc ..............\............\1.4.2读出SSDT表当前函数地址 -(18课).doc ..............\............\1.4.3读出原函数地址 -(19课).doc ..............\............\1.4.4向指定地址写入代码 -(20课).doc ..............\............\1.4.5绕过SSDT驱动保护 -(21课).doc ..............\............\1.6 NT式驱动的安装 -(22课).doc ..............\............\1.7 NT式驱动的卸载 -(23课).doc ..............\............\1.8 驱动代码中C和C++代码区别 -(24课).doc ..............\............\1.9、再谈VC环境配置 -(25课).doc ..............\............\2.1手动加载NT式驱动(非工具) -(26课).doc ..............\............\2.2.2、实战EXE和SYS通信 -(28课).doc ..............\............\2.2、应用程序与驱动交互访问(缓冲模式) -(27课).doc ..............\............\2.3、应用程序与驱动交互访问(直接模式) -(29课).doc ..............\............\2.4、应用程序与驱动交互访问(其它模式) -(30课).doc ..............\............\2.5、再谈SSDT HOOK驱动保护原理 -(31课).doc ..............\............\2.6、自写驱动保护XX进程(HOOK SSDT) -(32课).doc

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧