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

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

?? test.cpp

?? 一個文件過濾驅動的實例
?? CPP
字號:
// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <windows.h>
#include <winioctl.h>
#include <stdio.h>
#include <string.h>


#define MASK_ENCRYPT_PROTECT 0x1
#define MASK_STATIC_PROTECT  0x2
#define MASK_CHECK_PROTECT   0x4

#define IS_ENCRYPT_PROTECT(x) ((x) & MASK_ENCRYPT_PROTECT)
#define IS_STATIC_PROTECT(x)     ((x) & MASK_STATIC_PROTECT)
#define IS_CHECK_PROTECT(x)      ((x) & MASK_CHECK_PROTECT)

#define SET_ENCRYPT_PROTECT(x) ((x) | MASK_ENCRYPT_PROTECT)
#define SET_STATIC_PROTECT(x)     ((x) | MASK_STATIC_PROTECT)
#define SET_CHECK_PROTECT(x)      ((x) | MASK_CHECK_PROTECT)

#define CLEAR_ENCENCRYPT_PROTECT(x) ((x) & (~MASK_ENCRYPT_PROTECT))
#define CLEAR_STATIC_PROTECT(x)     ((x) & (~MASK_STATIC_PROTECT))
#define CLEAR_CHECK_PROTECT(x)      ((x) & (~MASK_CHECK_PROTECT))

#define HASH_LENGTH 20 // hash值的長度,以Byte為單位

typedef enum _ENCRYPTED_STATUS {
		NotChecked,		// 表示還沒有進行過是否是加密文件的檢查
		Encrypted,		// 表示已經進行過加密文件檢查,并確認已經加過密
		NotEncrypted	// 表示已經進行過加密文件檢查,并確認還沒有進行加密
}ENCRYPTED_STATUS;

//
// Maximum path length of pathname. This is larger than Win32 maxpath
// because network drives have leading paths
//
#define MAXPATHLEN      256
//
// 受保護文件的結構
//
typedef struct _FILE_PROTECT_LIST_ITEM* PFILE_PROTECT_LIST_ITEM;
typedef struct _FILE_PROTECT_LIST_ITEM
{
	WCHAR					ProtectedFileName[MAXPATHLEN];
	LONG					ProtectedFlag;			// 保存一個掩碼值,表示對受保護的文件采用何種保護方法
	BYTE					Hash[ HASH_LENGTH ];    // 160bits Hash值
	ENCRYPTED_STATUS		Encrypted_Check_Status;   
	LONG					FileRealLength;			// 文件經過加密后,文件長度有可能變長,故,我們得維護真實的文件長度
}FILE_PROTECT_LIST_ITEM;

// Define the various device type values.  Note that values used by Microsoft
// Corporation are in the range 0-32767, and 32768-65535 are reserved for use
// by customers.
//
#define FILE_DEVICE_FSTPM	0x00009001

//
// Version #
//
#define FSTPMVERSION    100

//
// commands that the GUI can send the device driver
// 
#define IOCTL_FSTPM_ADD_PROTECT_FILE    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x00, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_DELETE_PROTECT_FILE    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x01, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_SET_CHECK_PROTECT_STATUS    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x02, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_SET_STATIC_PROTECT_STATUS    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x03, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_SET_ENCRYPT_PROTECT    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x04, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_QUERY_PROTECT_FILE    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x05, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_QUERY_PROTECT_LIST    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x06, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_QUERY_PROTECT_FILE_COUNT    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x07, METHOD_BUFFERED, FILE_ANY_ACCESS ) 
#define IOCTL_FSTPM_SET_EVENT    (ULONG) CTL_CODE( FILE_DEVICE_FSTPM, 0x08, METHOD_BUFFERED, FILE_ANY_ACCESS ) 

FILE_PROTECT_LIST_ITEM Item={0};


UINT TPMQueryProtectFileCount(HANDLE hd)
{

	ULONG count;
	ULONG re;
    ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_QUERY_PROTECT_FILE_COUNT,
		0,
		0,
		&count,
		sizeof(count),
		&re,
		NULL
		);
	return count;	
}

void TPMAddItemToList(HANDLE hd, PFILE_PROTECT_LIST_ITEM pItem)
{
	ULONG re;
	ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_ADD_PROTECT_FILE,
		(PVOID)pItem,
		sizeof(FILE_PROTECT_LIST_ITEM),
		0,
		0,
		&re,
		NULL
		);
	printf("Code is: %u\n",IOCTL_FSTPM_ADD_PROTECT_FILE);
}


void TPMDelItemFromList(HANDLE hd, PFILE_PROTECT_LIST_ITEM pItem)
{
	ULONG re;
	ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_DELETE_PROTECT_FILE,
		(PVOID)pItem,
		sizeof(FILE_PROTECT_LIST_ITEM),
		0,
		0,
		&re,
		NULL
		);
	printf("Code is: %u\n",IOCTL_FSTPM_ADD_PROTECT_FILE);
}

