-
-
[求助]r0判断文件存在否
-
发表于: 2011-10-31 20:23 2963
-
IO_STATUS_BLOCK iostatus;
OBJECT_ATTRIBUTES oa;
UNICODE_STRING pathnameW;
ANSI_STRING pathnameA;
NTSTATUS status;
HANDLE hfile =NULL;
CHAR szFileNameL[MAXPATHLEN];
strcpy(szFileNameL,"\\\\DosDevices\\\\");
//_asm int 3
strcat(szFileNameL,szFileName1);
RtlInitAnsiString(&pathnameA,szFileNameL );
RtlAnsiStringToUnicodeString(&pathnameW,&pathnameA,TRUE);
InitializeObjectAttributes(&oa, &pathnameW, OBJ_CASE_INSENSITIVE, NULL, NULL);
status = ZwCreateFile(&hfile, DELETE, &oa, &iostatus, NULL, 0, FILE_SHARE_READ,FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT, NULL,0);
RtlFreeUnicodeString(&pathnameW);
if(!NT_SUCCESS(status))
{
return 0;
}
if(hfile)
{
ZwClose(hfile);
return 1;
}else
{
return 0;
}
return 0;
以上代码无法正确判断文件存在或者不存在。应该怎么改呢?求助!!!
解决了,疏忽引起。。
OBJECT_ATTRIBUTES oa;
UNICODE_STRING pathnameW;
ANSI_STRING pathnameA;
NTSTATUS status;
HANDLE hfile =NULL;
CHAR szFileNameL[MAXPATHLEN];
strcpy(szFileNameL,"\\\\DosDevices\\\\");
//_asm int 3
strcat(szFileNameL,szFileName1);
RtlInitAnsiString(&pathnameA,szFileNameL );
RtlAnsiStringToUnicodeString(&pathnameW,&pathnameA,TRUE);
InitializeObjectAttributes(&oa, &pathnameW, OBJ_CASE_INSENSITIVE, NULL, NULL);
status = ZwCreateFile(&hfile, DELETE, &oa, &iostatus, NULL, 0, FILE_SHARE_READ,FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT, NULL,0);
RtlFreeUnicodeString(&pathnameW);
if(!NT_SUCCESS(status))
{
return 0;
}
if(hfile)
{
ZwClose(hfile);
return 1;
}else
{
return 0;
}
return 0;
以上代码无法正确判断文件存在或者不存在。应该怎么改呢?求助!!!
解决了,疏忽引起。。
赞赏
他的文章
- NDIS 程序,可以支持所有的网卡吗?通用性如何? 2327
- [求助]关于应用程序入口点地址和获取控制权 3518
- [求助]有没有人知道? 2545
- vbs的路径空格问题 6074
- [求助]ring0里怎么获取启动目录呢? 3935
看原图
赞赏
雪币:
留言: