Odyssey
驱动小牛
驱动小牛
  • 注册日期2004-12-15
  • 最后登录2008-03-29
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望115点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
阅读:1872回复:3

ZwWriteFile为什么INVALID_PARAMETER ?

楼主#
更多 发布于:2004-12-19 23:47
g_szContent[12]="Hello World!";

if(
ZwCreateFile(
&hFile,
FILE_APPEND_DATA,
&ObjAttr,
&iosb,
0,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_NON_DIRECTORY_FILE,
NULL,
0)==STATUS_SUCCESS)
{
ns=ZwWriteFile(
hFile,
NULL,
NULL,
NULL,
&iosb,
(PVOID)g_szContent,
12*sizeof(char),
NULL,
NULL);

ZwClose(hFile);

}

总是返回0xC000000D=STATUS_INVALID_PARAMETER
是什么原因啊?难道传给ZwWriteFile的buffer必须是ExAllocatePool返回的堆中的内存吗?

[编辑 -  12/20/04 by  Odyssey]
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
沙发#
发布于:2004-12-20 00:59
NTSTATUS  
  ZwCreateFile(
    OUT PHANDLE  FileHandle,
    IN ACCESS_MASK  DesiredAccess,
    IN POBJECT_ATTRIBUTES  ObjectAttributes,
    OUT PIO_STATUS_BLOCK  IoStatusBlock,
    IN PLARGE_INTEGER  AllocationSize  OPTIONAL,
    IN ULONG  FileAttributes,
    IN ULONG  ShareAccess,
    IN ULONG  CreateDisposition,
    IN ULONG  CreateOptions,
    IN PVOID  EaBuffer  OPTIONAL,
    IN ULONG  EaLength
    );

OUT PIO_STATUS_BLOCK  不能空(NULL) !
Odyssey
驱动小牛
驱动小牛
  • 注册日期2004-12-15
  • 最后登录2008-03-29
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望115点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-20 08:56
NTSTATUS  
  ZwCreateFile(
    OUT PHANDLE  FileHandle,
    IN ACCESS_MASK  DesiredAccess,
    IN POBJECT_ATTRIBUTES  ObjectAttributes,
    OUT PIO_STATUS_BLOCK  IoStatusBlock,
    IN PLARGE_INTEGER  AllocationSize  OPTIONAL,
    IN ULONG  FileAttributes,
    IN ULONG  ShareAccess,
    IN ULONG  CreateDisposition,
    IN ULONG  CreateOptions,
    IN PVOID  EaBuffer  OPTIONAL,
    IN ULONG  EaLength
    );

OUT PIO_STATUS_BLOCK  不能空(NULL) !


&iosb不会是空的。

我把ZwCreateFile中的参数改成FILE_SYNCHRONOUS_IO_NONALERT,就可以写进去了。这个函数是在一个Worker Thread里面调用的,是不是和这个有关?
stevphen
驱动牛犊
驱动牛犊
  • 注册日期2003-02-09
  • 最后登录2010-12-03
  • 粉丝0
  • 关注0
  • 积分573分
  • 威望87点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-02 16:13
将AllocationSize设为NULL
游客

返回顶部