Кто пробовал писать такие? Что-то у меня фильтр фс, рабтающий на ХР, бсодит на висте BAD_POOL_CALLER (7 - Attempt to free pool which was already freed) Происходит попытка освобождения имени файла (FileObject->FileName.Buffer) при вызове ObDereferenceObject->IopDeleteFile->ExFreePoolWithTag, но эта память почему-то уже освобождена. Никто не сталкивался? Второй дров-фильтр пробую уже и тоже самое. Хм=/
сталкивался FastIoQueryOpen Код (Text): *next_stack = *curr_stack; next_stack->DeviceObject = hook_extension->next_device; IoSetNextIrpStackLocation( Irp ); BOOLEAN result = hook_extension->next_device->DriverObject->FastIoDispatch->FastIoQueryOpen( Irp, NetworkInformation, hook_extension->next_device ); [b]// Longhorn compatibility!!! Irp->CurrentLocation++; Irp->Tail.Overlay.CurrentStackLocation++;[/b] return result;
и еще - я заменил доставание имени (IoAllocateIrp() и так далее) через PFILE_NAME_INFORMATION NameInformation; на все то же самое но через PFILE_ALL_INFORMATION AllInformation; ща уже не помню что и почему, комментариев естесно не писал