c IRP_MJ_CREATE разобрался (подключался не к VOLUME, а к DISK)
Но вот по поводу имен файлов всё таки вопрос...
прописываю в обработчике IRP_MJ_CREATE
PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(Irp);
PFILE_OBJECT pfo = stack->FileObject;
ANSI_STRING strA;
RtlUnicodeStringToAnsiString(&strA, &(pfo->FileName), TRUE);
KdPrint((DRIVERNAME " - filename %s length %d unicode length %d\n", strA.Buffer, strA.Length, pfo->FileName.Length));
RtlFreeAnsiString(&strA);
filename пустая строка и обе длинны равны нулю. Причем всегда
Если тоже самое делаю в обработчике IRP_MJ_WRITE - то вылетает синий экран
Сделал всё согласно постам которые нашел на форуме.
Может завалялся где нибудь исходник sfilter? или там линкуется какая то библиотека для работы с файлами из драйвера?