欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

如何編寫Windows服務(四)

原創|其它|編輯:郝浩|2009-03-10 10:25:57.000|閱讀 538 次

概述:有那么一類應用程序,是能夠為各種用戶(包括本地用戶和遠程用戶)所用的,擁有用戶授權級進行管理的能力,并且不論用戶是否物理的與正在運行該應用程序的計算機相連都能正常執行,這就是所謂的服務了。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

(四)一些問題的討論

前面幾章的內容都是服務的一些通用的編寫原理,但里面隱含著一些問題,編寫簡單的服務時看不出來,但遇到復雜的應用就會出現一些問題,所以本章就是用來分析、解決這些問題的,適用于高級應用的開發人員。我這一章的內容都是經過實驗得到的,很有實際意義。

我在第一章里面就說過,是由一個服務的主線程執行CtrlHandler函數,它將收到各種控制命令,但是真正處理命令,執行操作的是ServiceMain的線程。現在,當一個SERVICE_CONTROL_STOP到達之后,你作為一個開發者,要怎樣停止這個服務?在我看過的一些源代碼里,大部分只是簡單的調用TerminateThread函數去強行殺掉服務進程。但應該稍稍有點線程編程的常識就應該知道TerminateThread函數是可用的調用中最為糟糕的一個,服務線程將得不到任何機會去做應該的清理工作,諸如清除內存、釋放核心對象,Dlls也得不到任何線程已經被毀的通知。

所以停止服務的適當方法是以某種方式激活服務線程,讓它停止繼續提供服務功能,然后執行完當前操作和清除工作后返回。這就表示你必須在CtrlHandler線程和ServiceMain線程之間執行適當的線程通信。現在已知的最好的內部線程通信機制是I/O Completion Port(I/O 完成端口),假如你編寫的是一個大型的服務,需要同時處理為數眾多的請求,并且運行在多處理器系統上面,這個模型就可以提供最佳的系統性能。但也正因為它的復雜性較高,在小規模的應用上面不值得花費很多的時間和精力,這時作為開發者可以適當的選取其它的通信方式,諸如異步過程調用隊列、套接字和窗口消息,以適應實際情況。

開發服務時的另外一個重要問題就是調用SetServiceStatus函數時的所有狀態報告問題。很多的服務開發者為了在什么時候調用SetServiceStatus的問題而常常產生爭論,一般推薦的方法就是:先調用SetServiceStatus函數,報告SERVICE_STOP_PENDING狀態,然后將控制代碼傳給服務線程或者再建立一個新的線程,讓它去繼續執行操作,當該線程即將執行完操作之前,再由它將服務的狀態設置成SERVICE_STOPPED,然后服務正好停止。

上面的主意從兩個方面來講還是很不錯的。首先服務可以立即確認收到了控制代碼,并將在它認為適當的時候進行處理;然后就是因為前面說過的,執行CtrlHandler函數的是主線程,如果按照這種工作方法,CtrlHandler函數可以迅速的返回,不會影響到其它服務可能收到的控制請求,對含有多個服務的程序來說,響應各個服務的控制代碼的速度會大大的提高。可是,隨之而來的是問題―― race condition 即“競爭條件”的產生。

擺在下面的就是一個競爭條件的例子,我花了一點時間來修改我的基本服務的代碼,意圖故意引發“競爭條件”的發生。我添加了一個線程,CtrlHandler函數的線程在收到請求后立刻作出反應,將當前的服務狀態設置成“請求正在被處理”即..._PENDING,然后由我添加的線程在睡眠了5秒之后再將服務狀態設置成“請求已完成”狀態――以模擬服務正在處理一些不可中止的事件,只有處理完成后才會更改服務的狀態。一切就緒之后,我嘗試在短時間內連續發送兩個“暫停”請求,如果“競爭條件”不存在的話應該只有先發送的那個請求能夠到達SCM,而另一個則應該返回請求發送失敗的信息,天下太平。

事實上很不幸的,我成功了。當我在兩個不同的“命令提示符”窗口分別同樣的輸入下面的命令:

net pause kservice

之后在“事件查看器”里面,我找到了我的服務在“應用程序日志”里添加的事件記錄,結果是我得到了這樣的事件列表:

SERVICE_PAUSE_PENDING
SERVICE_PAUSE_PENDING
SERVICE_PAUSED 
SERVICE_PAUSED

看上去很奇怪是不是?因為服務處于正在暫停狀態的時候,它不應該被再次暫停的。但事實擺在眼前,很多服務都曾明確的報告過上面的順序狀態。我曾經認為這時SCM應該說些什么或做些什么,以阻止“競爭狀態”的出現,但實驗結果告訴我SCM似乎對此無能為力,因為它不能控制狀態代碼在什么時候被發送。當用戶使用“管理工具”里面的“服務”工具來管理服務的狀態的時候,在一個“暫停”請求已經發出之后不能再次用這個工具向它發出“暫停”請求,如果正在暫停服務,會有一個對話框出現,阻止你按下它后面的“服務”工具的工具欄上的任何按鈕,如果已經暫停,“暫停“按鈕將變成灰色。但是這時用命令行工具 net.exe 就可以很順利地將暫停請求再次送到服務。證據就是我添加的其他事件記錄里面記下了SetServiceStatus的調用全都成功了,這更進一步的說明了我提交的兩個暫停請求都經過SCM,然后到達了我的服務。

