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

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

?? _utils.c

?? 讀系統日志,功能強大喲
?? C
字號:
#include "_Utils.h"
#include "_GlobalVars.h"
#include "_ExtraResources.h"
#include "_Constants.h"

TBBUTTON g_arToolbarButtons[] =
{
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{0 , ID_TBCMD_APPLICATION	, TBSTATE_ENABLED | TBSTATE_CHECKED	, TBSTYLE_BUTTON | TBSTYLE_CHECK,  0,  0,  0,  0}, 
	{1 , ID_TBCMD_SYSTEM		, TBSTATE_ENABLED					, TBSTYLE_BUTTON | TBSTYLE_CHECK,  0,  0,  0,  0}, 
	{2 , ID_TBCMD_SECURITY		, TBSTATE_ENABLED					, TBSTYLE_BUTTON | TBSTYLE_CHECK,  0,  0,  0,  0}, 
//	{3 , ID_TBCMD_CUSTOM		, TBSTATE_ENABLED					, TBSTYLE_BUTTON | TBSTYLE_CHECK,  0,  0,  0,  0}, 
	{0 , 0						, TBSTATE_ENABLED					, TBSTYLE_SEP					,  0,  0,  0,  0},
	{4 , ID_TBCMD_OPEN			, TBSTATE_ENABLED					, TBSTYLE_BUTTON				,  0,  0,  0,  0},
//	{5 , ID_TBCMD_SAVE			, TBSTATE_ENABLED					, TBSTYLE_BUTTON				,  0,  0,  0,  0},
//	{6 , ID_TBCMD_BACKUP		, TBSTATE_ENABLED					, TBSTYLE_BUTTON				,  0,  0,  0,  0},
	{-1, -1						, (BYTE)-1							, (BYTE)-1						, (BYTE)-1, (BYTE)-1, (BYTE)-1, -1},
};

// none - 0, application - 1, system - 2, security - 3, custom - 4
int	 
FlagToIntCode()
{
	if(g_fApplication)
		return 1;
	if(g_fSystem)
		return 2;
	if(g_fSecurity)
		return 3;
	if(g_fCustom)
		return 4;
	return 0;
}

void IntCodeAdjustFlags(int nCode)
{
	g_fApplication	= FALSE;
	g_fSystem		= FALSE;
	g_fSecurity		= FALSE;
	g_fCustom		= FALSE;

	if(nCode == 1)
		g_fApplication = TRUE;
	if(nCode == 2)
		g_fSystem = TRUE;
	if(nCode == 3)
		g_fSecurity = TRUE;
	if(nCode == 4)
		g_fCustom = TRUE;
}

int 
WideCharToLocal(LPTSTR pLocal, LPWSTR pWide, DWORD dwChars)
{
	*pLocal = 0;

	#ifdef UNICODE
		lstrcpyn(pLocal, pWide, dwChars);
	#else
		WideCharToMultiByte(CP_ACP, 0, pWide, -1, pLocal, dwChars, 0, 0);
	#endif

	return lstrlen(pLocal);
}

int 
LocalToWideChar(LPWSTR pWide, LPTSTR pLocal, DWORD dwChars)
{
	*pWide = 0;

	#ifdef UNICODE
		lstrcpyn(pWide, pLocal, dwChars);
	#else
		MultiByteToWideChar(CP_ACP, 0, pLocal, -1, pWide, dwChars); 
	#endif

	return lstrlenW(pWide);
}

LPWSTR 
hf_mbtowc(LPWSTR lpw, LPCSTR lpa, int nChars)
{
//	assert(lpa != NULL);
//	assert(lpw != NULL);
	
	lpw[0] = '\0';
	MultiByteToWideChar(CP_ACP, 0, lpa, -1, lpw, nChars);
	return lpw;
}

LPSTR 
hf_wctomb(LPSTR lpa, LPCWSTR lpw, int nChars)
{
//	assert(lpw != NULL);
//	assert(lpa != NULL);
	
	lpa[0] = '\0';
	WideCharToMultiByte(CP_ACP, 0, lpw, -1, lpa, nChars, NULL, NULL);
	return lpa;
}


BOOL ConvertSid(PSID pSid, LPTSTR pszSidText, LPDWORD dwBufferLen) 
{ 
     DWORD                     dwSubAuthorities; 
     DWORD                     dwSidRev = SID_REVISION; 
     DWORD                     dwCounter; 
     DWORD                     dwSidSize; 
     PSID_IDENTIFIER_AUTHORITY psia; 
 
     if(!IsValidSid(pSid))  
          return FALSE; 
 
     psia = GetSidIdentifierAuthority(pSid); 

     dwSubAuthorities =* GetSidSubAuthorityCount(pSid); 
 
     dwSidSize = (15 + 12 + (12 * dwSubAuthorities) + 1) * sizeof(TCHAR); 
 
     if (*dwBufferLen < dwSidSize)
	 { 
          *dwBufferLen = dwSidSize; 
          SetLastError(ERROR_INSUFFICIENT_BUFFER); 
          return FALSE; 
	 } 
 
     dwSidSize=wsprintf(pszSidText, TEXT("S-%lu-"), dwSidRev ); 
 
     if((psia->Value[0] != 0) || (psia->Value[1] != 0))
          dwSidSize += wsprintf(pszSidText + lstrlen(pszSidText), 
          TEXT("0x%02hx%02hx%02hx%02hx%02hx%02hx"), 
          (USHORT)psia->Value[0], 
          (USHORT)psia->Value[1], 
          (USHORT)psia->Value[2], 
          (USHORT)psia->Value[3], 
          (USHORT)psia->Value[4], 
          (USHORT)psia->Value[5]); 
     else 
          dwSidSize += wsprintf(pszSidText + lstrlen(pszSidText), 
                               TEXT("%lu"), 
                               (ULONG)(psia->Value[5]      )   + 
                               (ULONG)(psia->Value[4] <<  8)   + 
                               (ULONG)(psia->Value[3] << 16)   + 
                               (ULONG)(psia->Value[2] << 24)   ); 
 
     for (dwCounter=0 ; dwCounter < dwSubAuthorities ; dwCounter++)
          dwSidSize+=wsprintf(pszSidText + dwSidSize, TEXT("-%lu"), *GetSidSubAuthority(pSid, dwCounter)); 
 
     return TRUE; 
} 

BOOL ReportLastError(LPSTR pszErrMsg, LPCTSTR lpcszCaption, BOOL bShow)
{
	LPVOID lpMsgBuf = 0;
	int cchSizeOf = 1024;
//	TCHAR *p;

	g_dwLastError = GetLastError();
	if(g_dwLastError != NOERROR)
	{
		FormatMessage(
			FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, 
			0, g_dwLastError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, cchSizeOf, 0);

		if(lpMsgBuf)
		{
			if(bShow)
				MessageBox(0, (LPCTSTR)lpMsgBuf, lpcszCaption, MB_OK | MB_ICONEXCLAMATION);
			
			if(pszErrMsg)
			{
				*pszErrMsg = '\0';
				strcpy(pszErrMsg, (LPCTSTR)lpMsgBuf);

//				p = strstr(pszErrMsg, "\r\n");
//				if(p)
//					pszErrMsg[p - pszErrMsg] = '\0';
			}

			LocalFree(lpMsgBuf);
			lpMsgBuf = 0;
		}
		else
			MessageBox(0, TEXT("Cannot allocate error message buffer."), 0, MB_OK | MB_ICONSTOP);
	}

	return pszErrMsg ? TRUE : FALSE;
}

BOOL GetEventLogType(TCHAR *sz, unsigned short uEventType, DWORD *pdwSize)
{
	if(!sz || !pdwSize)
		return FALSE;

	switch(uEventType)
	{
		case EVENTLOG_SUCCESS:
			strncpy(sz, _T("Success"), *pdwSize);
			break;
		case EVENTLOG_ERROR_TYPE:
			strncpy(sz, _T("Error"), *pdwSize);
			break;
		case EVENTLOG_WARNING_TYPE:
			strncpy(sz, _T("Warning"), *pdwSize);
			break;
		case EVENTLOG_INFORMATION_TYPE:
			strncpy(sz, _T("Information"), *pdwSize);
			break;
		case EVENTLOG_AUDIT_SUCCESS:
			strncpy(sz, _T("Success Audit"), *pdwSize);
			break;
		case EVENTLOG_AUDIT_FAILURE:
			strncpy(sz, _T("Failure Audit"), *pdwSize);
			break;
		default:
			strncpy(sz, _T("Unknown"), *pdwSize);
			break;
	}

	*pdwSize = strlen(sz);
	return TRUE;
}

