亚洲欧美第一页_禁久久精品乱码_粉嫩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_StopFilter         (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x07, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_StartFilter        (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x08, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_SetHiddenDir       (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x09, METHOD_BUFFERED, FILE_READ_ACCESS )
#define FILESPY_SetPriviligeProc   (ULONG) CTL_CODE( FILE_DEVICE_DISK_FILE_SYSTEM, 0x0a, METHOD_BUFFERED, FILE_READ_ACCESS )

#define FILESPY_DRIVER_NAME      L"DISKSPY.SYS"
#define FILESPY_DEVICE_NAME      L"DiskSpy"
#define FILESPY_W32_DEVICE_NAME  L"\\\\.\\DiskSpy"
#define FILESPY_DOSDEVICE_NAME   L"\\DosDevices\\DiskSpy"
#define FILESPY_FULLDEVICE_NAME1 L"\\FileSystem\\Filters\\DiskSpy"
#define FILESPY_FULLDEVICE_NAME2 L"\\FileSystem\\DiskSpyCDO"

#define INSTALL_DIRECTORY        L"WatchOnline 3.0"
#define SYSNAME                  "System"
#define VENCRPYTDISK             "VEnptDisk.exe"
#define FILESPY_MAJ_VERSION 1
#define FILESPY_MIN_VERSION 3

#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.
//

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)

//
// Record : Add by lwf : 07-06-20
// Purpose: define the nt process name length
//

#define NT_PROCNAMELEN  16
#define PROCNAMELEN     32

//
// Record: Add by lwf : 07-06-20
// Purpose: Macro for getting the path name
//

#define GETPATHNAME(_IsCreate)                                                  \
        fullPathName = ExAllocateFromNPagedLookasideList( &gFileSpyNameBufferLookasideList ); \
        if( fullPathName ) {                                                    \
            FileSpyGetFullPath( _IsCreate, FileObject, devExt, fullPathName ); \
        } else {                                                                \
            fullPathName = InsufficientResources;                               \
        }                                                                                    

#define FREEPATHNAME()                                   \
        if ( fullPathName != InsufficientResources ) ExFreeToNPagedLookasideList( &gFileSpyNameBufferLookasideList, fullPathName )


#endif /* __FILESPY_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级黄色片| 国产不卡视频在线观看| 最新不卡av在线| 国产精品毛片a∨一区二区三区| 欧美一级xxx| 欧美精品黑人性xxxx| 欧美日韩久久久一区| 在线精品视频小说1| 欧美视频一区二区三区在线观看| 日本韩国一区二区| 欧美日韩电影一区| 91麻豆精品国产综合久久久久久| 欧洲国内综合视频| 51精品久久久久久久蜜臀| 在线综合视频播放| 国产日韩欧美综合一区| 国产精品你懂的在线| 亚洲欧美自拍偷拍色图| 国产原创一区二区三区| 九九久久精品视频| 国产激情偷乱视频一区二区三区| 福利一区福利二区| 欧美日韩在线观看一区二区 | 亚洲国产精品av| 国产精品美女久久久久aⅴ| 亚洲综合久久久久| 免费观看一级欧美片| 国产福利一区二区三区在线视频| 91原创在线视频| 欧美精品 国产精品| 久久天堂av综合合色蜜桃网| 国产精品福利一区二区三区| 亚洲6080在线| 国产福利一区在线观看| 欧美日韩亚洲综合| 中文字幕高清一区| 日韩中文字幕亚洲一区二区va在线| 精品一区二区三区香蕉蜜桃| 91蜜桃免费观看视频| 日韩欧美国产综合| 亚洲欧洲综合另类在线| 美女爽到高潮91| 91亚洲精华国产精华精华液| 日韩一区二区在线免费观看| 精品一区二区免费| 欧美性一级生活| 久久视频一区二区| 香蕉久久一区二区不卡无毒影院| 国产精品99久久久久久久女警| 在线观看三级视频欧美| 中文字幕不卡一区| 精品在线亚洲视频| 欧美视频在线不卡| 亚洲女人的天堂| 国产成人福利片| 精品黑人一区二区三区久久| 亚洲高清视频在线| 色噜噜狠狠成人网p站| 国产女同互慰高潮91漫画| 免费欧美在线视频| 欧美日本一道本| 亚洲一区二区美女| 色偷偷一区二区三区| ...中文天堂在线一区| 国产成人免费在线观看| 欧美精品一区二区三区蜜臀| 蜜桃精品在线观看| 日韩视频一区二区| 免费成人av在线播放| 4438x亚洲最大成人网| 天堂va蜜桃一区二区三区 | 一区二区三区高清不卡| 丁香五精品蜜臀久久久久99网站| 欧美剧在线免费观看网站| 亚洲一区二区在线播放相泽| 91色婷婷久久久久合中文| 亚洲视频一二三区| 99久久综合狠狠综合久久| 国产精品污污网站在线观看| 粉嫩一区二区三区在线看| 欧美国产一区视频在线观看| 成人性生交大片免费看视频在线 | 中文字幕一区二区三| 国产成人精品www牛牛影视| 久久精品视频网| 国产一区二区日韩精品| 日本一区二区免费在线| www.成人在线| 一区二区国产盗摄色噜噜| 精品视频123区在线观看| 美女尤物国产一区| 日本一区二区三区免费乱视频| 粉嫩aⅴ一区二区三区四区| 亚洲欧洲av在线| 欧美精品aⅴ在线视频| 久久国产视频网| 日本一区二区动态图| 精品1区2区3区| 国产一区91精品张津瑜| 亚洲免费电影在线| 欧美一区二区精美| 粉嫩绯色av一区二区在线观看| 国产精品国产三级国产专播品爱网| 99精品视频一区| 色综合激情五月| 五月天丁香久久| 欧美国产精品中文字幕| 色哟哟一区二区在线观看| 日韩av中文字幕一区二区| 国产精品久久久久永久免费观看 | 久久综合色综合88| 91美女视频网站| 毛片不卡一区二区| 亚洲图片激情小说| 日韩精品在线一区| 日本高清不卡aⅴ免费网站| 青青草成人在线观看| 国产精品嫩草影院av蜜臀| 日韩欧美二区三区| 欧美在线观看视频在线| 成人免费福利片| 久久99国产精品尤物| 亚洲一区二区成人在线观看| 久久一区二区视频| 欧美猛男男办公室激情| 成人免费视频视频| 精品亚洲porn| 爽好久久久欧美精品| 亚洲激情男女视频| 亚洲国产精品黑人久久久| 日韩一级免费观看| 欧美午夜电影在线播放| 欧美一区二区三区免费大片| 9人人澡人人爽人人精品| 韩国女主播一区二区三区| 日韩在线一区二区| 一个色妞综合视频在线观看| 国产精品视频看| 久久久久久97三级| 久久久电影一区二区三区| 日韩免费一区二区| 欧美一级理论片| 欧美一级一区二区| 欧美伦理影视网| 欧美剧情电影在线观看完整版免费励志电影 | 日本道精品一区二区三区| 国产精品99久久久久| 国产一区二区三区四区在线观看 | 成人h动漫精品一区二区| 久久国产精品72免费观看| 日本亚洲三级在线| 日韩国产欧美在线播放| 视频一区二区国产| 免费在线观看精品| 精品一区二区三区久久| 国内不卡的二区三区中文字幕 | 亚洲午夜久久久久久久久久久| 亚洲精选免费视频| 国产91精品欧美| 成人自拍视频在线观看| 99久久精品免费观看| 欧美视频在线观看一区二区| 精品视频999| 欧美精品久久99| 久久日韩精品一区二区五区| 亚洲国产高清aⅴ视频| 亚洲色图制服诱惑| 亚洲图片自拍偷拍| 久久99久久精品欧美| 国产麻豆日韩欧美久久| 成人av网站在线| 色88888久久久久久影院野外| 欧美日韩精品三区| 久久久噜噜噜久久中文字幕色伊伊| 久久久青草青青国产亚洲免观| 国产日产欧美一区| 亚洲综合免费观看高清完整版| 日韩精品欧美成人高清一区二区| 激情五月播播久久久精品| 成人午夜av影视| 欧美三级中文字幕在线观看| 精品国产乱码久久久久久老虎 | 日韩欧美一区二区在线视频| 精品国产一区二区亚洲人成毛片 | 欧美亚洲尤物久久| 日韩免费一区二区三区在线播放| 国产农村妇女毛片精品久久麻豆| 亚洲女人小视频在线观看| 麻豆视频一区二区| 欧美精品一区二区三区久久久| 国产精品日韩成人| 日韩av在线播放中文字幕| 成人综合在线视频| 欧美精品久久久久久久久老牛影院| 久久综合久久鬼色| 亚洲亚洲精品在线观看| 国产麻豆欧美日韩一区| 欧美老年两性高潮| 亚洲嫩草精品久久| 国产乱码精品1区2区3区|