接下來我又進行了其它的測試,例如先發送“暫停”請求,后發送“停止”請求,和先發送“停止”請求,再發送“暫停”或“停止”請求。前一種情況更加糟糕,先發送的“暫停”請求和后發送的“停止”請求都沒有得到什么好下場,雖然SCM老老實實的先暫停了服務,后停止了服務,但 net.exe 的兩個實例的調用均告失敗。不過在測試先發送停止“請求”的時候,所有的現象都表示這兩個請求只有先發送的“停止”到達了SCM,這還算是個好消息...

為了解決這個問題,當服務得到一個“停止”“暫停”或“繼續”請求的時候,應該首先檢查服務是否已經在處理另外的一個請求,如果是,就依情況而定:是不調用SetServiceStatus直接返回還是暫時忍耐直到前一個請求動作完成再調用SetServiceStatus,這是你作為一個開發者要自己決定的。

如果說前面的問題已經足夠麻煩了,下面的問題會令你覺得更加怪異。它其實是一種可以解決上面的問題的方法:當CtrlHandler函數的線程收到SERVICE_PAUSE_PENDING請求之后,它調用SetServiceStatus報告服務正在暫停,然后由它自己調用SuspendThread來暫停服務的線程,然后再由它自己調用SetServiceStatus報告服務已經被暫停。這樣做的確避免了“競爭條件”的出現,因為所有的工作都是由一個函數來做的。現在需要注意的不是“競爭條件”而是服務本身,掛起服務的線程會不會暫停服務呢?答案是會的。但是暫停服務意味著什么呢?

假如我的服務是用來處理網絡客戶的請求,那么暫停對于我的服務來說應該是停止接受新的請求。如果我現在正處在處理請求的過程中,那么我應該怎么辦?也許我應該結束它,使客戶不至于無限期懸掛。但如果我只是簡單的調用SuspendThread,那么不排除服務線程正處于孤立的中間狀態的可能,或者正在調用malloc函數去嘗試分配內存,如果運行在同一個進程中的另一個服務也調內存分配函數,那么它也會被掛起,這肯定不是我期望的結果。

還有一個問題:用戶認為自己可以被允許去停止一個已經被暫停了的服務嗎?我認為是這樣的,而且很明顯的,微軟也這么認為。因為當我們在“服務”管理工具里面選中一個已暫停的服務之后,“停止”按鈕是可以被按下的。但我要怎樣停止一個由于線程被掛起才處于暫停狀態的服務呢?不,不要TerminateThread,請別跟我提起它。

解決這所有的混亂的最好方法,就是有一個能夠把所有事做好的線程,而且它應該是服務線程,而不是CtrlHandler線程。當CtrlHandler函數得到控制代碼之后,它要迅速的將控制代碼通過線程內部通訊手段送到服務線程中排隊,然后CtrlHandler函數就應該返回,它決不應該調SetServiceStatus。這樣,服務可以隨心所欲的控制每件事情,因為沒有什么比它更有發言權的了,沒有“競爭條件”。服務決定暫停意味著什么,服務能夠允許自己在已經暫停的情況下停止,服務決定什么內部通訊機制是最好的――并且CtrlHandler函數必須簡單的與這種機制相一致。

事情沒有完美的,上面的方法也不例外,它僅有一個小缺陷:就是假定當服務收到控制代碼后,在較短的時間內就能做出應有的響應。如果服務線程正在忙于處理一個客戶的請求,控制代碼可能進入等待隊列,而且SetServiceStatus可能也無法迅速的被調用。如果真是這樣的話,負責發送通知的SCP可能會認為你的服務已經失敗,并向用戶報告一個消息框。事實上服務并沒有失敗,而且也不會被終止。

這種情況夠糟糕了,沒有用戶會去責怪SCP――雖然SCP將他們引導到了錯誤的狀態,他們只會責怪服務的作者――就是我或你...因此,在服務中怎么做才能防止這種問題發生呢?很簡單,使服務快速有效的運行,并且總保持一個活動線程等待去處理控制代碼。

說起來好像很容易,但實際做起來就被那么簡單了,這也不是我能夠向各位解釋的了,只有認真的調試自己的服務,才能找出最為適合處理方法。所以我的文章也真的到了該結束的時候了,感謝各位的瀏覽。如果我有什么地方說的不對,請不吝賜教,謝謝。

下面是我寫的一個服務的源代碼,沒什么功能,只能啟動、停止和安裝。

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>


#define SZAPPNAME "basicservice"
#define SZSERVICENAME "KService"
#define SZSERVICEDISPLAYNAME "KService"
#define SZDEPENDENCIES ""

void WINAPI KServiceMain(DWORD argc, LPTSTR * argv);
void InstallService(const char * szServiceName);
void LogEvent(LPCTSTR pFormat, ...);
void Start();
void Stop();


SERVICE_STATUS ssStatus;
SERVICE_STATUS_HANDLE sshStatusHandle;


int main(int argc, char * argv[])
{
  if ((argc==2) && (::strcmp(argv[1]+1, "install")==0))
  {
    InstallService("KService");
    return 0;
  }

SERVICE_TABLE_ENTRY   service_table_entry[] =
  {
    { "KService", KServiceMain },
    { NULL, NULL }
  };
  ::StartServiceCtrlDispatcher(service_table_entry);
  return 0;
}

void InstallService(const char * szServiceName)
{
  SC_HANDLE handle = ::OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
  char szFilename[256];
  ::GetModuleFileName(NULL, szFilename, 255);
  SC_HANDLE hService = ::CreateService(handle, szServiceName,
  szServiceName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
  SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE, szFilename, NULL,
  NULL, NULL, NULL, NULL);
  ::CloseServiceHandle(hService);
  ::CloseServiceHandle(handle);
}

