亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filespy.h

?? 一個文件過濾驅動程序的例子
?? H
字號:
/*++

Copyright (c) 1989-1999  Microsoft Corporation

Module Name:

    filespy.h

Abstract:

    Header file which contains the structures, type definitions,
    and constants that are shared between the kernel mode driver,
    filespy.sys, and the user mode executable, filespy.exe.

Environment:

    Kernel mode

--*/

#ifndef __FILESPY_H__
#define __FILESPY_H__

#include "filespyLib.h"
#include "namelookupdef.h"

//
//  Enable these warnings in the code.
//

#pragma warning(error:4100)   // Unreferenced formal parameter
#pragma warning(error:4101)   // Unreferenced local variable


#define FILESPY_Reset              (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x00, METHOD_BUFFERED, FILE_WRITE_ACCESS )
#define FILESPY_StartLoggingDevice (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x01, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_StopLoggingDevice  (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x02, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_GetLog             (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x03, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_GetVer             (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x04, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_ListDevices        (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x05, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_GetStats           (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x06, METHOD_BUFFERED, FILE_READ_ACCESS )

#define FILESPY_DRIVER_NAME      L"FILESPY.SYS"
#define FILESPY_DEVICE_NAME      L"FileSpy"
#define FILESPY_W32_DEVICE_NAME  L"\\\\.\\FileSpy"
#define FILESPY_DOSDEVICE_NAME   L"\\DosDevices\\FileSpy"
#define FILESPY_FULLDEVICE_NAME1 L"\\FileSystem\\Filters\\FileSpy"
#define FILESPY_FULLDEVICE_NAME2 L"\\FileSystem\\FileSpyCDO"


#define FILESPY_MAJ_VERSION 1
#define FILESPY_MIN_VERSION 0

#ifndef ROUND_TO_SIZE
#define ROUND_TO_SIZE(_length, _alignment)    \
            (((_length) + ((_alignment)-1)) & ~((_alignment) - 1))
#endif

typedef struct _FILESPYVER {
    USHORT Major;
    USHORT Minor;
} FILESPYVER, *PFILESPYVER;

//
//  To allow passing up PFILE_OBJECT as a unique file identifier in user-mode.
//
typedef ULONG_PTR FILE_ID;

//
//  To allow passing up PDEVICE_OBJECT as a unique device identifier in
//  user-mode.
//

typedef ULONG_PTR DEVICE_ID;

//
//  To allow status values to be passed up to user-mode.
//

typedef LONG NTSTATUS;



//
//  An array of these structures are returned when the attached device list is
//  returned.
//
#define SF_ENCRYPT_POSTFIX				L".$encrypt$"
#define SF_ENCRYPT_POSTFIX_LENGTH		10


#define POLICY_NONE			0x0
#define POLICY_ENCRYPT		0x1
#define POLICY_END			0xFFFFFFFF

typedef struct _RULE
{
	ULONG Policy;
	WCHAR Pattern[20];
} RULE, *PRULE;

PRULE FilenameRules;
PRULE ProcessRules;

ERESOURCE gRulesResource;

typedef struct _ATTACHED_DEVICE {

    BOOLEAN LoggingOn;
    WCHAR DeviceNames[DEVICE_NAME_SZ];

} ATTACHED_DEVICE, *PATTACHED_DEVICE;

#define MAX_BUFFERS     100

//
//  Attach modes for the filespy kernel driver
//

#define FILESPY_ATTACH_ON_DEMAND    1
    //  Filespy will only attach to a volume when a user asks to start logging
    //  that volume.

#define FILESPY_ATTACH_ALL_VOLUMES  2
    //  VERSION NOTE:
    //
    //  On Windows 2000, Filespy will attach to all volumes in the system that
    //  it sees mount but not turn on logging until requested to through the
    //  filespy user application.  Therefore, if filespy is set to mount on
    //  demand, it will miss the mounting of the local volumes at boot time.
    //  If filespy is set to load at boot time, it will see all the local
    //  volumes be mounted and attach.  This can be beneficial if you want
    //  filespy to attach low in the device stack.
    //
    //  On Windows XP and later, Filespy will attach to all volumes in the
    //  system when it is loaded and all volumes that mount after Filespy is
    //  loaded.  Again, logging on these volumes will not be turned on until
    //  the user asks it to be.
    //

//
//  Record types field definitions.
//

