//这是我驱动程序中的代码
RtlInitUnicodeString(&uniNtNameString, L"\\Device\\Jow");
status = IoCreateDevice( //这个函数没问题,成功的
IN DriverObject,
IN FILE_DEVICE_FILE_SYSTEM,
IN &uniNtNameString, //Name
IN 0x15,//NULL
IN 0,
IN FALSE,
OUT &pFilterDeviceObject
);
if(STATUS_SUCCESS == status)
{
DbgPrint("创建设备成功"); }
else
{
DbgPrint("创建设备失败");
}
//这是我R3层的代码
hDevice = CreateFile("//./Jow", // drive to open //这个函一直失败
0, // no access to the drive
FILE_SHARE_READ | // share mode
FILE_SHARE_WRITE,
NULL, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
NULL); // do not copy file attributes
if (hDevice == INVALID_HANDLE_VALUE) // cannot open the drive
{
AfxMessageBox("打开设备失败"); //失败到这一行
return;
}
现在我试了好多的驱动名字 CreateFile 一直失败,我想知我用IoCreateDevice创建的设备,到底叫什么名字。
换一个问题吧,我想知道如果我用
IoCreateSymbolicLink(&LinkString,&NameString);
这个函数创建的话,LinkString 这个参数是多少才正确?
RISEBY
饮歌长啸