mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
1.8 KiB
116 lines
1.8 KiB
/*++
|
|
|
|
Copyright (c) 1992 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
fs_rec.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the main header file for the mini-file system
|
|
recognizer driver.
|
|
|
|
Author:
|
|
|
|
Darryl E. Havens (darrylh) 22-nov-1993
|
|
|
|
Environment:
|
|
|
|
Kernel mode, local to I/O system
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
#include "ntifs.h"
|
|
#include "ntdddisk.h"
|
|
|
|
//
|
|
// Define the file system types for the device extension.
|
|
//
|
|
|
|
typedef enum _FILE_SYSTEM_TYPE {
|
|
CdfsFileSystem = 1,
|
|
FatFileSystem,
|
|
HpfsFileSystem,
|
|
NtfsFileSystem
|
|
} FILE_SYSTEM_TYPE, *PFILE_SYSTEM_TYPE;
|
|
|
|
//
|
|
// Define the device extension for this driver.
|
|
//
|
|
|
|
typedef struct _DEVICE_EXTENSION {
|
|
FILE_SYSTEM_TYPE FileSystemType;
|
|
BOOLEAN RealFsLoadFailed;
|
|
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
|
|
|
|
//
|
|
// Define the functions provided by this driver.
|
|
//
|
|
|
|
NTSTATUS
|
|
DriverEntry(
|
|
IN PDRIVER_OBJECT DriverObject,
|
|
IN PUNICODE_STRING RegistryPath
|
|
);
|
|
|
|
NTSTATUS
|
|
FsRecCleanupClose(
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIRP Irp
|
|
);
|
|
|
|
NTSTATUS
|
|
FsRecCreate(
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIRP Irp
|
|
);
|
|
|
|
NTSTATUS
|
|
FsRecCreateAndRegisterDO(
|
|
IN PDRIVER_OBJECT DriverObject,
|
|
IN PWCHAR RecFileSystem,
|
|
IN PWCHAR FileSystemName,
|
|
IN FILE_SYSTEM_TYPE FileSystemType
|
|
);
|
|
|
|
NTSTATUS
|
|
FsRecFsControl(
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIRP Irp
|
|
);
|
|
|
|
VOID
|
|
FsRecUnload(
|
|
IN PDRIVER_OBJECT DriverObject
|
|
);
|
|
|
|
NTSTATUS
|
|
CdfsRecFsControl(
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIRP Irp
|
|
);
|
|
|
|
NTSTATUS
|
|
FatRecFsControl(
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIRP Irp
|
|
);
|
|
|
|
NTSTATUS
|
|
NtfsRecFsControl(
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIRP Irp
|
|
);
|
|
|
|
//
|
|
// Define external functions.
|
|
//
|
|
|
|
NTSTATUS
|
|
ZwLoadDriver(
|
|
IN PUNICODE_STRING DriverServiceName
|
|
);
|