Здравствуйте, needcheckhelp, Вы писали:
Правила форума нарушены.
— оверквотинг
Правила можно найти в разделе FAQ данного форума и\или ресурса.
Нарушение правил может повлечь за собой санкции, описанные там же — модератор
irp->>IoStatus.Information = 0;
irp->>IoStatus.Status = STATUS_SUCCESS;
А почему, если все хорошо, IoStatus.Information = 0 ? Насколько читал, 0 туда записывается в случае ошибки, а в случае нормального завершения туда записывается количество переданных байт. БСОД похоже не из-за этого, но помоему нужно так:
ConnectionData = (PCONNECTION_DATA)pInputBuffer;
// закрываем
KSocketClose(socket[ConnectionData->hSocket]);
socket[ConnectionData->hSocket]=0;
irp->>IoStatus.Information = sizeof(CONNECTION_DATA);
irp->>IoStatus.Status = STATUS_SUCCESS;