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

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

?? sfilter.c

?? 網程絡過濾驅動,可以截獲網絡封包!對其進行分析攔截!
?? C
?? 第 1 頁 / 共 5 頁
字號:
SfAttachDeviceToDeviceStack(
	IN PDEVICE_OBJECT SourceDevice,
	IN PDEVICE_OBJECT TargetDevice,
	IN OUT PDEVICE_OBJECT *AttachedToDeviceObject
	);

NTSTATUS
SfAttachToFileSystemDevice(
	IN PDEVICE_OBJECT DeviceObject,
	IN PUNICODE_STRING DeviceName
	);

VOID
SfDetachFromFileSystemDevice(
	IN PDEVICE_OBJECT DeviceObject
	);

NTSTATUS
SfAttachToMountedDevice(
	IN PDEVICE_OBJECT DeviceObject,
	IN PDEVICE_OBJECT SFilterDeviceObject
	);

VOID
SfCleanupMountedDevice(
	IN PDEVICE_OBJECT DeviceObject
	);

#if WINVER >= 0x0501
NTSTATUS
SfEnumerateFileSystemVolumes(
	IN PDEVICE_OBJECT FSDeviceObject,
	IN PUNICODE_STRING FSName
	);
#endif

VOID
SfGetObjectName(
	IN PVOID Object,
	IN OUT PUNICODE_STRING Name
	);

VOID
SfGetBaseDeviceObjectName(
	IN PDEVICE_OBJECT DeviceObject,
	IN OUT PUNICODE_STRING DeviceName
	);

BOOLEAN
SfIsAttachedToDevice(
	PDEVICE_OBJECT DeviceObject,
	PDEVICE_OBJECT *AttachedDeviceObject OPTIONAL
	);

BOOLEAN
SfIsAttachedToDeviceW2K(
	PDEVICE_OBJECT DeviceObject,
	PDEVICE_OBJECT *AttachedDeviceObject OPTIONAL
	);

BOOLEAN
SfIsAttachedToDeviceWXPAndLater(
	PDEVICE_OBJECT DeviceObject,
	PDEVICE_OBJECT *AttachedDeviceObject OPTIONAL
	);

VOID
SfReadDriverParameters(
	IN PUNICODE_STRING RegistryPath
	);

NTSTATUS
SfIsShadowCopyVolume (
	IN PDEVICE_OBJECT StorageStackDeviceObject,
	OUT PBOOLEAN IsShadowCopy
	);

BOOLEAN
SfDissectFileName(
	IN PDEVICE_OBJECT DeviceObject,
	IN PIRP Irp,
	OUT PWSTR FileName
	);

RTL_GENERIC_COMPARE_RESULTS
SfGenericCompareRoutine(
	IN PRTL_GENERIC_TABLE Table,
	IN PVOID FirstStruct,
	IN PVOID SecondStruct
	);

PVOID
SfGenericAllocateRoutine(
	IN PRTL_GENERIC_TABLE Table,
	IN CLONG ByteSize
	);

VOID
SfGenericFreeRoutine(
	IN PRTL_GENERIC_TABLE Table,
	IN PVOID Buffer
	);

NTSTATUS
SfIsEncryptFlagExist(
	IN PDEVICE_OBJECT DeviceObject,
	IN PCWSTR FileName,
	OUT PBOOLEAN Encrypted,
	OUT PVOID Data,
	IN ULONG DataLength
	);

NTSTATUS
SfIsFileNeedEncrypt(
	IN PDEVICE_OBJECT DeviceObject,
	IN PCWSTR FileName,
	OUT PBOOLEAN NeedEncrypt
	);

NTSTATUS
SfSetFileEncrypted(
	IN PDEVICE_OBJECT DeviceObject,
	IN PCWSTR FileName,
	IN BOOLEAN IsEncrypted,
	IN PVOID Data,
	IN ULONG DataLength	
	);

NTSTATUS
SfEncryptDecryptFileByFileObject(
	IN PDEVICE_OBJECT DeviceObject,
	IN PFILE_OBJECT FileObject
	);