typedef enum _RECORD_TYPE_FLAGS {

    RECORD_TYPE_STATIC                  = 0x80000000,
    RECORD_TYPE_NORMAL                  = 0x00000000,

    RECORD_TYPE_IRP                     = 0x00000001,
    RECORD_TYPE_FASTIO                  = 0x00000002,
#if WINVER >= 0x0501
    RECORD_TYPE_FS_FILTER_OP            = 0x00000003,
#endif

    RECORD_TYPE_OUT_OF_MEMORY           = 0x10000000,
    RECORD_TYPE_EXCEED_MEMORY_ALLOWANCE = 0x20000000

} RECORD_TYPE_FLAGS;

//
//  Macro to return the lower portion of RecordType.
//

#define GET_RECORD_TYPE(pLogRecord) ((pLogRecord)->RecordType & 0x0000FFFF)

//
//  Structure defining the information recorded for an IRP operation.
//

typedef struct _RECORD_IRP {

    LARGE_INTEGER OriginatingTime; //  The time the IRP originated
    LARGE_INTEGER CompletionTime;  //  The time the IRP was completed

    UCHAR IrpMajor;                //  From _IO_STACK_LOCATION
    UCHAR IrpMinor;                //  From _IO_STACK_LOCATION
    ULONG IrpFlags;                //  From _IRP (no cache, paging i/o, sync.
                                   //  api, assoc. irp, buffered i/o, etc.)
    FILE_ID FileObject;            //  From _IO_STACK_LOCATION (This is the
                                   //     PFILE_OBJECT, but this isn't
                                   //     available in user-mode)
    DEVICE_ID DeviceObject;        //  From _IO_STACK_LOCATION (This is the
                                   //     PDEVICE_OBJECT, but this isn't
                                   //     available in user-mode)
    NTSTATUS ReturnStatus;         //  From _IRP->IoStatus.Status
    ULONG_PTR ReturnInformation;   //  From _IRP->IoStatus.Information
    FILE_ID ProcessId;
    FILE_ID ThreadId;

    //
    //  These fields are only filled in the appropriate
    //  Verbose mode.
    //

    PVOID Argument1;               //
    PVOID Argument2;               //  Current IrpStackLocation
    PVOID Argument3;               //  Parameters
    PVOID Argument4;               //
    ACCESS_MASK DesiredAccess;     //  Only used for CREATE IRPs

} RECORD_IRP, *PRECORD_IRP;

//
//  Structure defining the information recorded for a Fast IO operation
//

typedef struct _RECORD_FASTIO {

    LARGE_INTEGER StartTime;     //  Time Fast I/O request begins processing
    LARGE_INTEGER CompletionTime;//  Time Fast I/O request completes processing
    LARGE_INTEGER FileOffset;    //  Offset into the file for the I/O

    FILE_ID FileObject;          //  Parameter to FASTIO call
    DEVICE_ID DeviceObject;      //  Parameter to FASTIO call

    FILE_ID ProcessId;
    FILE_ID ThreadId;

    FASTIO_TYPE Type;            //  Type of FASTIO operation
    ULONG Length;                //  The length of data for the I/O operation

    NTSTATUS ReturnStatus;       //  From IO_STATUS_BLOCK

    BOOLEAN Wait;                //  Parameter to most FASTIO calls, signifies
                                 //  if this operation can wait

} RECORD_FASTIO, *PRECORD_FASTIO;

#if WINVER >= 0x0501

//
//  Structure defining the information recorded for FsFilter operations.
//

typedef struct _RECORD_FS_FILTER_OPERATION {

    LARGE_INTEGER OriginatingTime;
    LARGE_INTEGER CompletionTime;

    FILE_ID FileObject;
    DEVICE_ID DeviceObject;

    FILE_ID ProcessId;
    FILE_ID ThreadId;

    NTSTATUS ReturnStatus;

    UCHAR FsFilterOperation;

} RECORD_FS_FILTER_OPERATION, *PRECORD_FS_FILTER_OPERATION;

#endif

//
//  The three types of records that are possible.
//

typedef union _RECORD_IO {

    RECORD_IRP RecordIrp;
    RECORD_FASTIO RecordFastIo;
#if WINVER >= 0x0501
    RECORD_FS_FILTER_OPERATION RecordFsFilterOp;
#endif

} RECORD_IO, *PRECORD_IO;


//
//  Log record structure defines the additional information needed for
//  managing the processing of the each IO FileSpy monitors.
//

typedef struct _LOG_RECORD {

    //
    //  Length of the record, including the header.
    //

    ULONG Length;

    ULONG SequenceNumber;
    RECORD_TYPE_FLAGS RecordType;
    RECORD_IO Record;
    WCHAR Name[0];

} LOG_RECORD, *PLOG_RECORD;


#define SIZE_OF_LOG_RECORD  (sizeof( LOG_RECORD ))


//
//  This is the in-memory structure used to track log records.
//

typedef enum _RECORD_LIST_FLAGS {

    //
    //  If set, we want to sync this operation back to the dispatch routine.
    //

    RLFL_SYNC_TO_DISPATCH       = 0x00000001,

    //
    //  During some operations (like rename) we need to know if the file is
    //  a file or directory.
    //

    RLFL_IS_DIRECTORY           = 0x00000002

} RECORD_LIST_FLAGS;

typedef struct _RECORD_LIST {

    LIST_ENTRY List;
    PVOID NewContext;
    PVOID WaitEvent;
    RECORD_LIST_FLAGS Flags;
    LOG_RECORD LogRecord;

} RECORD_LIST, *PRECORD_LIST;

#define SIZE_OF_RECORD_LIST (sizeof( RECORD_LIST ))

//
//  The statistics that are kept on the file name hash table
//  to monitor its efficiency.
//

typedef struct _FILESPY_STATISTICS {

    ULONG   TotalContextSearches;
    ULONG   TotalContextFound;
    ULONG   TotalContextCreated;
    ULONG   TotalContextTemporary;
    ULONG   TotalContextDuplicateFrees;
    ULONG   TotalContextCtxCallbackFrees;
    ULONG   TotalContextNonDeferredFrees;
    ULONG   TotalContextDeferredFrees;
    ULONG   TotalContextDeleteAlls;
    ULONG   TotalContextsNotSupported;
    ULONG   TotalContextsNotFoundInStreamList;

} FILESPY_STATISTICS, *PFILESPY_STATISTICS;

//
//  Size of the actual records with the name built in.
//

#define MAX_NAME_SPACE  260 * sizeof( WCHAR )
#define RECORD_SIZE     (SIZE_OF_RECORD_LIST + MAX_NAME_SPACE)

