78 lines
2.3 KiB
C
78 lines
2.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1989-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
latency.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
The header file containing information needed by both the
|
||
|
user mode and kernel mode of the latency filter driver.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Molly Brown (mollybro)
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
Kernel mode
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef __LATENCY_H__
|
||
|
#define __LATENCY_H__
|
||
|
|
||
|
//
|
||
|
// Enable these warnings in the code.
|
||
|
//
|
||
|
|
||
|
#pragma warning(error:4100) // Unreferenced formal parameter
|
||
|
#pragma warning(error:4101) // Unreferenced local variable
|
||
|
|
||
|
|
||
|
#define LATENCY_Reset (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x00, METHOD_BUFFERED, FILE_WRITE_ACCESS )
|
||
|
#define LATENCY_EnableLatency (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x01, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
#define LATENCY_DisableLatency (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x02, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
#define LATENCY_GetLog (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x03, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
#define LATENCY_GetVer (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x04, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
#define LATENCY_ListDevices (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x05, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
#define LATENCY_SetLatency (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x06, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
#define LATENCY_ClearLatency (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x07, METHOD_BUFFERED, FILE_READ_ACCESS )
|
||
|
|
||
|
#define LATENCY_DRIVER_NAME L"LATENCY.SYS"
|
||
|
#define LATENCY_DEVICE_NAME L"LatencyFilter"
|
||
|
#define LATENCY_W32_DEVICE_NAME L"\\\\.\\LatencyFilter"
|
||
|
#define LATENCY_DOSDEVICE_NAME L"\\DosDevices\\LatencyFilter"
|
||
|
#define LATENCY_FULLDEVICE_NAME L"\\Device\\LatencyFilter"
|
||
|
|
||
|
#define LATENCY_MAJ_VERSION 1
|
||
|
#define LATENCY_MIN_VERSION 0
|
||
|
|
||
|
typedef struct _LATENCYVER {
|
||
|
USHORT Major;
|
||
|
USHORT Minor;
|
||
|
} LATENCYVER, *PLATENCYVER;
|
||
|
|
||
|
typedef struct _LATENCY_ENABLE_DISABLE {
|
||
|
|
||
|
UNICODE_STRING DeviceName;
|
||
|
UCHAR DeviceNameBuffer[];
|
||
|
|
||
|
} LATENCY_ENABLE_DISABLE, *PLATENCY_ENABLE_DISABLE;
|
||
|
|
||
|
typedef struct _LATENCY_SET_CLEAR {
|
||
|
|
||
|
UCHAR IrpCode;
|
||
|
ULONG Milliseconds;
|
||
|
UNICODE_STRING DeviceName;
|
||
|
UCHAR DeviceNameBuffer[];
|
||
|
|
||
|
} LATENCY_SET_CLEAR, *PLATENCY_SET_CLEAR;
|
||
|
|
||
|
#define LATENCY_ATTACH_ALL_VOLUMES 1
|
||
|
#define LATENCY_ATTACH_ON_DEMAND 0
|
||
|
|
||
|
#endif /* __LATENCY_H__ */
|