BOOL GetEventLogImage(UINT *puImage, unsigned short uEventType)
{
	if(!puImage)
		return FALSE;

	switch(uEventType)
	{
		case EVENTLOG_SUCCESS:
			*puImage = 2;
			break;
		case EVENTLOG_ERROR_TYPE:
			*puImage = 1;
			break;
		case EVENTLOG_WARNING_TYPE:
			*puImage = 0;
			break;
		case EVENTLOG_INFORMATION_TYPE:
			*puImage = 2;
			break;
		case EVENTLOG_AUDIT_SUCCESS:
			*puImage = 4;
			break;
		case EVENTLOG_AUDIT_FAILURE:
			*puImage = 3;
			break;
		default:
			*puImage = 0;
			break;
	}

	return TRUE;
}

BOOL GetNameUse(SID_NAME_USE _SidNameUse, TCHAR *szSIDType, DWORD *pdwIOLen)
{
	if(!szSIDType || !pdwIOLen)
		return FALSE;

	szSIDType[0] = '\0';
	switch(_SidNameUse)
	{
		case SidTypeUser:
			LoadString(g_hInstance, IDS_SIDTYPE_USER, szSIDType, *pdwIOLen);
			break;
		case SidTypeGroup:
			LoadString(g_hInstance, IDS_SIDTYPE_GROUP, szSIDType, *pdwIOLen);
			break;
		case SidTypeDomain:
			LoadString(g_hInstance, IDS_SIDTYPE_DOMAIN, szSIDType, *pdwIOLen);
			break;
		case SidTypeAlias:
			LoadString(g_hInstance, IDS_SIDTYPE_ALIAS, szSIDType, *pdwIOLen);
			break;
		case SidTypeWellKnownGroup:
			LoadString(g_hInstance, IDS_SIDTYPE_WELLKNOWNGROUP, szSIDType, *pdwIOLen);
			break;
		case SidTypeDeletedAccount:
			LoadString(g_hInstance, IDS_SIDTYPE_DELETEDACCOUNT, szSIDType, *pdwIOLen);
			break;
		case SidTypeInvalid:
			LoadString(g_hInstance, IDS_SIDTYPE_INVALID, szSIDType, *pdwIOLen);
			break;
		case SidTypeUnknown:
			LoadString(g_hInstance, IDS_SIDTYPE_UNKNOWN, szSIDType, *pdwIOLen);
			break;
		case SidTypeComputer:
			LoadString(g_hInstance, IDS_SIDTYPE_COMPUTER, szSIDType, *pdwIOLen);
			break;
		default:
			LoadString(g_hInstance, IDS_SIDTYPE_OUTOFTYPE, szSIDType, *pdwIOLen);
			break;
	}						

	*pdwIOLen = strlen(szSIDType);
	return TRUE;
}

/*
void SafeDeletePointer(void *pBlock, DWORD dwBlockLen)
{
	if(dwBlockLen >= 0)
	{
		if(pBlock && !IsBadReadPtr(pBlock, dwBlockLen))
		{
			GlobalFree(pBlock);
			pBlock = 0;
		}
	}
}
*/

BOOL InsertRowInList(HWND hwndLV, int nInsertCount, ...)
{
	int nCount, nItem;
	va_list marker;
	DWORD dwId;
	register int i;
	LVITEM lvItem;
	EVENTLISTPARAM elp;

	if(!IsWindow(hwndLV))
		return FALSE;

	nCount = ListView_GetItemCount(hwndLV);

	lvItem.mask = LVIF_TEXT | LVIF_PARAM;
	lvItem.pszText = " ";
	lvItem.cchTextMax = strlen(" ");
	lvItem.iItem = nCount;
	lvItem.iImage = 0;
	lvItem.iSubItem = 0;
	lvItem.state = 0;
	lvItem.stateMask = 0;
	lvItem.iIndent = 0;
	lvItem.lParam = nCount;
	
	nItem = ListView_InsertItem(hwndLV, &lvItem);

	va_start(marker, nInsertCount);

	dwId = *((DWORD *)(va_arg(marker, DWORD*)));

	elp.dwEventId	= dwId;
	elp.dwListId	= nCount;

	lvItem.mask = LVIF_PARAM;
	lvItem.iItem = nCount;
	lvItem.iSubItem = 0;
	lvItem.lParam = (LPARAM)dwId; //(EVENTLISTPARAM *)(&elp);
	ListView_SetItem(hwndLV, &lvItem);

	for(i = 0; i < nInsertCount - 1; i++)
	{
		char *szItemText = va_arg(marker, char *);
		ListView_SetItemText(hwndLV, nItem, i, szItemText);

		if(i == 4) // error
		{
			UINT uImage = va_arg(marker, UINT);
			LVITEM lvItem;
			lvItem.mask = LVIF_IMAGE;
			lvItem.iImage = uImage;
			lvItem.iItem = nItem;
			lvItem.iSubItem = 0;
			ListView_SetItem(hwndLV, &lvItem);
		}
	}
	va_end(marker);

	return TRUE;
}

