欢迎来到天天文库
浏览记录
ID:37939701
大小:57.50 KB
页数:10页
时间:2019-06-03
《部分API函数及参数说明》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、CreateFileForMapping函数名称: CreateFileForMapping系统要求: WindowsCE1.01andlater.头文件: Winbase.h.链接库: Coredll.lib函数功能: 生成用于映射的文件句柄。参数:第1个参数: LPCTSTRlpFileName 文件名指针。第2个参数: DWORDdwDesiredAccess 文件访问模式。GENERIC
2、_READ、GENERIC_WRITE等。第3个参数: DWORDdwShareMode 共享模式,不支持。忽略设置为0。第4个参数: LPSECURITY_ATTRIBUTESlpSecurityAttributes 不支持。为NULL。第5个参数: DWORDdwCreationDisposition 生成方式。第6个参数: DWORDdwFlagsAndAttributes 文件标志和属性。第
3、7个参数: HANDLEhTemplateFile 临时文件句柄。忽略。返回值: 成功:映射文件句柄。 失败:INVALID_HANDLE_VALUE。说明:01.桌面平台没有专门用于映射文件句柄生成的函数,直接用CreateFile就 可以了。二、 NtGdiSendInput、NtSetWindowsHookExGDI函数:分别用于拦截键盘鼠标模拟输入和全局钩子三、 ZwCreateFile原型:NTSYSAPINTSTATUSNTAPIZwC
4、reateFile(OUTPHANDLEFileHandle,INACCESS_MASKDesiredAccess,INPOBJECT_ATTRIBUTESObjectAttributes,OUTPIO_STATUS_BLOCKIoStatusBlock,INPLARGE_INTEGERAllocationSizeOPTIONAL,INULONGFileAttributes,INULONGShareAccess,INULONGCreateDisposition,INULONGCreateOptions,INPVOID
5、EaBufferOPTIONAL,INULONGEaLength);参数理解:OUT-FileHandle--------这是一个指向一个变量的指针,用来最后存放fileobjecthandle的IoStatusBlock-----这个也是个指针变量,指向一个叫做IO_STATUS_BLOCK的结构体,最后函数返回的时候,这个结构体的成员里面要填充一些值,具体的呢就是完成状态,请求操作的一些信息,最重要的一个成员就是Information成员,他显示了函数对文件的处理方式,他的值可能是下面的几个:FILE_SUPER
6、SEDED(替代)FILE_OPENED(打开)FILE_CREATED(创建)FILE_OVERWRITTEN(重写)FILE_EXISTS(存在)FILE_DOES_NOT_EXIST(文件不存在)再看下这个IO_STATUS_BLOCK的具体结构:typedefstruct_IO_STATUS_BLOCK{union{NTSTATUSStatus;PVOIDPointer;}DUMMYUNIONNAME;ULONG_PTRInformation;}IO_STATUS_BLOCK,*PIO_STATUS_BLOC
7、K;通过上述的两个输出的参数我们可以看到,这个ZwCreateFile函数就是返回创建好的文件对象的句柄,然后返回一个期间处理的方式。IN-DesiredAccess----这个参数指定一个访问权限,大概有以下的权限:FILE_ANY_ACCESS0x0000//anytypeFILE_READ_ACCESS0x0001//file&pipeFILE_READ_DATA0x0001//file&pipeFILE_LIST_DIRECTORY0x0001//directoryFILE_WRITE_ACCESS0x000
8、2//file&pipeFILE_WRITE_DATA0x0002//file&pipeFILE_ADD_FILE0x0002//directoryFILE_APPEND_DATA0x0004//fileFILE_ADD_SUBDIRECTORY0x0004//directoryFILE_CREATE_PIPE_INSTANCE0x0004//
此文档下载收益归作者所有