2014部分函数及参数说明.docVIP

  • 4
  • 0
  • 约6.39千字
  • 约 10页
  • 2016-12-25 发布于北京
  • 举报
一、CreateFileForMapping 函数名称:??????? CreateFileForMapping 系统要求:?????? Windows CE 1.01 and later. 头文件:???????? Winbase.h. 链接库:???????? Coredll.lib 函数功能:?????? 生成用于映射的文件句柄。 参数: 第1个参数:??? LPCTSTR lpFileName ?????????????? 文件名指针。 第2个参数:??? DWORD dwDesiredAccess ?????????????? 文件访问模式。GENERIC_READ、GENERIC_WRITE等。 第3个参数:??? DWORD dwShareMode ?????????????? 共享模式,不支持。忽略设置为0。 第4个参数:??? LPSECURITY_ATTRIBUTES lpSecurityAttributes ?????????????? 不支持。为NULL。 第5个参数:??? DWORD dwCreationDisposition ?????????????? 生成方式。 第6个参数:??? DWORD dwFlagsAndAttributes ?????????????? 文件标志和属性。 第7个参数:??? HANDLE hTemplateFile ?????????????? 临时文件句柄。忽略。 返回值:?????? 成功:映射文件句柄。 ?????????????? 失败:INVALID_HANDLE_VALUE。 说明: 01. 桌面平台没有专门用于映射文件句柄生成的函数,直接用CreateFile就 ??? 可以了。 ?NtGdiSendInput、NtSetWindowsHookExGDI函数分别用于拦截键盘鼠标模拟输入 和全局钩子?ZwCreateFile 原型: NTSYSAPI NTSTATUS NTAPI 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- FileHandle--------这是一个指向一个变量的指针,用来最后存放file object handle的 IoStatusBlock-----这个也是个指针变量,指向一个叫做IO_STATUS_BLOCK的结构体,最后函数返回的时候,这个结构体的成员 里面要填充一些值,具体的呢就是完成状态,请求操作的一些信息,最重要的一个成员就是Information成员,他显示了函数对文件的处理方式,他的值 可能是下面的几个: FILE_SUPERSEDED(替代) FILE_OPENED(打开) FILE_CREATED(创建) FILE_OVERWRITTEN(重写) FILE_EXISTS(存在) FILE_DOES_NOT_EXIST(文件不存在) 再看下这个IO_STATUS_BLOCK的具体结构: typedef struct _IO_STATUS_BLOCK { union { NTSTATUS Status; PVOID Pointer; } DUMMYUNIONNAME; ULONG_PTR Information; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 通过上述的两个输出的参数我们可以看到,这个ZwCreateFile函数就是返回创建好的文件对象的句柄,然后返回一个期间处理的方式。 IN- DesiredAccess----这个参数指定一个访问权限,大概有以下的权限: FILE_ANY_ACCESS 0x0000 // any type FILE_READ_ACCESS 0x0001 // file pipe FILE_READ_DATA 0x0001 // file pipe FILE_LIST_DIRECTORY 0x0001 // directory FILE_WRITE_ACCESS 0x0002 // file pip

文档评论(0)

1亿VIP精品文档

相关文档