void TPMSetStaticProtectStatus(HANDLE hd, BOOL b)
{
	ULONG re;
	ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_SET_STATIC_PROTECT_STATUS,
		&b,
		1,
		0,
		0,
		&re,
		NULL
		);
}

void TPMSetCheckProtectStatus(HANDLE hd, BOOL b)
{
	ULONG re;
	ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_SET_CHECK_PROTECT_STATUS,
		&b,
		1,
		0,
		0,
		&re,
		NULL
		);
}

void TPMSetEncyptProtectStatus(HANDLE hd, BOOL b)
{
	ULONG re;
	ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_SET_ENCRYPT_PROTECT,
		&b,
		1,
		0,
		0,
		&re,
		NULL
		);
}

void TPMSetEvent(HANDLE hd , BOOL b)
{
	ULONG re;
	ULONG bResult=DeviceIoControl(hd,
		IOCTL_FSTPM_SET_EVENT,
		&b,
		1,
		0,
		0,
		&re,
		NULL
		);
	
}

int main(int argc, char* argv[])
{	
	HANDLE hEvent=OpenEvent(SYNCHRONIZE, FALSE, "tpmreq");
	
	//Item.ProtectedFlag = SET_STATIC_PROTECT(Item.ProtectedFlag);
	//Item.ProtectedFlag = SET_CHECK_PROTECT(Item.ProtectedFlag);
	Item.ProtectedFlag = SET_ENCRYPT_PROTECT(Item.ProtectedFlag);
	wcscpy(Item.ProtectedFileName,L"C:\\你好.txt");

	Item.Hash[0]=1;

	HANDLE hd=CreateFile("\\\\.\\FsTPM",GENERIC_READ | GENERIC_WRITE
						,0,
						NULL,
						OPEN_EXISTING,
						FILE_ATTRIBUTE_NORMAL,
						NULL
						);
	
	if (hd==NULL)
	{
		printf("Open File Driver Error!\n");
		return 0;
	}
		
	//TPMSetCheckProtectStatus(hd,TRUE);
	//TPMSetStaticProtectStatus(hd,TRUE);
	TPMSetEncyptProtectStatus(hd,TRUE);

	int count=-1;
	printf("File Items Count = %d\n",count = TPMQueryProtectFileCount(hd));
	TPMAddItemToList(hd, &Item);
	printf("File Items Count = %d\n",count = TPMQueryProtectFileCount(hd));
	//wcscpy(Item.ProtectedFileName,L"C:\\test.txt");
	//TPMDelItemFromList(hd,&Item);
	//printf("File Items Count = %d\n",count = TPMQueryProtectFileCount(hd));
	printf("Wait...\n");
	
	WaitForSingleObject(hEvent,100000000);

	printf("Request ... ");

	ResetEvent(hEvent);
	TPMSetEvent(hd,TRUE);
	
	printf("Say Yes\n");

	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区欧美一区| 盗摄精品av一区二区三区| 丁香激情综合五月| 日韩视频免费直播| 综合亚洲深深色噜噜狠狠网站| 日韩电影免费一区| 欧洲另类一二三四区| 中文字幕一区av| 国产一区三区三区| 日韩欧美国产一二三区| 婷婷综合另类小说色区| 色婷婷精品大在线视频| 欧美极品xxx| 国产成人鲁色资源国产91色综| 日韩视频一区在线观看| 亚洲成人免费看| 在线观看精品一区| 亚洲综合视频网| 一本大道久久a久久精品综合| 国产精品毛片久久久久久久| 粉嫩蜜臀av国产精品网站| 久久夜色精品国产噜噜av| 久久电影网站中文字幕 | 色呦呦日韩精品| 国产欧美日韩麻豆91| 国产成人aaa| 欧美激情在线看| 99精品欧美一区二区三区综合在线| 欧美国产综合一区二区| 处破女av一区二区| 国产精品久久久久久久久久久免费看 | 中文字幕国产精品一区二区| 国产精品亚洲人在线观看| 久久综合九色综合97_久久久| 美国精品在线观看| 欧美电影免费观看完整版| 麻豆成人久久精品二区三区红 | 亚洲va韩国va欧美va| 欧美在线播放高清精品| 日日骚欧美日韩| 日韩精品中文字幕一区| 国产在线一区观看| 欧美激情一区二区三区全黄| 波波电影院一区二区三区| 亚洲免费看黄网站| 5月丁香婷婷综合| 韩国成人精品a∨在线观看| 国产亚洲精久久久久久| 99久久夜色精品国产网站| 一区二区欧美精品| 日韩欧美国产一二三区| 成人激情文学综合网| 亚洲国产精品嫩草影院| 日韩网站在线看片你懂的| 成人免费av在线| 亚洲一区二区在线免费观看视频| 91精品中文字幕一区二区三区| 韩国理伦片一区二区三区在线播放| 国产亚洲欧美日韩俺去了| 91久久线看在观草草青青| 热久久久久久久| 国产精品免费视频网站| 在线不卡免费欧美| 国产aⅴ综合色| 日韩精品五月天| 亚洲欧美综合色| 日韩欧美高清一区| 91网址在线看| 久久av中文字幕片| 亚洲一区二区三区中文字幕| 精品国产免费人成在线观看| 色呦呦网站一区| 国产成人自拍高清视频在线免费播放| 亚洲精品欧美专区| 久久久精品国产免大香伊| 欧美日韩在线播放一区| 国产aⅴ综合色| 久久不见久久见免费视频7| 亚洲自拍偷拍网站| 国产精品美女久久久久久久| 日韩一区二区在线看片| 91黄色在线观看| www.99精品| 国产一二精品视频| 美女在线一区二区| 午夜激情综合网| 亚洲另类色综合网站| 欧美经典一区二区| 欧美r级在线观看| 宅男噜噜噜66一区二区66| 色综合久久中文字幕综合网| 国产69精品久久久久777| 蜜桃免费网站一区二区三区 | 亚洲欧洲精品成人久久奇米网| 欧美刺激脚交jootjob| 欧美日韩夫妻久久| 色琪琪一区二区三区亚洲区| 成人国产一区二区三区精品| 国产精品一区二区视频| 国产中文字幕精品| 精品中文字幕一区二区小辣椒| 亚洲成av人片在线| 五月婷婷激情综合| 亚洲风情在线资源站| 亚洲综合视频在线观看| 一区二区三区四区激情| 一区二区三区四区中文字幕| 亚洲日本在线天堂| 樱桃视频在线观看一区| 亚洲自拍都市欧美小说| 亚洲国产日韩a在线播放性色| 一区二区三区日韩欧美精品| 一区二区高清免费观看影视大全| 亚洲卡通动漫在线| 一区二区三区加勒比av| 亚洲妇女屁股眼交7| 视频在线观看一区| 美女精品一区二区| 国产精品综合一区二区| 成人免费毛片app| 91麻豆文化传媒在线观看| 色美美综合视频| 欧美日韩的一区二区| 欧美成人精品福利| 国产欧美一区二区精品忘忧草 | 色丁香久综合在线久综合在线观看| 91麻豆国产香蕉久久精品| 欧美影院精品一区| 制服.丝袜.亚洲.另类.中文| 精品美女在线播放| 国产精品第13页| 亚洲国产cao| 激情av综合网| 波多野结衣精品在线| 欧美丝袜丝交足nylons图片| 91精品国产91久久久久久最新毛片 | 欧美日本一区二区在线观看| 精品乱人伦小说| 一区精品在线播放| 午夜国产精品一区| 国产乱码精品一区二区三| 91在线观看视频| 欧美成人三级在线| 亚洲女爱视频在线| 九一久久久久久| 色系网站成人免费| 日韩欧美国产精品一区| 亚洲欧美激情一区二区| 日韩成人dvd| jiyouzz国产精品久久| 91麻豆精品国产91久久久资源速度| 久久亚洲捆绑美女| 亚洲午夜三级在线| 国产成人在线电影| 欧美一区二区三区在线看| 1000部国产精品成人观看| 免费成人你懂的| 在线看国产一区二区| 国产精品午夜久久| 毛片av一区二区| 色综合网站在线| 久久久久国产免费免费| 丝袜a∨在线一区二区三区不卡| 国产成人精品www牛牛影视| 91精品国产综合久久久久| 中文字幕一区二区三区在线播放| 麻豆精品视频在线| 欧美色欧美亚洲另类二区| 国产精品欧美一区喷水| 九九国产精品视频| 欧美精品1区2区3区| 亚洲精品欧美激情| 粉嫩蜜臀av国产精品网站| 精品国产一区a| 日韩在线一区二区| 欧美日韩一区国产| 亚洲精品第一国产综合野| 国产盗摄精品一区二区三区在线| 日韩精品一区二区三区三区免费 | 成人动漫一区二区| 久久久久久久综合| 国产综合色视频| 精品裸体舞一区二区三区| 美女一区二区三区| 日韩一级黄色片| 日韩av在线免费观看不卡| 欧美人与禽zozo性伦| 亚洲一卡二卡三卡四卡无卡久久| 91丨porny丨中文| 亚洲男人的天堂一区二区| proumb性欧美在线观看| 欧美极品aⅴ影院| 成人动漫一区二区| 亚洲女同一区二区| 色噜噜狠狠色综合中国| 亚洲综合色噜噜狠狠| 在线一区二区视频| 午夜视频一区二区三区| 欧美男男青年gay1069videost| 亚洲影视在线播放|