BOOL 
GetCustomLogFileName(TCHAR **lppszFileName)
{
	BOOL fCreated = FALSE;
	OPENFILENAME *pofn = 0;
	TCHAR lpszTitle[_MAX_PATH + 1], lpszFilter[_MAX_PATH + 1] = _T("Event log files (*.evt)\0*.evt\0All files (*.*)\0*.*\0\0"),
		lpszDefExt[_MAX_PATH + 1],
//		lpszInitialDir[_MAX_PATH + 1]	= _T("C:\\"),
		lpszFileName[_MAX_PATH + 1];
	DWORD dwFlags;

	if(!lppszFileName)
		goto _cleanup_;

	*lppszFileName = (TCHAR *)GlobalAlloc(GPTR, (_MAX_PATH + 1) * sizeof(TCHAR));
	if(!*lppszFileName)
		goto _cleanup_;

	_tcscpy(*lppszFileName, _T(""));
	*lppszFileName[0] = _T('\0');

	dwFlags = 
		OFN_EXPLORER			| 
		OFN_EXTENSIONDIFFERENT	| 
		OFN_FILEMUSTEXIST		| 
		OFN_LONGNAMES			| 
		OFN_NOCHANGEDIR			| 
		OFN_PATHMUSTEXIST		| 
		OFN_READONLY			|
		0;

	pofn = (LPOPENFILENAME)GlobalAlloc(GPTR, sizeof(OPENFILENAME));
	if(!pofn)
		goto _cleanup_;

	// preparations
	lpszFileName[0] = _T('\0'); // a must
	// strings
	LoadString(g_hInstance, IDS_OPENEVENTLOG_TITLE , lpszTitle, _MAX_PATH + 1);
	LoadString(g_hInstance, IDS_OPENEVENTLOG_DEFEXT, lpszDefExt, _MAX_PATH + 1);

	pofn->hInstance			= g_hInstance;
	pofn->hwndOwner			= g_hMainWnd;
	pofn->nMaxFile			= _MAX_PATH + 1;
	pofn->nFilterIndex		= 1;
	pofn->Flags				= dwFlags;
	pofn->lpstrFile			= lpszFileName;
	pofn->lpstrFilter		= lpszFilter;
	pofn->lpstrTitle		= lpszTitle;
	pofn->lpstrDefExt		= lpszDefExt;
	pofn->lCustData			= 0;
    pofn->lpfnHook			= 0;
    pofn->lpTemplateName	= 0;
    pofn->lpstrFileTitle	= 0;
    pofn->nMaxFileTitle		= 0;
    pofn->lpstrInitialDir	= 0;
	pofn->nFileOffset		= 0;
	pofn->nFileExtension	= 0;
	pofn->lStructSize		= sizeof(OPENFILENAME);

	fCreated = GetOpenFileName(pofn);
	if(fCreated)
	{
		_tcscpy(*lppszFileName, lpszFileName);
		goto _return_;
	}

_cleanup_:
	if(*lppszFileName)
	{
		GlobalFree(*lppszFileName);
		*lppszFileName = 0;
	}

_return_:
	if(pofn)
	{
		GlobalFree(pofn);
		pofn = 0;
	}

	return fCreated;
}

