никак не пойму в чем ошибка, при попытке чтения файла на одном работает, на другом — вылетает 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
подскажите плиз, в чем баг?