Привет

Подскажите почему IoGetDeviceObjectPointer не выполняется корректно при попытке получить объект драйвера файловой системы FAT? Может надо как-то по-другому его получать?
UNICODE_STRING usFatDriverObj;
PFILE_OBJECT lpFileObject;
PDEVICE_OBJECT lpDeviceObject;
//InitializeObjectAttributes( &ObjectAttributes, &usFatDriverObj, OBJ_CASE_INSENSITIVE, NULL, NULL);
//status = ObReferenceObjectByName(&usFatDriverObj, OBJ_CASE_INSENSITIVE, NULL, 0, *IoDeviceObjectType,
// KernelMode, NULL, &lpDeviceObject);
RtlInitUnicodeString(&usFatDriverObj, L"\\FileSystem\\Fastfat");
status = IoGetDeviceObjectPointer(
&usFatDriverObj, //ObjectName
FILE_READ_DATA, //DesiredAccess
&lpFileObject, //FileObject
&lpDeviceObject); //DeviceObject
if(NT_SUCCESS(status)) {
PDEVICE_OBJECT pdo = IoGetBaseFileSystemDeviceObject(lpFileObject);
SpyFsNotification (pdo, TRUE);
ObDereferenceObject(lpFileObject);
}
Заранее благодарен, Денис.
"Если нельзя, но очень хочется... то можно"