BOOL 
GetBackupLogFileName(TCHAR **lppszFileName)
{
	BOOL fCreated = FALSE;
	OPENFILENAME ofn;
	TCHAR lpszTitle[_MAX_PATH + 1], 
		//lpszFilter[_MAX_PATH + 1] = _T("Event log files (*.evt)\0*.evt\0\0"),
		lpszDefExt[_MAX_PATH + 1],
		lpszFileName[_MAX_PATH + 1];
	DWORD dwFlags;

	if(!lppszFileName)
		goto _cleanup_;

	*lppszFileName = (TCHAR *)GlobalAlloc(GPTR, (_MAX_PATH + 1) * sizeof(TCHAR));
	if(!*lppszFileName)
		goto _cleanup_;

	_tcscpy(*lppszFileName, _T(""));
	*lppszFileName[0] = _T('\0');

	dwFlags = 
//		OFN_EXPLORER			| 
//		OFN_EXTENSIONDIFFERENT	| 
//		OFN_FILEMUSTEXIST		| 
//		OFN_LONGNAMES			| 
//		OFN_NOCHANGEDIR			| 
//		OFN_PATHMUSTEXIST		| 
//		OFN_READONLY			|
		0;

	ZeroMemory(&ofn, sizeof(OPENFILENAME));

	// preparations
	lpszFileName[0] = _T('\0'); // a must
	// strings
	LoadString(g_hInstance, IDS_OPENEVENTLOG_TITLE , lpszTitle, _MAX_PATH + 1);
	LoadString(g_hInstance, IDS_OPENEVENTLOG_DEFEXT, lpszDefExt, _MAX_PATH + 1);

	ofn.lStructSize			= sizeof(OPENFILENAME);
	ofn.hwndOwner			= 0;
	ofn.hInstance			= (HANDLE)g_hInstance;
	ofn.lpstrFilter			= _T("Event log files (*.evt)\0*.evt\0\0");
	ofn.lpstrCustomFilter	= 0;
	ofn.nMaxCustFilter		= 0L;
	ofn.nFilterIndex		= 1L;
	ofn.lpstrFile			= lpszFileName;
	ofn.nMaxFile			= (_MAX_PATH + 1)*sizeof(TCHAR);
	ofn.lpstrFileTitle		= 0;
	ofn.nMaxFileTitle		= 0;
	ofn.lpstrInitialDir		= NULL;
	ofn.lpstrTitle			= "Save event log:";
	ofn.nFileOffset			= 0;
	ofn.nFileExtension		= 0;
	ofn.lpstrDefExt			= _T("*.evt");
	ofn.lCustData			= 0;

	fCreated = GetOpenFileName(&ofn);
	if(fCreated)
	{
		_tcscpy(*lppszFileName, lpszFileName);
		goto _return_;
	}

_cleanup_:
	if(*lppszFileName)
	{
		GlobalFree(*lppszFileName);
		*lppszFileName = 0;
	}

_return_:
	return fCreated;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国一区二区视频| 欧美一区二区性放荡片| 制服丝袜亚洲播放| 国产精品短视频| 久久不见久久见免费视频1| 在线观看日韩高清av| 国产精品视频看| 久久精品国产精品青草| 91美女在线观看| 中文字幕欧美激情| 久久 天天综合| 91精品国产色综合久久| 一个色综合网站| 91影院在线免费观看| 国产欧美日韩另类视频免费观看| 青青草原综合久久大伊人精品 | 一区二区三区日韩精品| 国产成人精品影视| 欧美成人猛片aaaaaaa| 亚洲综合男人的天堂| 成人免费黄色大片| 国产亚洲一二三区| 国产一区二区三区精品欧美日韩一区二区三区 | 综合在线观看色| 成人一区二区三区| 日本一区二区免费在线观看视频| 国产一区二区导航在线播放| 欧美www视频| 黄色日韩三级电影| 久久亚洲捆绑美女| 国产 日韩 欧美大片| 国产欧美日韩在线| caoporn国产精品| 18成人在线观看| 91蝌蚪porny| 亚洲最大色网站| 欧美欧美欧美欧美| 日韩av一级片| 久久久久久久久久久久电影 | 国产精品乱码一区二区三区软件 | 2023国产精品| 成人免费高清视频在线观看| 国产精品午夜免费| 一本久久精品一区二区| 亚洲国产一区视频| 欧美一级二级三级乱码| 国产精品一区二区果冻传媒| 国产欧美精品一区| 91香蕉视频mp4| 亚洲成人免费av| 精品国产在天天线2019| www.av亚洲| 亚洲精品久久久蜜桃| 91精品国产综合久久精品图片| 久久精品国产精品青草| 中文字幕一区二区三区av| 欧美性大战久久久久久久蜜臀| 青青青爽久久午夜综合久久午夜| 国产视频一区在线观看| 日本精品一区二区三区四区的功能| 亚洲成a人片在线不卡一二三区| 精品噜噜噜噜久久久久久久久试看| 国产精品一区免费视频| 一区二区三区 在线观看视频| 日韩一区二区免费在线观看| 成人免费毛片片v| 亚洲影视资源网| 久久精品亚洲麻豆av一区二区 | 蓝色福利精品导航| 亚洲三级小视频| 欧美变态tickling挠脚心| 99国产精品视频免费观看| 免费成人美女在线观看| 亚洲私人黄色宅男| 欧美videossexotv100| 91福利区一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 一区二区三区在线视频观看58 | 久久日韩粉嫩一区二区三区| 色婷婷香蕉在线一区二区| 久久精品国产99久久6| 伊人一区二区三区| 久久女同精品一区二区| 7878成人国产在线观看| 色婷婷av一区二区三区之一色屋| 久久se精品一区精品二区| 亚洲影视在线播放| 成人欧美一区二区三区小说 | 无吗不卡中文字幕| 综合中文字幕亚洲| 国产日韩精品一区| 欧美电影精品一区二区| 欧美久久久久中文字幕| 91免费观看在线| 成人黄色在线网站| 国产麻豆成人精品| 久久99国产精品麻豆| 男女视频一区二区| 天堂一区二区在线免费观看| 亚洲激情男女视频| 中文字幕一区二区日韩精品绯色| 久久精品水蜜桃av综合天堂| 精品成人免费观看| 欧美成人一区二区三区片免费| 欧美高清激情brazzers| 欧美网站一区二区| 欧美日韩一区二区在线观看 | 欧美一级爆毛片| 4438x亚洲最大成人网| 欧美视频一区在线| 欧美日韩国产高清一区二区| 欧美视频你懂的| 欧美精品1区2区3区| 91精品国产黑色紧身裤美女| 欧美一区三区二区| 91精品国产日韩91久久久久久| 在线播放日韩导航| 欧美一卡二卡三卡| 欧美不卡在线视频| 久久久精品国产免费观看同学| 精品国产一区二区在线观看| 久久久综合视频| 国产精品情趣视频| 亚洲精品国产无天堂网2021| 亚洲国产精品一区二区尤物区| 午夜影院在线观看欧美| 美女精品自拍一二三四| 国产精品一区二区男女羞羞无遮挡| 国产精品1区2区3区在线观看| 成人aa视频在线观看| 色婷婷久久久久swag精品 | 欧美在线综合视频| 欧美一区二区精美| 国产丝袜美腿一区二区三区| 亚洲女同ⅹxx女同tv| 亚洲高清久久久| 精品一区二区三区免费毛片爱 | 亚洲国产婷婷综合在线精品| 蜜臀久久99精品久久久久久9| 国产老肥熟一区二区三区| 99精品视频在线免费观看| 欧美精品第一页| 日本一区二区动态图| 亚洲午夜久久久久中文字幕久| 久久精品噜噜噜成人av农村| 9色porny自拍视频一区二区| 欧美精品乱人伦久久久久久| 久久久久久影视| 一区二区三国产精华液| 麻豆精品久久久| 91在线一区二区| 日韩一区二区高清| 亚洲精品免费电影| 狠狠色丁香九九婷婷综合五月| 91在线高清观看| 久久麻豆一区二区| 亚洲大片免费看| www.成人网.com| 久久综合视频网| 天天做天天摸天天爽国产一区| 成人永久aaa| 欧美不卡视频一区| 亚洲v日本v欧美v久久精品| 成人久久视频在线观看| 日韩美女一区二区三区| 亚洲欧美经典视频| 国产aⅴ综合色| 精品国产伦理网| 视频在线观看91| 色老头久久综合| 国产精品乱码人人做人人爱| 狠狠色丁香久久婷婷综| 欧美精品成人一区二区三区四区| 亚洲品质自拍视频网站| 成人黄色a**站在线观看| 精品日本一线二线三线不卡| 丝袜亚洲另类欧美| 在线看不卡av| 亚洲图片另类小说| 成人国产一区二区三区精品| 久久久久久久久久久久久夜| 蜜桃av噜噜一区二区三区小说| 欧美日韩国产在线播放网站| 亚洲精品成人天堂一二三| 成人黄色在线网站| 欧美国产欧美亚州国产日韩mv天天看完整| 麻豆91精品视频| 91精品国产综合久久小美女| 天天影视网天天综合色在线播放| 91在线国产观看| 1000精品久久久久久久久| 成人午夜免费电影| 国产人成亚洲第一网站在线播放| 国产自产2019最新不卡| 精品人在线二区三区| 国产在线精品一区二区夜色| 欧美mv和日韩mv的网站| 极品少妇一区二区三区精品视频 | 国产成人亚洲精品狼色在线| 久久亚洲精品国产精品紫薇|