проблема с zwreadfile...
От: sergei_132 http://sergbox.blogspot.com
Дата: 15.09.06 18:09
Оценка:
никак не пойму в чем ошибка, при попытке чтения файла на одном работает, на другом — вылетает fatal error
ULONG u;
 ntStatus = ZwOpenFile(
            &hFile2,
            SYNCHRONIZE | FILE_EXECUTE|FILE_READ_DATA,
            &ObjectAttributes,
            &IoStatus,
            FILE_SHARE_READ ,
            FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT);
if (ntStatus)
        __asm int 3

ntStatus = ZwQueryInformationFile(hFile2,&IoStatus,&StandardInfo,sizeof(StandardInfo),FileStandardInformation);
if (ntStatus)
        __asm int 3
    
u=StandardInfo.EndOfFile.LowPart;

pool1=ExAllocatePool(NonPagedPool,u+1);

RtlZeroMemory(pool1, u+1);

if (!pool1)
        __asm int 3

ntStatus=ZwReadFile(hFile2,NULL,NULL,NULL,&IoStatus,pool1,u,NULL,NULL);//<-- A fatal system error has occurred


IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.

WRITE_ADDRESS: e1038000 Paged pool //откуда мог взяться paged pool, если я создаю NonPaged?

CURRENT_IRQL: 0

подскажите плиз, в чем баг?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.