NTSTATUS DriverRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
//...
RtlCopyMemory(Irp->AssociatedIrp.SystemBuffer,
GlobalBuffer->buffer, sizeof(GLOBAL_BUFFER));
//...
Irp->IoStatus.Status = STATUS_SUCCESS;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return STATUS_SUCCESS;
}
........
Почему такой код приводит к синему экрану?
ты сделал проверку размера входного буфера?
ты заполнил статусблок информайшн айрп?
ты посмотрел метод буферизации фо флагах фдо для реадрайт, ты уверен, что у тебя там стоит буфеееред метод (обычно для реадрайт используют дайрект метод)?
Все сделал через Irp->UserBuffer, но так и не понял почему раньше не получалось...
у тебя по ходу вобще нейзе метод буферизации. Страницы надо локировать probeandlockpages и разлокировать
dot laugh me more plz