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

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

?? fileinfo.c

?? FSD file system driver
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* 
 * FFS File System Driver for Windows
 *
 * fileinfo.c
 *
 * 2004.5.6 ~
 *
 * Lee Jae-Hong, http://www.pyrasis.com
 *
 * See License.txt
 *
 */

#include "ntifs.h"
#include "ffsdrv.h"

/* Globals */

extern PFFS_GLOBAL FFSGlobal;


/* Definitions */

#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, FFSQueryInformation)
#pragma alloc_text(PAGE, FFSSetInformation)
#pragma alloc_text(PAGE, FFSExpandFile)
#pragma alloc_text(PAGE, FFSTruncateFile)
#pragma alloc_text(PAGE, FFSSetDispositionInfo)
#pragma alloc_text(PAGE, FFSSetRenameInfo)
#pragma alloc_text(PAGE, FFSDeleteFile)
#endif


NTSTATUS
FFSQueryInformation(
	IN PFFS_IRP_CONTEXT IrpContext)
{
	PDEVICE_OBJECT          DeviceObject;
	NTSTATUS                Status = STATUS_UNSUCCESSFUL;
	PFILE_OBJECT            FileObject;
	PFFS_VCB                Vcb;
	PFFS_FCB                Fcb;
	PFFS_CCB                Ccb;
	PIRP                    Irp;
	PIO_STACK_LOCATION      IoStackLocation;
	FILE_INFORMATION_CLASS  FileInformationClass;
	ULONG                   Length;
	PVOID                   Buffer;
	BOOLEAN                 FcbResourceAcquired = FALSE;

	__try
	{
		ASSERT(IrpContext != NULL);

		ASSERT((IrpContext->Identifier.Type == FFSICX) &&
				(IrpContext->Identifier.Size == sizeof(FFS_IRP_CONTEXT)));

		DeviceObject = IrpContext->DeviceObject;

		//
		// This request is not allowed on the main device object
		//
		if (DeviceObject == FFSGlobal->DeviceObject)
		{
			Status = STATUS_INVALID_DEVICE_REQUEST;
			__leave;
		}

		FileObject = IrpContext->FileObject;

		Vcb = (PFFS_VCB)DeviceObject->DeviceExtension;

		ASSERT(Vcb != NULL);

		Fcb = (PFFS_FCB)FileObject->FsContext;

		ASSERT(Fcb != NULL);

		//
		// This request is not allowed on volumes
		//
		if (Fcb->Identifier.Type == FFSVCB)
		{
			Status = STATUS_INVALID_PARAMETER;
			__leave;
		}

		ASSERT((Fcb->Identifier.Type == FFSFCB) &&
				(Fcb->Identifier.Size == sizeof(FFS_FCB)));
		/*        
		if (!IsFlagOn(Fcb->Vcb->Flags, VCB_READ_ONLY) &&
			!FlagOn(Fcb->Flags, FCB_PAGE_FILE))
		*/
		{
			if (!ExAcquireResourceSharedLite(
						&Fcb->MainResource,
						IrpContext->IsSynchronous))
			{
				Status = STATUS_PENDING;
				__leave;
			}

			FcbResourceAcquired = TRUE;
		}

		Ccb = (PFFS_CCB)FileObject->FsContext2;

		ASSERT(Ccb != NULL);

		ASSERT((Ccb->Identifier.Type == FFSCCB) &&
				(Ccb->Identifier.Size == sizeof(FFS_CCB)));

		Irp = IrpContext->Irp;

		IoStackLocation = IoGetCurrentIrpStackLocation(Irp);

		FileInformationClass =
			IoStackLocation->Parameters.QueryFile.FileInformationClass;

		Length = IoStackLocation->Parameters.QueryFile.Length;

		Buffer = Irp->AssociatedIrp.SystemBuffer;

		RtlZeroMemory(Buffer, Length);

		switch (FileInformationClass)
		{
			case FileBasicInformation:
				{
					PFILE_BASIC_INFORMATION FileBasicInformation;

					if (Length < sizeof(FILE_BASIC_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileBasicInformation = (PFILE_BASIC_INFORMATION)Buffer;

					if (FS_VERSION == 1)
					{
						FileBasicInformation->CreationTime = FFSSysTime(Fcb->dinode1->di_ctime);

						FileBasicInformation->LastAccessTime = FFSSysTime(Fcb->dinode1->di_atime);

						FileBasicInformation->LastWriteTime = FFSSysTime(Fcb->dinode1->di_mtime);

						FileBasicInformation->ChangeTime = FFSSysTime(Fcb->dinode1->di_mtime);
					}
					else
					{
						FileBasicInformation->CreationTime = FFSSysTime((ULONG)Fcb->dinode2->di_ctime);

						FileBasicInformation->LastAccessTime = FFSSysTime((ULONG)Fcb->dinode2->di_atime);

						FileBasicInformation->LastWriteTime = FFSSysTime((ULONG)Fcb->dinode2->di_mtime);

						FileBasicInformation->ChangeTime = FFSSysTime((ULONG)Fcb->dinode2->di_mtime);
					}

					FileBasicInformation->FileAttributes = Fcb->FFSMcb->FileAttr;

					Irp->IoStatus.Information = sizeof(FILE_BASIC_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}

#if (_WIN32_WINNT >= 0x0500)

			case FileAttributeTagInformation:
				{
					PFILE_ATTRIBUTE_TAG_INFORMATION FATI;

					if (Length < sizeof(FILE_ATTRIBUTE_TAG_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FATI = (PFILE_ATTRIBUTE_TAG_INFORMATION) Buffer;

					FATI->FileAttributes = Fcb->FFSMcb->FileAttr;
					FATI->ReparseTag = 0;

					Irp->IoStatus.Information = sizeof(FILE_ATTRIBUTE_TAG_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}
#endif // (_WIN32_WINNT >= 0x0500)

			case FileStandardInformation:
				{
					PFILE_STANDARD_INFORMATION FileStandardInformation;

					if (Length < sizeof(FILE_STANDARD_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileStandardInformation = (PFILE_STANDARD_INFORMATION)Buffer;

					if (FS_VERSION == 1)
					{
						FileStandardInformation->AllocationSize.QuadPart =
							(LONGLONG)(Fcb->dinode1->di_size);

						FileStandardInformation->EndOfFile.QuadPart =
							(LONGLONG)(Fcb->dinode1->di_size);

						FileStandardInformation->NumberOfLinks = Fcb->dinode1->di_nlink;
					}
					else
					{
						FileStandardInformation->AllocationSize.QuadPart =
							(LONGLONG)(Fcb->dinode2->di_size);

						FileStandardInformation->EndOfFile.QuadPart =
							(LONGLONG)(Fcb->dinode2->di_size);

						FileStandardInformation->NumberOfLinks = Fcb->dinode2->di_nlink;
					}

					if (IsFlagOn(Fcb->Vcb->Flags, VCB_READ_ONLY))
						FileStandardInformation->DeletePending = FALSE;
					else
						FileStandardInformation->DeletePending = IsFlagOn(Fcb->Flags, FCB_DELETE_PENDING);                

					if (Fcb->FFSMcb->FileAttr & FILE_ATTRIBUTE_DIRECTORY)
					{
						FileStandardInformation->Directory = TRUE;
					}
					else
					{
						FileStandardInformation->Directory = FALSE;
					}

					Irp->IoStatus.Information = sizeof(FILE_STANDARD_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}

			case FileInternalInformation:
				{
					PFILE_INTERNAL_INFORMATION FileInternalInformation;

					if (Length < sizeof(FILE_INTERNAL_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileInternalInformation = (PFILE_INTERNAL_INFORMATION)Buffer;

					// The "inode number"
					FileInternalInformation->IndexNumber.QuadPart = (LONGLONG)Fcb->FFSMcb->Inode;

					Irp->IoStatus.Information = sizeof(FILE_INTERNAL_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}

			case FileEaInformation:
				{
					PFILE_EA_INFORMATION FileEaInformation;

					if (Length < sizeof(FILE_EA_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileEaInformation = (PFILE_EA_INFORMATION)Buffer;

					// Romfs doesn't have any extended attributes
					FileEaInformation->EaSize = 0;

					Irp->IoStatus.Information = sizeof(FILE_EA_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}

			case FileNameInformation:
				{
					PFILE_NAME_INFORMATION FileNameInformation;

					if (Length < sizeof(FILE_NAME_INFORMATION) +
							Fcb->FFSMcb->ShortName.Length - sizeof(WCHAR))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileNameInformation = (PFILE_NAME_INFORMATION)Buffer;

					FileNameInformation->FileNameLength = Fcb->FFSMcb->ShortName.Length;

					RtlCopyMemory(
							FileNameInformation->FileName,
							Fcb->FFSMcb->ShortName.Buffer,
							Fcb->FFSMcb->ShortName.Length);

					Irp->IoStatus.Information = sizeof(FILE_NAME_INFORMATION) +
						Fcb->FFSMcb->ShortName.Length - sizeof(WCHAR);
					Status = STATUS_SUCCESS;
					__leave;
				}

			case FilePositionInformation:
				{
					PFILE_POSITION_INFORMATION FilePositionInformation;

					if (Length < sizeof(FILE_POSITION_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FilePositionInformation = (PFILE_POSITION_INFORMATION)Buffer;

					FilePositionInformation->CurrentByteOffset =
						FileObject->CurrentByteOffset;

					Irp->IoStatus.Information = sizeof(FILE_POSITION_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}

			case FileAllInformation:
				{
					PFILE_ALL_INFORMATION       FileAllInformation;
					PFILE_BASIC_INFORMATION     FileBasicInformation;
					PFILE_STANDARD_INFORMATION  FileStandardInformation;
					PFILE_INTERNAL_INFORMATION  FileInternalInformation;
					PFILE_EA_INFORMATION        FileEaInformation;
					PFILE_POSITION_INFORMATION  FilePositionInformation;
					PFILE_NAME_INFORMATION      FileNameInformation;

					if (Length < sizeof(FILE_ALL_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileAllInformation = (PFILE_ALL_INFORMATION)Buffer;

					FileBasicInformation =
						&FileAllInformation->BasicInformation;

					FileStandardInformation =
						&FileAllInformation->StandardInformation;

					FileInternalInformation =
						&FileAllInformation->InternalInformation;

					FileEaInformation =
						&FileAllInformation->EaInformation;

					FilePositionInformation =
						&FileAllInformation->PositionInformation;

					FileNameInformation =
						&FileAllInformation->NameInformation;

					if (FS_VERSION == 1)
					{
						FileBasicInformation->CreationTime = FFSSysTime(Fcb->dinode1->di_ctime);

						FileBasicInformation->LastAccessTime = FFSSysTime(Fcb->dinode1->di_atime);

						FileBasicInformation->LastWriteTime = FFSSysTime(Fcb->dinode1->di_mtime);

						FileBasicInformation->ChangeTime = FFSSysTime(Fcb->dinode1->di_mtime);

						FileBasicInformation->FileAttributes = Fcb->FFSMcb->FileAttr;

						FileStandardInformation->AllocationSize.QuadPart =
							(LONGLONG)(Fcb->dinode1->di_size);

						FileStandardInformation->EndOfFile.QuadPart =
							(LONGLONG)(Fcb->dinode1->di_size);

						FileStandardInformation->NumberOfLinks = Fcb->dinode1->di_nlink;
					}
					else
					{
						FileBasicInformation->CreationTime = FFSSysTime((ULONG)Fcb->dinode2->di_ctime);

						FileBasicInformation->LastAccessTime = FFSSysTime((ULONG)Fcb->dinode2->di_atime);

						FileBasicInformation->LastWriteTime = FFSSysTime((ULONG)Fcb->dinode2->di_mtime);

						FileBasicInformation->ChangeTime = FFSSysTime((ULONG)Fcb->dinode2->di_mtime);

						FileBasicInformation->FileAttributes = Fcb->FFSMcb->FileAttr;

						FileStandardInformation->AllocationSize.QuadPart =
							(LONGLONG)(Fcb->dinode2->di_size);

						FileStandardInformation->EndOfFile.QuadPart =
							(LONGLONG)(Fcb->dinode2->di_size);

						FileStandardInformation->NumberOfLinks = Fcb->dinode2->di_nlink;
					}

					if (IsFlagOn(Fcb->Vcb->Flags, VCB_READ_ONLY))
						FileStandardInformation->DeletePending = FALSE;
					else
						FileStandardInformation->DeletePending = IsFlagOn(Fcb->Flags, FCB_DELETE_PENDING);

					if (FlagOn(Fcb->FFSMcb->FileAttr, FILE_ATTRIBUTE_DIRECTORY))
					{
						FileStandardInformation->Directory = TRUE;
					}
					else
					{
						FileStandardInformation->Directory = FALSE;
					}

					// The "inode number"
					FileInternalInformation->IndexNumber.QuadPart = (LONGLONG)Fcb->FFSMcb->Inode;

					// Romfs doesn't have any extended attributes
					FileEaInformation->EaSize = 0;

					FilePositionInformation->CurrentByteOffset =
						FileObject->CurrentByteOffset;

					if (Length < sizeof(FILE_ALL_INFORMATION) +
							Fcb->FFSMcb->ShortName.Length - sizeof(WCHAR))
					{
						Irp->IoStatus.Information = sizeof(FILE_ALL_INFORMATION);
						Status = STATUS_BUFFER_OVERFLOW;
						__leave;
					}

					FileNameInformation->FileNameLength = Fcb->FFSMcb->ShortName.Length;

					RtlCopyMemory(
							FileNameInformation->FileName,
							Fcb->FFSMcb->ShortName.Buffer,
							Fcb->FFSMcb->ShortName.Length);

					Irp->IoStatus.Information = sizeof(FILE_ALL_INFORMATION) +
						Fcb->FFSMcb->ShortName.Length - sizeof(WCHAR);
					Status = STATUS_SUCCESS;
					__leave;
				}

			/*
			case FileAlternateNameInformation:
			   {
				// TODO: Handle FileAlternateNameInformation

				// Here we would like to use RtlGenerate8dot3Name but I don't
				// know how to use the argument PGENERATE_NAME_CONTEXT
			}
			*/

			case FileNetworkOpenInformation:
				{
					PFILE_NETWORK_OPEN_INFORMATION FileNetworkOpenInformation;

					if (Length < sizeof(FILE_NETWORK_OPEN_INFORMATION))
					{
						Status = STATUS_INFO_LENGTH_MISMATCH;
						__leave;
					}

					FileNetworkOpenInformation =
						(PFILE_NETWORK_OPEN_INFORMATION)Buffer;

					if (FS_VERSION == 1)
					{
						FileNetworkOpenInformation->CreationTime = FFSSysTime(Fcb->dinode1->di_ctime);

						FileNetworkOpenInformation->LastAccessTime = FFSSysTime(Fcb->dinode1->di_atime);

						FileNetworkOpenInformation->LastWriteTime = FFSSysTime(Fcb->dinode1->di_mtime);

						FileNetworkOpenInformation->ChangeTime = FFSSysTime(Fcb->dinode1->di_mtime);

						FileNetworkOpenInformation->AllocationSize.QuadPart =
							(LONGLONG)(Fcb->dinode1->di_size);

						FileNetworkOpenInformation->EndOfFile.QuadPart =
							(LONGLONG)(Fcb->dinode1->di_size);
					}
					else
					{
						FileNetworkOpenInformation->CreationTime = FFSSysTime((ULONG)Fcb->dinode2->di_ctime);

						FileNetworkOpenInformation->LastAccessTime = FFSSysTime((ULONG)Fcb->dinode2->di_atime);

						FileNetworkOpenInformation->LastWriteTime = FFSSysTime((ULONG)Fcb->dinode2->di_mtime);

						FileNetworkOpenInformation->ChangeTime = FFSSysTime((ULONG)Fcb->dinode2->di_mtime);

						FileNetworkOpenInformation->AllocationSize.QuadPart =
							(LONGLONG)(Fcb->dinode2->di_size);

						FileNetworkOpenInformation->EndOfFile.QuadPart =
							(LONGLONG)(Fcb->dinode2->di_size);
					}

					FileNetworkOpenInformation->FileAttributes =
						Fcb->FFSMcb->FileAttr;

					Irp->IoStatus.Information =
						sizeof(FILE_NETWORK_OPEN_INFORMATION);
					Status = STATUS_SUCCESS;
					__leave;
				}

			default:
				Status = STATUS_INVALID_INFO_CLASS;
		}
	}
	__finally
	{
		if (FcbResourceAcquired)
		{
			ExReleaseResourceForThreadLite(
					&Fcb->MainResource,
					ExGetCurrentResourceThread());
		}

		if (!IrpContext->ExceptionInProgress)
		{
			if (Status == STATUS_PENDING)
			{
				FFSQueueRequest(IrpContext);
			}
			else
			{
				FFSCompleteIrpContext(IrpContext,  Status);
			}
		}
	}

	return Status;
}


NTSTATUS
FFSSetInformation(
	IN PFFS_IRP_CONTEXT IrpContext)
{
	PDEVICE_OBJECT          DeviceObject;
	NTSTATUS                Status = STATUS_UNSUCCESSFUL;
	PFFS_VCB                Vcb;
	PFILE_OBJECT            FileObject;
	PFFS_FCB                Fcb;
	PFFS_CCB                Ccb;
	PIRP                    Irp;
	PIO_STACK_LOCATION      IoStackLocation;
	FILE_INFORMATION_CLASS  FileInformationClass;

	ULONG                   NotifyFilter = 0;

	ULONG                   Length;
	PVOID                   Buffer;
	BOOLEAN                 FcbMainResourceAcquired = FALSE;

	BOOLEAN                 VcbResourceAcquired = FALSE;
	BOOLEAN                 FcbPagingIoResourceAcquired = FALSE;


	__try
	{
		ASSERT(IrpContext != NULL);

		ASSERT((IrpContext->Identifier.Type == FFSICX) &&
				(IrpContext->Identifier.Size == sizeof(FFS_IRP_CONTEXT)));

		DeviceObject = IrpContext->DeviceObject;

		//
		// This request is not allowed on the main device object
		//
		if (DeviceObject == FFSGlobal->DeviceObject)
		{
			Status = STATUS_INVALID_DEVICE_REQUEST;
			__leave;
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
石原莉奈在线亚洲三区| 亚洲欧美一区二区三区极速播放 | 婷婷开心久久网| 日本道色综合久久| 亚洲一区成人在线| 欧美日韩在线综合| 日韩不卡手机在线v区| 精品久久99ma| 成人在线综合网| 一区二区三区四区av| 欧美日韩激情一区| 久久精品国产99久久6| 久久久91精品国产一区二区三区| 国产99久久久国产精品潘金| 久久se这里有精品| 欧美精品一区二区三区视频| 盗摄精品av一区二区三区| 一区二区三区在线免费| 宅男在线国产精品| 国产一区二区三区观看| 亚洲色图制服诱惑| 欧美日韩1区2区| 国产在线国偷精品产拍免费yy| www.色综合.com| 99国产精品久久久| 日韩专区欧美专区| 久久综合九色综合欧美就去吻| 成人精品视频网站| 天天av天天翘天天综合网| 欧美成人精品高清在线播放| 99久久婷婷国产精品综合| 午夜精品成人在线视频| 久久亚洲一级片| 91老师片黄在线观看| 日韩国产欧美视频| 中文字幕一区二| 欧美一区二区日韩| 99久久精品久久久久久清纯| 美洲天堂一区二卡三卡四卡视频| 国产精品免费人成网站| 欧美一级夜夜爽| 91污在线观看| 久久精品国产第一区二区三区| 亚洲人成7777| 国产午夜久久久久| 欧美一区二区视频在线观看2022 | 五月天网站亚洲| 日本一区二区电影| 欧美mv和日韩mv的网站| 欧美日韩国产在线播放网站| 成人av手机在线观看| 激情综合色播五月| 亚洲不卡一区二区三区| 日韩久久一区二区| 国产亚洲美州欧州综合国| 7777精品伊人久久久大香线蕉的 | 亚洲五码中文字幕| 亚洲色图.com| 国产精品久久久久久久岛一牛影视 | 69堂精品视频| 日韩美一区二区三区| 国产一区二区三区观看| 亚洲成人动漫在线免费观看| 亚洲国产精品成人综合| 国产精品美女一区二区三区| 日韩欧美电影一区| 欧美日韩精品一区二区三区蜜桃 | 九九视频精品免费| 一区二区成人在线观看| 国产精品久久久久久久久动漫| 欧美日本韩国一区| 972aa.com艺术欧美| 久久国产欧美日韩精品| 性做久久久久久久免费看| 国产精品萝li| 亚洲另类在线一区| 欧美国产精品一区| 久久国产精品99久久人人澡| 国产在线精品视频| 日韩精品91亚洲二区在线观看 | 国产精品天天看| 国产精品美女久久久久aⅴ国产馆| 国产盗摄一区二区三区| 精品在线播放免费| 激情文学综合丁香| 国产精品一区二区在线看| 麻豆成人久久精品二区三区小说| 日韩在线播放一区二区| 免费看欧美女人艹b| 欧美96一区二区免费视频| 日本视频免费一区| 国产精品综合网| 国产成人av一区二区| 99热在这里有精品免费| 91丨porny丨户外露出| 91久久香蕉国产日韩欧美9色| 欧美亚洲一区二区在线观看| 3751色影院一区二区三区| 26uuu欧美日本| 国产精品久久久一本精品| 亚洲六月丁香色婷婷综合久久| 亚洲1区2区3区视频| 激情综合色综合久久| av毛片久久久久**hd| 在线观看av一区二区| 日韩三级视频中文字幕| 日本一区二区三区电影| 亚洲免费观看高清完整版在线| 午夜欧美在线一二页| 精品一区二区三区不卡| a级高清视频欧美日韩| 欧美男同性恋视频网站| 久久夜色精品一区| 一区二区三区精品在线观看| 免费黄网站欧美| av中文字幕不卡| 日韩美一区二区三区| 中文字幕一区二区三区四区不卡| 午夜精品久久久久久久蜜桃app| 琪琪久久久久日韩精品| heyzo一本久久综合| 欧美电影免费观看高清完整版在 | 欧美电影免费观看完整版| 亚洲一区二区在线播放相泽| 国产一区二区美女| 日韩经典中文字幕一区| 91免费国产在线观看| 天天av天天翘天天综合网色鬼国产| 午夜精品久久久久久久99樱桃| 国产精品2024| 久久综合九色欧美综合狠狠| 日韩毛片一二三区| 国产一区亚洲一区| 欧美天天综合网| 久久国产人妖系列| 日韩综合在线视频| 国产精品亚洲第一| 7777女厕盗摄久久久| 国产精品理论片| 狠狠色丁香婷婷综合久久片| 欧美私人免费视频| 亚洲欧美综合色| 国产精品白丝av| 日韩女优制服丝袜电影| 五月天欧美精品| 91黄色免费版| 国产精品国产三级国产有无不卡| 麻豆freexxxx性91精品| 欧美性三三影院| 日韩美女久久久| av电影一区二区| 国产日韩欧美亚洲| 国产在线看一区| 欧美成人a∨高清免费观看| 亚洲电影视频在线| 91国偷自产一区二区开放时间| 亚洲国产精品t66y| 国产乱码精品一区二区三区五月婷 | 成人高清在线视频| 久久久久久影视| 久久精品99国产精品日本| 在线不卡免费av| 午夜精品国产更新| 欧美日韩国产电影| 亚洲国产精品自拍| 欧美疯狂性受xxxxx喷水图片| 亚洲伊人伊色伊影伊综合网| 色av成人天堂桃色av| 亚洲欧美日韩国产综合| 91久久人澡人人添人人爽欧美| 亚洲九九爱视频| 欧美在线一二三| 亚洲国产成人av好男人在线观看| 欧美性一区二区| 香蕉久久夜色精品国产使用方法| 欧美日韩一级片网站| 视频一区免费在线观看| 91精品久久久久久蜜臀| 日本不卡123| 久久免费看少妇高潮| 国产精品 日产精品 欧美精品| 国产欧美1区2区3区| 91啪在线观看| 丝瓜av网站精品一区二区| 91精品婷婷国产综合久久竹菊| 美女网站一区二区| 国产欧美一区二区精品忘忧草| 成人av片在线观看| 亚洲国产视频在线| 日韩精品一区二区三区中文不卡 | 日本午夜精品一区二区三区电影| 欧美大片在线观看一区| 成人免费的视频| 一区二区三区免费观看| 欧美一级日韩不卡播放免费| 国产一区二区三区综合 | 天天影视网天天综合色在线播放| 日韩色视频在线观看| 成人国产精品免费网站| 亚洲二区视频在线|