NTSTATUS
SfIssueReadWriteIrpSynchronously(
	IN PDEVICE_OBJECT DeviceObject,
	IN PFILE_OBJECT FileObject,
	IN ULONG MajorFunction,
	IN PIO_STATUS_BLOCK IoStatus,
	IN PVOID Buffer,
	IN ULONG Length,
	IN PLARGE_INTEGER ByteOffset,
	IN ULONG IrpFlags
	);

NTSTATUS
SfIssueCleanupIrpSynchronously(
	IN PDEVICE_OBJECT NextDeviceObject,
	IN PIRP Irp,
	IN PFILE_OBJECT FileObject
	);

NTSTATUS
SfCreateFile(
	IN PCWSTR FileName,
	IN ULONG FileAttributes,
	IN BOOLEAN IsFile
	);

NTSTATUS
SfRenameFile(
	IN PWSTR SrcFileName,
	IN PWSTR DstFileName
	);

NTSTATUS
SfForwardIrpSyncronously(
	IN PDEVICE_OBJECT DeviceObject,
	IN PIRP Irp
	);

NTSTATUS
SfLoadRules(
	OUT PHANDLE FileHandle
	);

ULONG 
SfMatchRules(
	IN PCWSTR FileName
	);

BOOLEAN
SfMatchWithPattern(
	IN PCWSTR Pattern,
	IN PCWSTR Name
	);

BOOLEAN
SfMatchOkay(
	IN PCWSTR Pattern
	);

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /
// 
// Assign text sections for each routine.
// 
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

#ifdef ALLOC_PRAGMA
#pragma alloc_text(INIT, DriverEntry)

#if DBG && WINVER >= 0x0501
#pragma alloc_text(PAGE, DriverUnload)
#endif

#pragma alloc_text(PAGE, SfFsNotification)
#pragma alloc_text(PAGE, SfCreate)
#pragma alloc_text(PAGE, SfCleanupClose)
#pragma alloc_text(PAGE, SfFsControl)
#pragma alloc_text(PAGE, SfFsControlMountVolume)
#pragma alloc_text(PAGE, SfFsControlMountVolumeComplete)
#pragma alloc_text(PAGE, SfFsControlLoadFileSystem)
#pragma alloc_text(PAGE, SfFsControlLoadFileSystemComplete)
#pragma alloc_text(PAGE, SfFastIoCheckIfPossible)
#pragma alloc_text(PAGE, SfFastIoRead)
#pragma alloc_text(PAGE, SfFastIoWrite)
#pragma alloc_text(PAGE, SfFastIoQueryBasicInfo)
#pragma alloc_text(PAGE, SfFastIoQueryStandardInfo)
#pragma alloc_text(PAGE, SfFastIoLock)
#pragma alloc_text(PAGE, SfFastIoUnlockSingle)
#pragma alloc_text(PAGE, SfFastIoUnlockAll)
#pragma alloc_text(PAGE, SfFastIoUnlockAllByKey)
#pragma alloc_text(PAGE, SfFastIoDeviceControl)
#pragma alloc_text(PAGE, SfFastIoDetachDevice)
#pragma alloc_text(PAGE, SfFastIoQueryNetworkOpenInfo)
#pragma alloc_text(PAGE, SfFastIoMdlRead)
#pragma alloc_text(PAGE, SfFastIoPrepareMdlWrite)
#pragma alloc_text(PAGE, SfFastIoMdlWriteComplete)
#pragma alloc_text(PAGE, SfFastIoReadCompressed)
#pragma alloc_text(PAGE, SfFastIoWriteCompressed)
#pragma alloc_text(PAGE, SfFastIoQueryOpen)
#pragma alloc_text(PAGE, SfAttachDeviceToDeviceStack)
#pragma alloc_text(PAGE, SfAttachToFileSystemDevice)
#pragma alloc_text(PAGE, SfDetachFromFileSystemDevice)
#pragma alloc_text(PAGE, SfAttachToMountedDevice)
#pragma alloc_text(PAGE, SfIsAttachedToDevice)
#pragma alloc_text(PAGE, SfIsAttachedToDeviceW2K)
#pragma alloc_text(INIT, SfReadDriverParameters)
#pragma alloc_text(PAGE, SfIsShadowCopyVolume)