#endif /* __FILESPY_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级在线观看| 中文字幕+乱码+中文字幕一区| 69久久99精品久久久久婷婷| 日韩视频一区二区在线观看| 国产欧美中文在线| 一区二区三区免费看视频| 午夜欧美电影在线观看| 老司机午夜精品| 成人黄色一级视频| 在线播放欧美女士性生活| 久久久99免费| 亚洲成av人片一区二区三区| 韩国欧美国产1区| 色综合婷婷久久| 国产精品免费视频网站| 亚洲成a人在线观看| 国产91高潮流白浆在线麻豆| 99久久er热在这里只有精品15 | 欧美成人性战久久| 亚洲乱码国产乱码精品精小说| 亚洲综合色自拍一区| 高清国产一区二区| 91精品国产综合久久福利软件| 26uuu久久天堂性欧美| 亚洲一区二区综合| 不卡的av电影| 久久五月婷婷丁香社区| 亚洲成人av中文| 欧美三级视频在线| 亚洲一区在线观看免费| 99久久er热在这里只有精品15 | 日韩欧美一级在线播放| 日韩av电影一区| 欧美精品aⅴ在线视频| 天堂蜜桃一区二区三区| 在线成人高清不卡| 蜜臀久久99精品久久久久久9| 欧美日韩一本到| 天天操天天干天天综合网| 欧美日韩国产首页| 视频一区视频二区中文字幕| 欧美一区二区三区四区五区| 日韩精品亚洲专区| 26uuu另类欧美亚洲曰本| 国产精品一级黄| 国产精品国产精品国产专区不片| 不卡一区二区中文字幕| 亚洲精品一卡二卡| 欧美日韩一区二区在线观看视频 | 国产精品你懂的| 色综合久久久久综合99| 亚洲福利一二三区| 日韩欧美高清在线| 成人午夜免费av| 一区二区三区四区亚洲| 欧美高清hd18日本| 国产一区二区三区在线观看免费 | 欧美aaa在线| 国产欧美精品日韩区二区麻豆天美| 国产99久久久国产精品免费看| 国产精品午夜久久| 欧美日韩性生活| 老司机精品视频一区二区三区| 久久日韩精品一区二区五区| 99久久久久久| 丝袜美腿一区二区三区| 久久综合av免费| 91蜜桃视频在线| 久久成人免费网| 亚洲精品一二三四区| 日韩免费成人网| av不卡在线播放| 免费高清不卡av| 一区二区三区91| 国产欧美一区二区三区沐欲| 欧美性做爰猛烈叫床潮| 国产一区二区免费视频| 夜色激情一区二区| 久久久91精品国产一区二区精品| 91成人在线精品| 国产精品自产自拍| 日本视频免费一区| 亚洲人成人一区二区在线观看| 欧美成人乱码一区二区三区| 色播五月激情综合网| 国产精品一区免费在线观看| 亚洲国产精品天堂| 国产亲近乱来精品视频| 欧美videos中文字幕| 欧美猛男男办公室激情| 99国产麻豆精品| 国产精品亚洲专一区二区三区 | 日韩一级高清毛片| 欧美亚洲动漫另类| av一区二区久久| 国产成人综合亚洲网站| 日韩av网站免费在线| 性久久久久久久| 亚洲一区二区视频| 一级中文字幕一区二区| 国产精品久久国产精麻豆99网站 | 欧美一区二区三区不卡| 欧美在线视频全部完| 99久久精品国产网站| 风间由美性色一区二区三区| 久久国产精品第一页| 美日韩一区二区| 麻豆免费看一区二区三区| 亚洲午夜三级在线| 一区二区免费在线播放| 综合自拍亚洲综合图不卡区| 国产精品免费视频观看| 中文字幕av在线一区二区三区| 久久久久久久久久久久久夜| 久久色在线视频| 欧美激情资源网| 国产精品久久久久婷婷二区次| 中文字幕av一区二区三区| 中文字幕亚洲成人| 亚洲最色的网站| 亚洲国产日韩a在线播放| 亚洲v精品v日韩v欧美v专区 | 一区二区欧美视频| 亚洲国产精品久久久久婷婷884 | 精品亚洲国内自在自线福利| 裸体健美xxxx欧美裸体表演| 国产在线看一区| 国产精品一区三区| av成人老司机| 欧洲国内综合视频| 91精品国产免费| 久久奇米777| 国产精品美女久久久久高潮| 亚洲欧洲无码一区二区三区| 亚洲人成精品久久久久| 天天综合色天天综合色h| 亚洲欧美怡红院| 中文字幕五月欧美| 国产成人在线观看| 成人性生交大合| 色婷婷av一区| 欧美电影影音先锋| 久久影院午夜论| 1区2区3区精品视频| 一区二区三区 在线观看视频 | 国产婷婷色一区二区三区在线| 欧美国产精品专区| 亚洲一二三专区| 黄色日韩网站视频| 91视频在线看| 日韩美女天天操| 中文字幕日韩一区| 久久精品国产免费| 91麻豆精品一区二区三区| 4438成人网| 国产精品女上位| 日韩制服丝袜av| 99精品视频免费在线观看| 555夜色666亚洲国产免| 国产三级精品三级| 蜜臀av国产精品久久久久| 99在线视频精品| 精品国产乱码久久久久久老虎| 中文字幕在线观看不卡| 美女一区二区三区在线观看| 色呦呦国产精品| 中文av一区特黄| 国产又黄又大久久| 欧美一区二区三区小说| 亚洲另类中文字| 国产 欧美在线| 日韩欧美国产三级| 亚洲成人在线观看视频| 97se亚洲国产综合在线| 欧美videos中文字幕| 午夜精品一区二区三区电影天堂 | 亚洲精品五月天| 国产电影精品久久禁18| 日韩一级欧美一级| 亚洲国产欧美日韩另类综合| 丁香五精品蜜臀久久久久99网站 | 亚洲精品美国一| 成人一级片在线观看| 欧美va亚洲va| 麻豆精品视频在线观看| 欧美精品丝袜久久久中文字幕| 亚洲免费视频中文字幕| 91麻豆国产在线观看| 日韩毛片精品高清免费| 99精品欧美一区| 亚洲视频免费观看| 99视频国产精品| 日韩一区日韩二区| 99久久国产综合精品女不卡| 成人免费在线视频| av在线不卡电影| 一区二区三区加勒比av| 欧美性一级生活| 午夜激情一区二区| 欧美精品久久99|