阅读:1172回复:6
搞定了1个bug
hihi
win98下的链表还是没搞定 [编辑 - 8/13/04 by freecutelei] |
|
沙发#
发布于:2004-08-13 18:30
那你把啥搞定了
|
|
|
板凳#
发布于:2004-08-13 19:05
我把驱动状态下读取文件搞定了
|
|
地板#
发布于:2004-08-13 19:27
搞定了,放分 :D
|
|
地下室#
发布于:2004-08-13 19:52
等分,嘿嘿。。。。。。
|
|
|
5楼#
发布于:2004-08-15 21:28
能祥细讲讲
|
|
6楼#
发布于:2004-08-16 08:59
RtlInitUnicodeString( &fileNameUnicodeString, filename );
InitializeObjectAttributes( &objectAttributes, &fileNameUnicodeString, OBJ_CASE_INSENSITIVE, NULL, NULL ); ntStatus = ZwCreateFile( &ntFileHandle, SYNCHRONIZE | FILE_ANY_ACCESS,//FILE_READ_DATA, &objectAttributes, &ioStatus, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT,//FILE_SEQUENTIAL_ONLY| FILE_NO_INTERMEDIATE_BUFFERING, NULL, 0 ); if( !NT_SUCCESS( ntStatus ) ) { DbgPrint("file :Could not open file"); return ; } ntStatus = ZwQueryInformationFile( ntFileHandle, &ioStatus, &StandardInfo, sizeof(FILE_STANDARD_INFORMATION), FileStandardInformation ); if( !NT_SUCCESS( ntStatus ) ) { DbgPrint ("Error querying info on file %x\n", ntStatus ); ZwClose( ntFileHandle ); return ; } DbgPrint( "File length is %d\n", StandardInfo.EndOfFile.QuadPart); pBuffer = ExAllocatePool(NonPagedPool, 512); if(pBuffer == NULL){ ZwClose(ntFileHandle); return ; } //创建存放文件内容的缓冲区 byteoffset.QuadPart =0; ntStatus = ZwReadFile( ntFileHandle, NULL, NULL, NULL, &IoFileReadStatus, pBuffer, 512,//StandardInfo.EndOfFile.QuadPart,//512,// &byteoffset, NULL ); if( !NT_SUCCESS( ntStatus ) ) { DbgPrint( "ZwReadFile Error!!\n"); return ; } ZwClose(ntFileHandle); |
|