#if WINVER >= 0x0501
#pragma alloc_text(INIT, SfLoadDynamicFunctions)
#pragma alloc_text(INIT, SfGetCurrentVersion)
#pragma alloc_text(PAGE, SfEnumerateFileSystemVolumes)
#pragma alloc_text(PAGE, SfIsAttachedToDeviceWXPAndLater)
#endif

#endif


// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /
// 
//					Functions
// 
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

NTSTATUS
DriverEntry(
	IN PDRIVER_OBJECT DriverObject,
	IN PUNICODE_STRING RegistryPath
	)
/*++

Routine Description:

	This is the initialization routine for the SFILTER file system filter
	driver.  This routine creates the device object that represents this
	driver in the system and registers it for watching all file systems that
	register or unregister themselves as active file systems.

Arguments:

	DriverObject - Pointer to driver object created by the system.

Return Value:

	The function value is the final status from the initialization operation.

--*/
{
	PFAST_IO_DISPATCH FastIoDispatch;
	UNICODE_STRING NameString;
	NTSTATUS Status;
	ULONG i;

#if WINVER >= 0x0501
	// 
	// Try to load the dynamic functions that may be available for our use.
	// 
	SfLoadDynamicFunctions();

	// 
	// Now get the current OS version that we will use to determine what logic
	// paths to take when this driver is built to run on various OS version.
	// 
	SfGetCurrentVersion();
#endif

	// 
	// Get Registry values
	// 
	SfReadDriverParameters(RegistryPath);

	// 
	// Save our Driver Object, set our UNLOAD routine
	// 

	gSFilterDriverObject = DriverObject;

#if DBG && WINVER >= 0x0501

	// 
	// MULTIVERSION NOTE:
	// 
	// We can only support unload for testing environments if we can enumerate
	// the outstanding device objects that our driver has.
	// 
	
	// 
	// Unload is useful for development purposes. It is not recommended for
	// production versions
	// 
	if (NULL != gSfDynamicFunctions.EnumerateDeviceObjectList)		
		gSFilterDriverObject->DriverUnload = DriverUnload;
#endif

	Status = ExInitializeResourceLite(&gRulesResource);
	if (!NT_SUCCESS(Status))
	{
		KdPrint(("SFilter!DriverEntry: ExInitializeResourceLite failed, Status=%08x\n", Status));
		return Status;
	}

	Status = SfLoadRules(&gRuleFileHandle);
	if (!NT_SUCCESS(Status))
	{
		ExDeleteResourceLite(&gRulesResource);
		KdPrint(("SFilter!DriverEntry: SfLoadRules failed, Status=%08x\n", Status));
		return Status;
	}

	// 
	// Setup other global variables
	// 
	ExInitializeFastMutex(&gSfilterAttachLock);

	ExInitializePagedLookasideList(
		&gFsCtxLookAsideList,
		NULL,
		NULL,
		0,
		FSCTX_GENERIC_TABLE_POOL_SIZE,
		SFLT_POOL_TAG,
		0
		);
		
	ExInitializePagedLookasideList(
		&gFileNameLookAsideList,
		NULL,
		NULL,
		0,
		MAX_PATH * sizeof(WCHAR),
		SFLT_POOL_TAG,
		0
		);

	ExInitializeNPagedLookasideList(
		&gReadWriteCompletionCtxLookAsideList,
		NULL,
		NULL,
		0,
		sizeof(READ_WRITE_COMPLETION_CONTEXT),
		SFLT_POOL_TAG,
		0
		);

	// 
	// Create the Control Device Object (CDO).  This object represents this 
	// driver.  Note that it does not have a device extension.
	// 
	RtlInitUnicodeString(&NameString, L"\\FileSystem\\Filters\\SFilter");

	Status = IoCreateDevice(
		DriverObject,
		0,					  // has no device extension
		&NameString,
		FILE_DEVICE_DISK_FILE_SYSTEM,
		FILE_DEVICE_SECURE_OPEN,
		FALSE,
		&gSFilterControlDeviceObject
		);
	if (Status == STATUS_OBJECT_PATH_NOT_FOUND)
	{
		// x
		// This must be a version of the OS that doesn't have the Filters
		// path in its namespace.  This was added in Windows XP.
		// 
		// We will try just putting our control device object in the \FileSystem
		// portion of the object name space.
		// 

		RtlInitUnicodeString(&NameString, L"\\FileSystem\\SFilterCDO");

		Status = IoCreateDevice(
			DriverObject,
			0,					  // has no device extension
			&NameString,
			FILE_DEVICE_DISK_FILE_SYSTEM,
			FILE_DEVICE_SECURE_OPEN,
			FALSE,
			&gSFilterControlDeviceObject
			);
		if (!NT_SUCCESS(Status))
		{
			KdPrint(("SFilter!DriverEntry: Error creating control device object \"%wZ\", Status=%08x\n", &NameString, Status));
			ZwClose(&gRuleFileHandle);
			ExDeleteResourceLite(&gRulesResource);
			return Status;
		}
		
	}
	else if (!NT_SUCCESS(Status))
	{
		KdPrint(("SFilter!DriverEntry: Error creating control device object \"%wZ\", Status=%08x\n", &NameString, Status));
		ZwClose(&gRuleFileHandle);
		ExDeleteResourceLite(&gRulesResource);
		return Status;
	}

	// 
	// Initialize the driver object with this device driver's entry points.
	// 
	for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
	{
		DriverObject->MajorFunction[i] = SfPassThrough;
	}

	// 
	// We will use SfCreate for all the create operations
	// 
	DriverObject->MajorFunction[IRP_MJ_CREATE] = SfCreate;
	DriverObject->MajorFunction[IRP_MJ_CREATE_NAMED_PIPE] = SfCreate;
	DriverObject->MajorFunction[IRP_MJ_CREATE_MAILSLOT] = SfCreate;
	
	DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = SfFsControl;
	DriverObject->MajorFunction[IRP_MJ_CLEANUP] = SfCleanupClose;
	DriverObject->MajorFunction[IRP_MJ_CLOSE] = SfCleanupClose;
	DriverObject->MajorFunction[IRP_MJ_READ] = SfRead;
	DriverObject->MajorFunction[IRP_MJ_WRITE] = SfWrite;
	DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = SfDirectoryControl;
	DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = SfSetInformation;

	// 
	// Allocate fast I/O data structure and fill it in.
	// 
	// NOTE:  The following FastIo Routines are not supported:
	//	AcquireFileForNtCreateSection
	//	ReleaseFileForNtCreateSection
	//	AcquireForModWrite
	//	ReleaseForModWrite
	//	AcquireForCcFlush
	//	ReleaseForCcFlush
	// 
	// For historical reasons these FastIO's have never been sent to filters
	// by the NT I/O system.  Instead, they are sent directly to the base 
	// file system.  On Windows XP and later OS releases, you can use the new 
	// system routine "FsRtlRegisterFileSystemFilterCallbacks" if you need to 
	// intercept these callbacks (see below).
	// 

	FastIoDispatch = ExAllocatePoolWithTag(NonPagedPool, sizeof(FAST_IO_DISPATCH), SFLT_POOL_TAG);
	if (!FastIoDispatch)
	{
		IoDeleteDevice(gSFilterControlDeviceObject);
		ZwClose(&gRuleFileHandle);
		ExDeleteResourceLite(&gRulesResource);
		return STATUS_INSUFFICIENT_RESOURCES;
	}

	RtlZeroMemory(FastIoDispatch, sizeof(FAST_IO_DISPATCH));

	FastIoDispatch->SizeOfFastIoDispatch = sizeof(FAST_IO_DISPATCH);
	FastIoDispatch->FastIoCheckIfPossible = SfFastIoCheckIfPossible;
	FastIoDispatch->FastIoRead = SfFastIoRead;
	FastIoDispatch->FastIoWrite = SfFastIoWrite;
	FastIoDispatch->FastIoQueryBasicInfo = SfFastIoQueryBasicInfo;
	FastIoDispatch->FastIoQueryStandardInfo = SfFastIoQueryStandardInfo;
	FastIoDispatch->FastIoLock = SfFastIoLock;
	FastIoDispatch->FastIoUnlockSingle = SfFastIoUnlockSingle;
	FastIoDispatch->FastIoUnlockAll = SfFastIoUnlockAll;
	FastIoDispatch->FastIoUnlockAllByKey = SfFastIoUnlockAllByKey;
	FastIoDispatch->FastIoDeviceControl = SfFastIoDeviceControl;
	FastIoDispatch->FastIoDetachDevice = SfFastIoDetachDevice;
	FastIoDispatch->FastIoQueryNetworkOpenInfo = SfFastIoQueryNetworkOpenInfo;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欧美日韩亚洲| 欧美一区二区三区影视| 这里是久久伊人| 一色屋精品亚洲香蕉网站| 美女一区二区久久| 在线观看国产91| 亚洲欧美综合在线精品| 国产一区二区福利| 欧美一区二区成人6969| 亚洲精品国久久99热| 国产99一区视频免费| 精品av久久707| 日韩国产在线一| 欧美视频一区在线| 亚洲另类一区二区| 不卡高清视频专区| 日本一二三四高清不卡| 国产呦萝稀缺另类资源| 精品久久久久久亚洲综合网 | 精品亚洲porn| 欧美精品乱码久久久久久按摩| 国产精品成人一区二区三区夜夜夜| 蜜臀av一级做a爰片久久| 欧美精品1区2区3区| 亚洲图片有声小说| 欧美性生活久久| 亚洲成人激情综合网| 欧美日韩国产综合一区二区| 亚洲一区二区三区中文字幕 | 国产一区 二区| 精品国产电影一区二区| 激情欧美一区二区三区在线观看| 欧美一区二区三区人| 免费在线观看日韩欧美| 欧美成人一区二区| 久久国产尿小便嘘嘘| 26uuu亚洲| 国产a视频精品免费观看| 国产精品婷婷午夜在线观看| 国产91在线|亚洲| 中文字幕视频一区二区三区久| av成人动漫在线观看| 亚洲图片你懂的| 在线观看欧美日本| 日本在线播放一区二区三区| 日韩欧美一区在线观看| 国产精一品亚洲二区在线视频| 国产婷婷色一区二区三区四区 | 国产麻豆欧美日韩一区| 国产精品青草综合久久久久99| 成人免费不卡视频| 亚洲猫色日本管| 7777精品伊人久久久大香线蕉超级流畅| 青娱乐精品视频在线| xvideos.蜜桃一区二区| 99re免费视频精品全部| 亚洲第一主播视频| 精品粉嫩aⅴ一区二区三区四区| 成人黄色国产精品网站大全在线免费观看| 亚洲精选在线视频| 日韩视频免费观看高清在线视频| 国产一区二区不卡在线 | 欧美在线视频全部完| 另类人妖一区二区av| 国产欧美va欧美不卡在线| 在线亚洲免费视频| 国产老妇另类xxxxx| 一区二区三区欧美日| 欧美电影免费观看高清完整版 | 色综合天天在线| 亚洲午夜精品17c| 欧美成人伊人久久综合网| 97久久精品人人做人人爽| 日韩不卡手机在线v区| 中文幕一区二区三区久久蜜桃| 欧美亚洲禁片免费| 国产高清亚洲一区| 日本亚洲一区二区| 亚洲精品国产一区二区精华液 | 欧美日韩亚洲综合在线| 国产成人精品影视| 日韩av二区在线播放| 亚洲精品中文字幕乱码三区| 日韩精品中文字幕一区二区三区| 色香蕉成人二区免费| 国产成人a级片| 免费观看在线综合| 亚洲第一主播视频| 亚洲三级小视频| 久久久99精品久久| 精品国产成人系列| 91精品国产综合久久精品app| 99国产精品久| 国产激情一区二区三区| 蜜臀av亚洲一区中文字幕| 亚洲自拍都市欧美小说| 亚洲人成小说网站色在线| 久久久99精品久久| 久久久美女毛片| 精品国产乱码久久久久久久 | 中文字幕第一区二区| 久久久久综合网| 亚洲精品一区二区三区在线观看| 欧美巨大另类极品videosbest | 亚洲欧洲综合另类| 日本一区二区三区电影| 久久亚洲综合色一区二区三区| 欧美日高清视频| 在线精品视频一区二区| 99re成人精品视频| 91污在线观看| 99精品在线免费| 91在线国内视频| 91热门视频在线观看| aaa国产一区| 91天堂素人约啪| 一本大道久久a久久综合| 色猫猫国产区一区二在线视频| av高清久久久| 在线观看亚洲专区| 欧美精品电影在线播放| 51精品国自产在线| 欧美哺乳videos| 久久色在线观看| 中文字幕精品一区二区精品绿巨人 | 性欧美疯狂xxxxbbbb| 亚洲成人免费在线观看| 日本成人超碰在线观看| 久草热8精品视频在线观看| 激情文学综合网| 懂色av噜噜一区二区三区av| 91一区二区在线观看| 在线精品亚洲一区二区不卡| 91精品国产乱| 欧美日韩黄色影视| 色综合久久88色综合天天| 日本高清视频一区二区| 欧美一区二区三区爱爱| 欧美精品一区二区精品网| 国产精品动漫网站| 婷婷综合五月天| 激情偷乱视频一区二区三区| 成人91在线观看| 亚洲人成精品久久久久| 亚洲图片欧美综合| 国产乱码精品1区2区3区| 色婷婷久久一区二区三区麻豆| 欧美日韩的一区二区| 2023国产精品视频| 亚洲一区二区在线观看视频| 精品亚洲成a人在线观看 | 国产精品无遮挡| 午夜欧美大尺度福利影院在线看 | 日韩影院免费视频| 国产成人久久精品77777最新版本| 91麻豆免费看片| 26uuu亚洲综合色欧美| 一卡二卡欧美日韩| 国产美女精品人人做人人爽| 91久久精品国产91性色tv| 精品国产91亚洲一区二区三区婷婷| 中文字幕日韩精品一区| 美国一区二区三区在线播放| 91香蕉视频mp4| 久久人人爽爽爽人久久久| 亚洲成人av在线电影| 成人高清免费在线播放| 精品欧美一区二区久久| 亚洲国产综合91精品麻豆| 国产成人精品在线看| 日韩欧美一级精品久久| 一区二区高清视频在线观看| 成人午夜av电影| 精品久久久影院| 麻豆专区一区二区三区四区五区| 色综合网色综合| 中文字幕av一区二区三区高 | 久久久久久久久伊人| 男人的天堂亚洲一区| 欧美日韩精品一区二区| 中文字幕一区二区三区四区| 国产精品一线二线三线精华| 欧美一区二区在线观看| 五月婷婷激情综合网| 91免费版pro下载短视频| 国产精品麻豆一区二区 | 中文在线免费一区三区高中清不卡| 免费观看在线综合色| 91精品国产色综合久久ai换脸| 亚洲美腿欧美偷拍| 色婷婷久久久亚洲一区二区三区 | 久久日韩粉嫩一区二区三区| 久久精品国产精品亚洲红杏| 欧美一区二区三区电影| 天天综合天天做天天综合| 欧美日韩另类一区| 亚洲va欧美va国产va天堂影院| 欧美日韩国产高清一区二区三区| 亚洲妇熟xx妇色黄| 欧美精品 日韩|