SERVICE_STATUS servicestatus;
SERVICE_STATUS_HANDLE servicestatushandle;

void WINAPI ServiceCtrlHandler(DWORD dwControl)
{
  switch (dwControl)
  {

//下面雖然添加了暫停、繼續等請求的處理代碼,但沒有實際作用
  //這是為什么呢?到了下面的KServiceMain函數里面就明白了...

case SERVICE_CONTROL_PAUSE:
    servicestatus.dwCurrentState = SERVICE_PAUSE_PENDING;
    // TODO: add code to set dwCheckPoint & dwWaitHint
    // This value need to try a lot to confirm 
    // ...
    ::SetServiceStatus(servicestatushandle, &servicestatus);
    // TODO: add code to pause the service
    // not called in this service
    // ...
    servicestatus.dwCurrentState = SERVICE_PAUSED;
    // TODO: add code to set dwCheckPoint & dwWaitHint to 0
    break;

  case SERVICE_CONTROL_CONTINUE:
    servicestatus.dwCurrentState = SERVICE_CONTINUE_PENDING;
    // TODO: add code to set dwCheckPoint & dwWaitHint
    ::SetServiceStatus(servicestatushandle, &servicestatus);
    // TODO: add code to unpause the service
    // not called in this service
    // ...
    servicestatus.dwCurrentState = SERVICE_RUNNING;
    // TODO: add code to set dwCheckPoint & dwWaitHint to 0
    break;

  case SERVICE_CONTROL_STOP:
    servicestatus.dwCurrentState = SERVICE_STOP_PENDING;
    // TODO: add code to set dwCheckPoint & dwWaitHint
    ::SetServiceStatus(servicestatushandle, &servicestatus);
    // TODO: add code to stop the service
    Stop();
    servicestatus.dwCurrentState = SERVICE_STOPPED;
    // TODO: add code to set dwCheckPoint & dwWaitHint to 0
    break;

  case SERVICE_CONTROL_SHUTDOWN:
    // TODO: add code for system shutdown
    // as quick as possible
    break;

  case SERVICE_CONTROL_INTERROGATE:
    // TODO: add code to set the service status
    // ...
    servicestatus.dwCurrentState = SERVICE_RUNNING;
    break;
  }
  ::SetServiceStatus(servicestatushandle, &servicestatus);
}

void WINAPI KServiceMain(DWORD argc, LPTSTR * argv)
{
  servicestatus.dwServiceType = SERVICE_WIN32;
  servicestatus.dwCurrentState = SERVICE_START_PENDING;
  servicestatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;//上面的問題的答案就在這里
  servicestatus.dwWin32ExitCode = 0;
  servicestatus.dwServiceSpecificExitCode = 0;
  servicestatus.dwCheckPoint = 0;
  servicestatus.dwWaitHint = 0;

  servicestatushandle =
  ::RegisterServiceCtrlHandler("KService", ServiceCtrlHandler);
  if (servicestatushandle == (SERVICE_STATUS_HANDLE)0)
  {
    return;
  }

  bool bInitialized = false;
  // Initialize the service
  // ...
  Start();

  bInitialized = true;

  servicestatus.dwCheckPoint = 0;
  servicestatus.dwWaitHint = 0;
  if (!bInitialized)
  {
    servicestatus.dwCurrentState = SERVICE_STOPPED;
    servicestatus.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR;
    servicestatus.dwServiceSpecificExitCode = 1;
  }
  else
  {
    servicestatus.dwCurrentState = SERVICE_RUNNING;
  }
  ::SetServiceStatus(servicestatushandle, &servicestatus);
  return;
}


void Start()
{
  LogEvent("Service Starting...");
}

void LogEvent(LPCTSTR pFormat, ...)
{
  TCHAR chMsg[256];
  HANDLE hEventSource;
  LPTSTR lpszStrings[1];
  va_list pArg;

  va_start(pArg, pFormat);
  _vstprintf(chMsg, pFormat, pArg);
  va_end(pArg);

  lpszStrings[0] = chMsg;

  if (1)
  {
    // Get a handle to use with ReportEvent().
    hEventSource = RegisterEventSource(NULL, "KService");
    if (hEventSource != NULL)
    {
    // Write to event log. 
      ReportEvent(hEventSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCTSTR*) &lpszStrings[0], NULL);
      DeregisterEventSource(hEventSource);
    }
  }
  else
  {
    // As we are not running as a service, just write the error to the console.
    _putts(chMsg);
  }
}

void Stop()
{
  LogEvent("Service Stoped.");
}


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn

文章轉載自:自互聯網

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
国产一区二区三区四区免费观看 | 成人性生交大片在线观看 | 日韩精品高清在线亚洲天堂 | 妺妺窝人体色www聚色窝仙踪 | 国产精品综合在线观看 | 午夜福利精品 | 羞羞影院午夜男女爽爽影 | 午夜不卡视频 | 亚洲中文精品视频在线 | 亚洲视频第一页精品 | 日韩欧美国产aⅴ | 国产精品亚洲精品日韩已满 | 国产美女一级a视频欧洲 | 亚州一级在线播放 | 国产3344视频在 | 中文字幕一区二区三区日韩精品 | 欧美日韩一区二区综合 | 午夜dj | 午夜福利小视频400 日本三级做a全过程在线观看 | 欧美日韩国产综合视频在线看 | 亚洲а∨天堂在线网站 | 国产一区二区三区乱码福利 | 九九精品视频国产 | 91成版人在线观看入口 | 成人精品视频99在线观看免费 | 国产伦精品一区二区三区视频金莲 | 国产凹凸在线一区二区 | 欧美yw精品日本国产精品 | 国产精品碰碰现在自在拍 | 性色生活片在 | 97国产在线观看 | 欧美综合日韩 | 亚洲午夜视 | 国产一级精品精冻电话 | 国产区精品自拍 | 国产精华液和欧美的精华液的区 | aⅴ另类 | 国产不卡免费视频 | 精品日产一区二区三区 | 青青国产在线观看 | 国产专区欧美专区在线观看 | 欧美色涩在线第一页 | 久9视频这里只有精品试看 经典影片免费在线观看 | 最新好看的影视大全在线观看 | 国产又大又硬又粗视频 | 中文字幕乱码免费视频 | 国产精选在线观看播放 | 两性色午夜视频免费网 | 欧美自拍偷拍一区二区 | 日韩免费码 | 九九热在线免费观看 | 老年人一级特黄aa大片 | 九九热视频在线免费观看 | 2025国产手机在线精品 | www.妞干网.com | 一级风流片a级在线播放 | 国产又黄的a级鬼片在线观看 | 成人国产99视频在线观看 | 国产在线观看www | 亚洲国产欧美日韩精品一区二 | 国产2025精品一区 | 一本大道综合伊人精品热热 | 国产一级特黄a大片免费 | 成人精品视频99在线观看免费 | 日本亚洲精品成人 | 日韩影视网 | 中文字幕日本αv一区二区 乱伦国产精品日本 | 欧美精品视频一区 | 亚洲宅男精品一区在线观看 | 日本中文字幕专区视频在线 | 国产欧美日韩综合精品一区二区三 | 国产aⅴ一区二区 | 亚洲综合国产在不卡在线首映 | 亚洲欧洲另类春色 | 成人性生交大片在线观看 | 两个人高清在线观 | 大地资源中文第二页高清 | 特种兵的又| 日韩成人精品 | 另类欧美变态 | 日韩在线中文字幕欧美 | 亚洲午夜在线x88∨ 亚洲精品国偷自产在线 | 欧美精品一区二区电影 | 免费人成大片在线播放 | 一区二区三区四区电影 | 国产高清无密码一区二区三区 | 三级综合在线观看精品 | 伊人www22综合色 | 色一情一区二区三区 | 国产精品喷潮在线观看 | 青草国产 | 免费国产黄线在线观 | 伊人色综合一区二区三区 | 偷拍激情视频一区二区三区 | 99re热视频这里只有综合亚洲 | 欧美巨大德国肥婆 | 亚洲欧美综合另类 | 国产盗摄亚洲中国 | 国产在线观看第二十三页 | 三级三级三级a级全黄 | 国产男女乱婬真视频免 | 天天看片在线完 | 国产亚洲女人 | 欧美精品1区国新欲乱视频 国产一区二区精品免费播放 | 亚洲欧美日韩一区高清中文字幕 | 欧美精品一区二区三区在线播放 | 亚洲人成高清在线播放 | 国产高清视频一区免费观看 | 国产精品欧美亚洲韩国日 | 50岁丰满女 | 午夜国产精品蝌蚪在线观看 | 91视频盛宴 | 夜夜夜一区二 | 亚洲欧美日韩在线一区二区三区 | 亚洲日本国 | 国产乱子伦60女人的皮视频 | 国产强伦姧在线观看 | 亚洲欧洲精品视频 | 日本一本免费线观看视频 | 国产主播福利片在 | 国产制服丝袜观看 | 亚洲丝袜制服在线观看 | 在线精品国产一区二区三区 | 91精品专区国产在线观看高清 | 欧美一区二区电影免费观看 | 国产欧美亚洲三区久在线观看 | 成人免费观看视频 | 亚洲美女高 | 欧美性受一区二区三区 | 精品一区二区国产 | 国产在线观看高清看片 | 久热国产精品视频一区二区三区 | 日韩高清不卡在线视频观看 | 亚洲日韩欧美综合网 | 精品视频一区二区三区在线观看 | 亚洲国自 | 乱伦故事 | 最新福利电影在线看 | 日本欧美视频在线观看三区 | 伊人影院综合 | 亚洲国产欧美日韩一区 | 欧美精品1区国新欲乱视频 国产一区二区精品免费播放 | 免费人成在线视频无 | 日韩亚洲欧美中文高清在线 | 亚洲精品欧美综合二区 | 国产精品高清自产拍 | 亚洲理伦片精 | 国产精品17p | 亚洲欧美日韩中文高清一 | 国产在线播放成人免费 | 日韩国产欧美精品综合二区 | 欧美精品视频一区 | 国产v在线在线观 | 中国领先的综合视频网站 | 91制片厂一样的应用 | 91精品欧美激情在线播放 | 国产精品大战 | 99视频在线精品66 | 日本精品aⅴ在线 | 精品一卡二卡三卡四 | 欧美精品亚洲精品日韩精品 | 欧美亚洲国 | 亚洲老妈激情一区二区三区 | 久女女热精品视 | 日韩综合一二三区视 | 国产99视频精品草莓 | 亚洲综合精品成人 | 97久视频精品视频在线老司机 | 精品国产国产综合精品 | 亚洲熟女精品一区二区成人 | 亚洲五月六月丁香激情综合 | 91尤物视频在 | 日韩成人精品视频 | 欧美午夜一区二区三区 | 国产一区二区三区高清视频 | 添bbb免费看高清视频 | 国产v综合v亚洲欧美大天堂 | 国产二区三区 | 亚洲五月六月丁香激情综合 | 国产专区欧美专区在线观看 | 欧美一区在线播放 | 91视频网| 国产欧美精品区一区 | 欧美日韩一区二区成人午夜电影 | 最近中文字幕免费mv视频7 | 婷婷亚洲综| 婷婷蜜桃国产精品一区 | 亚洲国产精品大秀在线播放 | 国产老人一区v二三区 | 护士在办公室被躁bd在线观看 | 日韩免费视 | 亚洲视频网站在线观看 | 国产91精品不卡在线 | 2025最新电 | 国产真实强奷网站在线播放 | 国产欧美日本不卡 | 私人订制1080在线观看免费 | 极品国产一区二区三 | 国产视觉| 欧美日韩在线观看区一二 | 自产国产一区二区 | 在线人成免费视频69国产 | 亚洲国产精品综合小说图片区 | 在线观看免费精品国产第一区 | 中文字幕亚洲一区二区va在线 | 愉拍自拍另类高清 | 亚洲视频在线观看 | 午夜国产在线一区二区三区 | 亚州视频一区 | 国产欧美亚洲一区二区 | 午夜免费视频在线观看 | 在线观看日韩 | 神马影院手机在线观看 | 中年熟女乱子正在播放 | 午夜男女爽爽爽免费播放 | www.五月天激情 | 国产炮机主播在线观看 | 国产日本欧美高清免费区 | 中文字幕一区二区精品区 | 99精品视频在线观看 | 美腿丝袜亚洲综合在线视频 | 成人午夜福利免费 | 日韩免费无 | 国产在线观看91精品 | 国产日韩欧美在线精品综合网 | 亚洲人成网站观看在线播放 | 欧美激情拍拍拍 | 欧美性猛交ⅹxxx乱大交 | 天美麻花星空大全在线观看免费 | 国内精品美女a在线播放 | 男生晚上睡 | 吖v国产在线高清播放 | 99视频精品国在线视频艾草 | 日本人乱亲伦视频 | 国产午夜福利在线观看视频 | 国产va天堂va欧美va | 国产精品自在线拍国产手机版 | 午夜福利电影网 | 国产91刘玥在线观看 | 91影视日韩欧美在线观看 | 在线观看免费视频网站a站 色夜影院 | 欧美黑人ⅹxxx猛交 日日狠狠 | 日韩熟女高清精品专区 | 99热这里只有精品18 | 国产高清自拍一区 | 最爽的乱淫视频国语对 | 一个人免费观看视频www | 亚洲欧美日韩看片 | 中文中幕a在线 | 手机在线看片 | 91青青草| 老司机99视频在线免费观看 | 国产在线观看一区二区三区四区 | 小说区亚洲综合第1页 | 国产欧美网址 | 99在线观看视频免费精品9 | 在线日本看片免费人成视久网 | 在线观看视频免费 | 又刺激视频| 国产剧情对白刺激在线 | 亚洲s色大片 | 91福利免费体验区观看区 | 高清一区二区三区欧美激情 | 久中文字幕中文字幕亚洲无线 | 日韩a一级毛 | 啦啦啦在线观看www 三三影院网 | 亚洲综合色一区二区三区另类 | 国产在线观看精品一区二区 | 亚洲专区欧美专区 | 偷自拍亚洲视频 | 国产大片91精品免费观看不卡 | 亚洲春色在线视频 | 黄页免费观看 | 丁香伊人 | 9re热国产这里只有精品 | 精品国内一区二区三区蜜桃 | 成在线人永久免费视频播放 | 国产福利精品一区二区 | 特黄aaaaaaa| 欧美搡bb | 国产男女动作视频在线91 | 国产免费午夜福利在线播放92 | 国产精品三三级在线 | 国产精品免费视频色拍拍 | 成年人免费在线看的惊悚动作片 | 国产熟女乱伦一区二区 | 中文字幕免费高清电视剧网站 | 欧美巨大巨粗黑人性aaaaaa | 国产黑色丝袜在线观看一区 | 国产亚洲精品线 | 最近中文字幕mv在线视频www | 国产在线日韩在线 | 国语自产精品视频一区二区 | 亚洲成a人片在线观看日本 国产福利萌白 | 欧美精品 | 一区二区三区国产美女在线播放 | 亚洲国产精品sss在线观 | 国产黄在线 | 中文字幕视频区 | 潘金莲与西门庆床戏在线 | 在线免费观看污网站 | 韩国影院 | 日本成本人片视频免费 | 99热在线 | 亚洲精品国产77777 | 91福利国产在线在 | 免费国产午夜激情片 | 亚洲人成欧| 中文字幕视频区 | 真正国产人妖ts系列 | 国产极品美女在线观看网站 | 二区三在线播放 | 午夜不卡视频 | 亚洲精品视频免费 | 自拍亚洲免费影视 | 午夜不卡影 | 日韩国产免费 | 欧美三级不 | 婷婷亚洲综 | 日韩欧美综合在线制服 | 成人区精品一区二区不卡亚 | 国产性tv国产精 | 午夜免费福利片观看 | 日产乱码一区二区 | 成人午夜福利短视频在线观 | 性欧美一级 | 成年女人免费碰碰视频 | 热99这里| 亚洲欧洲日产国码久在线观看 | 日韩精品极品视频在线观看免 | 在线一区二区电影 | 热播电视剧电影高清免费在线观看 | 日韩精品电影亚洲一区 | 国产精品亚洲二区在线播放 | 中文字幕高清免费日韩视频在线 | 99久高清 | 欧美一级在线全免费 | 亚洲视频精品在线观看 | 婷婷亚洲综合一区二区 | a级国产乱理伦片在线观看al | 国产欧美亚洲一区二区 | 国产私拍福利精品视频推出 | 丁香九月月小说图片区 | 热99精品视频 | 亚洲激精日韩激精欧美潮精品 | 欧美乱大交 | 国产ppp视频| 偷怕自怕视频在线观看 | 国产日韩在线视频 | 一区二区中文字幕在线 | 国产福利深夜视频在线观看 | 日韩精品亚洲精品第一页 | 2025年最新电影电视剧 | 亚洲国产天堂 | 中文字幕v亚洲ⅴv天堂 | 在线亚洲| 大地资源第二页中文高清版 | 五十路息与子在线观看 | 亚洲综合视频在线观看 | 午夜性影院一区二区三区 | 亚洲人成电影网 | 成人影院在线免费观看 | 国产精品18成人 | 欧美日韩不| 精品自拍视频在线观看电影 | 日本特级婬片中文免费看 | 国产chinesehd| 国产女同 | 天堂资源中文最新 | 青青在线观看国产大片 | 无毒不卡在线观看无需下载 | 国产精品分类在线播放 | 午夜免费福 | 国产亚洲欧美在线播放网站 | 片午夜在线观看 | 最好免费观看高清视频大全 | 精品国产午夜福利在线观看 | 亚欧乱色国产精品免费九库 | 国产一区二区高清在线 | 国产天堂网在线视频 | 在线亚洲v日韩v | 日韩欧美一级视频网站 | 2025最新电 | 国产99视频精品免费视频6 | 青草精品| 美丽姑娘在 | 国产在线视频在线观看 | 精品国产a| 草草线禁成18年在线视频 | 亚洲第一视频在线 | 门卫老头吮她 | 69一区二三区好的精华液 | 两性色午夜免费视频 | 亚洲人成小说网站色在线 | 国产精品白丝a∨网站 | 国产一级精品精冻电话 | 国产精品一区99 | 手机看片高清国产日韩片 | 国产欧美日韩一 | 国产l精品国产亚洲区在线观 | 亚洲人成中文字幕在线观看 | 日韩专区第一页 | 成人国产精品一区二区免费 | 人人干操 | 国内老司机精品视频在线播出 | 国产在线日韩欧美 | 中文精品视| 亚洲欧洲国产日产综合综合 | 亚洲成熟 | 午夜福利在线观看国产精品 | 日本高清视频在线免费观看 | 亚洲日本va午夜在线电影 | 国产亚洲欧美日韩在线观着 | 精品亚洲成a人在线看片 | 国产午夜福利在线永久视频 | 引领不用下载播放器的影视站 | 国内精品一区二区 | а√天堂中文官网在线8 | 中文天堂最新版资源 | 日本xxx | 日本爽p大片免费观看 | 大地资源在线观看免费中文版 | 九九在线观看精品视频6 | 国产亚洲欧美一区二区不卡 | 国产对白普通话视 | 国产精品亚洲无线码在线播放 | 日韩v午夜视频在线观看 | 国产原创露脸视频在线观看 | 精品区在线观看 | 精品在线一区二区 | 国产日韩制服丝袜在线第一页 | 一区二区三区在线观看视频 | 在线观看91精品国产hd | 18+在线观看网站 | 强开小嫩苞一区二区三区 | 欧美插逼视频 | 欧美喷潮系列在线观看 | 国产最新精品精品视频 | 亚洲高清视频一区 | 国产男女免费完整视频 | 国产精品入口免费视频 | 国产亚洲精品精品国产亚洲综合l | 日本一区二区三区不卡视频中 | 日本高清中文字幕一区二区三区 | 成都在线观看免费观看 | 国产欧美一区二区三区综合野 | 成人免费观看网欧美片 | 国产精品一区二区在线观看 | 国产拍偷| 天美麻花星空大全在线观看免费 | 欧美一级a人与 | 老司机深夜免费福 | 国产在线不卡一区二区三区 | 精品亚洲一区二区三区 | 国产va免费精品 | 午夜国产福利 | 最新动漫 | 亚洲精品日韩三区 | 92午夜福利影院一区二区三 | 永久免费老妇女 | 国产日产亚洲系列电影 | 在线观看国| 国产专区在线视频 | 亚洲美女高| 色国产综合免 | 欧美日韩一区二区三区四 | 欧美日韩在线在线观看 | 陌陌影视在线观看高清完整版 | 日本精品欧美一区二区三区 | 999y| 亚洲国产精品欧美日韩一区二区 | 日韩成人午夜在线视频 | 五月天亚洲婷婷综合 | 制服丝袜在线手机国产 | 国产伦精一品二品三品 | 欧美日韩一道免费中文字幕新视频 | 精品一区二区在线视 | 欧美日韩aⅴ一区二区三区 日本二区在线中文字幕 | 亚洲欧洲日产国码a | 啦啦啦免费高清视频 | 亚洲精品一二三区尤物tv | 亚洲综合第 | 色吊丝中文字幕一区二区三区 | 欧美精品视频一区二区三区 | 日本中文字幕在线视频站 | 乌鸦传媒 | 国产激情在线视频 | 麻婆豆传 | 亚洲开心婷婷中文字幕一区 | 最新理论片在线观看免费 | 国产福利在线观看视频 | 国产又粗又黄又爽的免费视频 | 亚洲一级二级三级精品 | 无人影院手机版在线观看免费 | 亚洲男人的天堂在线aⅴ视频 | 天天搞夜夜 | 日本九九热在线观看官网 | 国产亚洲第一页电影 | 国产高清吹潮免费视频 | 影视先锋资源免费在线观看 | 伊人色综合一区二区三区 | 在线亚洲欧国产精品专区 | 亚洲人成网站在线观看 | 欧产日产国产精品精品mp4 | 国产高清无密码一区二区三区 | 亚洲熟女片 | 亚洲国产婷婷综合在线精品 | 小小水蜜桃高清电视剧观看 | 青草青在线 | 伦理片mp4 | 亚洲美女激情视频 | 国产欧美日韩精品第二区 | 国产主播专区 | 视频一区视频二区日韩专区 | 日韩欧美精品在线观看 | 日日夜夜精品视 | 精品国产午夜福利在线观看蜜月 | 国产乱码精品一区二区三区百度 | 亚洲视频日 | 亚洲国产精品日韩v专区 | 成人自拍视频免费 | 午夜成人免费y在线观看 | 日韩精品一区二区三区中文 | 色一情一区二区三区 | 国产精品主播视频 | 国产suv精品一区二区62 | 亚洲国产精品综合 | 日本三级在线视频 | 欧美性videos高清 | 黄瓜影视| 日韩精品专区在线影院重 | 激情五月婷婷丁香六月 | 欧美激情片区一区二区三区 | 国产在线精品一区二 | 国产精品天天看特色大片 | 欧美日韩一二三区免费性片 | 国产亚洲欧美一区二区精 | 亚洲国产欧美在线人成app | 视频一区中文字幕日韩专区 | 国产黄在线观看免费观看网站不卡 | 99热在线 | 精品综合视频 | 欧美野人三级经典在线观看 | 91影院在 | 手机免费| 欧洲亚洲一区二区三区 | 五月综合激情中文字幕版 | 国产欧美一区二区高清在线 | 亚洲国产综合精品中文字幕 | 日本大片免a费观看视频 | 日本一区二区精品免费 | 国产精品午夜福利在线观看地址 | 欧美视频在线观看免费最新 | 日韩伦理电影中文在线 | 亚洲精品国产精品制服丝袜 | 国产在线精品一区二区不卡 | 国产丝袜视频在线 | 亚洲色资源在线播放 | 亚洲第一页中文字幕 | 中文字幕在线观看亚洲 | 国产高清吹潮免费视频 | 韩国床戏激情戏裸戏 | 神马影视 | 日本三级香港 | 久夜色精品国产一区二区三区 | 91精品免费看 | 国产福利不卡视频在免费 | 日本亚洲精品午夜 | 蜜桃视频91| 最近的2025中文字幕免费 | 国产视频福利一区电影 | 国产又刺激又黄又爽又湿 | 国产一区精品视频 | 亚洲日本中 | 毕业后来 | 亚洲网站免费观看 | 在线亚洲欧国产精品专区 | 亚洲黄免费看网站国产福利一区二 | 日本不卡 | 国产亚洲人成a在线v网站 | 国产午夜福利在线观看1000集 | 免费二级c片在线观看a | 国产精品自在自线 | 亚洲欧美日韩国产综合专区 | 星辰影视大全免费版官网 | 国产视频一区二区三区四区 | 亚洲精品视频在 | 国产另类在线欧美日韩 | 中文字幕永久在线日本高清dvd | 秒拍视频福利永久国产 | 欧美日韩成人午夜电影 | 日韩精品美女视频 | 欧美亚洲视 | 欧美αv| 亚洲精品欧美精品日韩精品 | 国产精品免费 | 一区二区三区影院 | 三级国产国语三级在线 | 91探花国产综合在线精品 | 伊人影视| 国产黑色丝袜在线观看一区 | 国产成a人片在线观看视频下载 | 成人国产精品日韩 | 麻酥酥哟视频在线播放 | 阿v视频国产免在线手机观看 | 亚洲免费在线国产视频午夜精 | 国产精品毛 | 日韩高清在线播放不卡 | 欧美日韩亚洲中文字幕吗 | 最新免费视频 | 老子影院午夜伦不卡亚洲 | 国产香港日本三级在线 | 爱情岛论坛 | 区三区影院视频 | 国产xxx视频在线观 国产午夜免费高清视频 | 99在线精品日韩一区免费国产 | 日韩欧美一区二区三区 | 日韩欧美综合在线制服 | 99偷拍视频精品一区二区 | 日本在线日本 | 两个人免费视频观看高清视频 | 永久免费啪 | 午夜亚洲国产理论片秋霞 | 亚洲一日欧美日韩中文字幕 | 中文字幕欧美激情 | 亚洲精品一区二区三区四区五区 | 六月欧美 | 银杏影视 | 欧美日韩精品一区二区视频 | 国产一级a毛一级a视频 | 精品免费国产一区二区三 | 欧美日韩国产综合一区精 | 亚洲国产精品sss在 69xxxxx中国女人 | 免费国产a国产 | 99精品国产自在现线观看 | 国产日本欧美在线一区二区 | 一区二区日韩视频九一蜜桃 | 午夜丁香婷婷免费手机在线观 | 年轻的母亲4韩剧免费中文版 | 亚洲欧洲中文字幕 | 亚洲成a人片 | 亚洲综合另类小说色区一 | 一区视频| 国产精品美女一区二区视频 | 亚洲欧美日韩国产综合专区 | 三区不卡 | 2025亚洲欧美日韩在线观看 | 国产亚洲欧美日韩国产片 | 日本h无羞动漫在线观看网站 | 亚洲综合视频在线观看 | 亚洲大片精品永久免费看网站 | 国产精品自在线免费 | 日本高清色www在线安全 | 日本激情夜里视频在线观看 | 欧美性狂猛aa | 中文字幕第一页在线 | 国产丝袜| 中文字幕精品视频第一区第二 | 国产免费爽爽视频在线观看 | 一区两区三区四区乱码国产精品 | 欧美综合在线观看 | 日日摸日日| 国产suv精品一区二区6 | 欧美在线观看视频免费 | 国产美女自卫慰视频福利 | 一区二区视频在线 | 日本不卡中文字幕一区二区 | 日韩系列第一页 | 嗨嗨影院伦理电影 | 国产精品激情偷乱一区二区∴ | 中文字幕制服丝袜一区二区三区 | 日本免码v? | 私人尤物在线精品不卡 | 国产又黄又大又粗又硬又猛樱花 | 精品欧美视频第二页在线观看 | 国产揄拍视频在线观看 | 最新电影免费在线观看 | 思思热99re热在线精品 | 欧美日韩一二三区免费性片 | 免费电影在线看 | 免费最新热播韩剧美剧电视剧 | 国产第113页| 最新在线精品国自产拍网站 | 日本不卡 | 国产又粗又硬又大爽黄老大爷视 | 无毒不卡在线观看无需下载 | 免费在线播放 | 在线观看视频91 | 国产中文字幕第一页 | 日本96在线精品视频免费观看 | 国产精品日韩欧美在线第3页 | 免费高清观影 | 精品国产男人的 | 6080神 | 三级网站| 国产啪精品视频网站免费尤物 | 亚洲精品日韩精品一区 | 国产欧美日韩另类精彩视频 | 亚洲最大国产综合91 | 欧美一级在线 | 日韩性freexxxx在线观看 | 国产福利精品在线观看 | 午夜高清性色生活片 | 播放国语介绍动漫更新视 | 真人做爰片免费 | 日韩综合一卡二卡三卡死四卡 | 日日噜噜夜夜狠狠视频 | 国产免费人成视频在线观看播放 | 人人干97 | 精品国产福利在线观看 | 国产一区二区三区正品 | 手机高清热播韩剧美剧电视剧 | 日韩精品一区二区三区中文字幕 | 亚洲欧洲国产日产综合综合 | 国精产品一区一区三区mba下载 | 日韩欧美在线视频一区二区 | 国产精品成熟老妇女 | 国产精品九九视频 | 亚洲欧美日韩精品中文乱码 | 日韩一区二区三区四区不卡 | 欧美日韩精美视频在线观看 | 黄又色高清视频免费 | ⅴ在线观看 | 美国一级欧美三级 | 精品一区二区三区四区在线 | 伊伊人成亚洲综合人网香 | 在线欧美日韩成人 | 亚洲自拍欧美 | 欧美视频在线视频精品 | 97dounai豆奶视频 | 热映电影票房 | 欧美日韩一级无毛 | 337p日本大胆欧美人术 | 日韩精品一区二区三区中文在线 | 亚洲免费网站在线观看 | 电视剧免费在线 | 日韩国产综合在线 | 银杏在线app | 国产91丝袜在线播放网站 | 最新免费电影在线播放 | 亚洲午夜视 | 有码在线观看免费 | 日本特级婬片中文免费看 | 又粗又黄又猛又爽大片a | 国产精品第一区第27 | 中文字幕国产一区 | 五月婷婷六月丁香 | 日韩欧美国产偷亚洲清高 | 亚洲精品在线免费观看 | 亚洲欧美精品中文字幕 | 91一区二区午夜免费 | 97在线观看高清视频免费 | 国产玉足脚交极品在线视频 | 国产美女在线观看 | 国产免费看视频 | 国产日本韩国亚 | 国产亚洲福利日本一区二区 | 学生妹国产在线第一页 | 色五月在线观看婷婷国产 | 国产精品一区福利在线观看 | 日韩精品一区二区三区蜜桃 | 免费国产一级a | 中文视频二 | 成版人抖音d2视 | 国产福利在线观看永久免费 | 夜夜爽免费看 | 亚洲一区在线综合 | 日韩伦理电影中文在线 | 国产欧美乱夫不卡无乱码 | 日韩国产欧 | 欧美日韩国产一区二区三区在线 | 午夜三级三级三点在线 | 草草精品在线视频 | 开心五月丁香花综合网 | 欧美一级a一级a爱片免费免免 | 露脸美女另类 | 国产全肉乱妇杂乱视频 | 人片在线观看 | 日韩精品搭讪在线视频播放 | 视频二区日韩 | 精品国产天堂 | 欧美日韩第一区二区三区 | 欧美大片在线观看免费视频 | 午夜国产福利 | 日本高清免费不卡视频 | 精品一区二区三区视频免费 | 爽黄的免费视频 | 开开影院 | 爱视频在线观看 | 国产高清一区二区三区视频 | 日韩精品一区二区三区中文3d | 国产一级a毛一级a看免费视 | 国产精品大片大片看大 | 亚洲va中文字 | 国产性色的 | 九九在线精品观看 | 欧美又大粗又爽又黄大片视 | 亚洲人成在线播放网站 | 国产自偷自偷免费一区 |