есть такая проблема: из user-mode отурывается файл: ::CreateFile(lpszFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0); далее полученный хэндл передается драйверу. в драйвере пытаюсь сделать ObReferenceObjectByHandle, и получаю BSOD. но не всегда т.е. если в драйвере сделать status = ObReferenceObjectByHandle(hFileToAttach,FILE_ALL_ACCESS,*IoFileObjectT ype,UserMode,(PVOID*)&fileObjectAttached,&handleInformation ); то никакого BSOD не будет. status возвращается STATUS_ACCESS_DENIED и все нормально (т.е. ничего не работает как должно ) BSOD получается только при попытке установить права в SYNCHRONIZE или FILE_READ_DATA или FILE_GENERIC_READ подскажите плз. где собака порылась...
при замене UserMode на KernelMode драйвер валится при любой комбинации прав в BSOD ошибка IRQL_NOT_LESS_OR_EQUAL KeGetCurrentIrql возвращает 0 все-таки где-то что-то не так, а вот что и где - не могу найти