日韩av高清在线影院,欧美日韩国产综合色视频在线,日韩精品人妻在线视频,内射极品高挑少妇人妻,久久久国产成人免费,97久久视频在线观看,人妻中文字幕日韩有码人妻熟女,亚洲国产成人精品福利,99精品国产福利在线观看

WINCE常見問題匯總 excel常見問題匯總

在mediaplayer全屏播放的時候,我可以用鍵盤上的某一個鍵調節(jié)聲音大小,現(xiàn)在我想在屏幕上顯示調節(jié)的結果就跟我們看電視一樣能出來一些標記。當聲音變大在屏幕上就增多,當聲音變小的時候就減少

得到播放窗口的DC,然后在上面顯示一個不同顏色的矩形或者其它形狀。

在ce自制平臺中如何添加自己的驅動?cec文件和reg,bib文件有何區(qū)別?看混了,不知道如何才能讓驅動注冊到平臺中。另外,reg和bib是我在編寫驅動必須要自己寫的么

CE的驅動分為本機驅動和流驅動,本機驅動你可以修改源碼(在%_WINCEROOT%/PUBLIC/COMMON/OAK/DRIVERS),然后build驅動源碼,之后用PB編譯內(nèi)核。流驅動是以DLL的形式被系統(tǒng)程序加載的。加載流驅動要在注冊表中添加信息,這和cec文件沒關。如果你想把此驅動DLL和注冊信息作為一個整體給別人使用,那么就要做一個cec文件,PB能夠讀取cec文件內(nèi)容并加載到內(nèi)核工程中。cec文件相當于安裝程序。

我安裝的是evc4.0,我開發(fā)的系統(tǒng)要顯示中文比如姓名什么的。在編輯的時候是中文顯示,但是到了輸出時,顯示的都是亂碼。不知道應該怎么去解決

EVC的模擬器不支持中文。所以顯示出來的都是亂碼。1、你可以只顯示英文,調試結束后在改界面為中文。2、安裝PB,PB的模擬器支持中文。

CStatic及其控件的文字無法垂直居中顯示,雖然在evc的資源編輯器中可設置,但是一旦運行,卻無法垂直居中顯示

這種情況正常,而且除此之外還不能右對齊。

獲取設備ID的種類有哪些

除了手機模塊外,還有CF卡有序列號、硬盤有ID號、網(wǎng)卡有MAC號等。這幾種方法數(shù)獲取手機模塊ID最簡單。

在應用程序中,如何向修改本機的ip地址等網(wǎng)絡參數(shù),并使之立即生效?

網(wǎng)絡設置保存在注冊表中,位置[HKEY_LOCAL_MACHINE/Comm/網(wǎng)卡名稱/Parms/TcpIp],例如常見的CS8900網(wǎng)卡設置:

[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms/TcpIp]

"EnableDHCP"=dword:0

"DefaultGateway"="192.168.0.1"

"DNS"="111.111.111.111"

"UseZeroBroadcast"=dword:0

"IpAddress"="192.168.0.2"

"Subnetmask"="255.255.255.0"

設置之后要生效有兩種辦法:一種熱啟動,調用KernelIoControl(IOCTL_HAL_REBOOT,NULL,0,NULL,0,NULL),熱啟動時間很短暫;另外一種調用DevieceIoControlAPI,傳遞IOCTL=IOCTL_NDIS_REBIND_ADAPTER。

如何向控制面板中那樣,修改系統(tǒng)聲音的音量

調用APIwaveOutSetVolume(HWAVEOUT,dwVolume),一般參數(shù)1為0。在[HKEY_CURRENT_USER/ControlPanel/Volume]下是系統(tǒng)聲音的注冊表設置。

在應用程序中如何實現(xiàn)jpg、gif圖片的顯示

有幾種辦法:

1、在MSDN中搜索標題為“WindowsCE.NETTechnicalFrequentlyAskedQuestions”的文檔,其中有一個問題“HowcanIdisplayJPEG,GIF,andothergraphicsfiles?”,下面就是答案。

2、如果安裝了WindowsCE5.0,一個例子源碼位于WINCE500/PUBLIC/GDIEX/SDK/SAMPLES/SIMPLE。

3、用IWebBrowser組件實現(xiàn)。

在應用程序中如何實現(xiàn)系統(tǒng)待機

voidGwesPowerOffSystem(void);

在WINCE下如何實現(xiàn)鍵盤鉤子

我寫了一個簡單的例子,把其中主要部分截取出來放到了我的FTP里。用戶名以及密碼均為winceuser,地址是ftp://211.95.73.26/fllsoft@sina.com/SourceCode/用鉤子禁止系統(tǒng)鍵.rar。

在WINCE中如何得到網(wǎng)卡MAC地址

事實證明,獲得物理網(wǎng)卡的MAC地址并沒有被統(tǒng)一成一個API或者IOCTL,如果網(wǎng)卡驅動程序沒有提供接口的話只能直接訪問寄存器獲得。讀者可以參考目錄WINCE500/PUBLIC/COMMON/OAK/DRIVERS/NETCARD里的一些驅動源碼。

WindowsXPEmbedded和WindowsCE有何區(qū)別

簡單地說WindowsXPEmbedded采用WindowsXP內(nèi)核,只能運行在x86處理器上,優(yōu)點是能夠運行PC上現(xiàn)有的應用軟件,缺點是授權費太高,標價¥900元;WindowsCE采用WindowsCE內(nèi)核,能夠運行在多種處理器上,如x86、ARM、SHX、MIPS等,優(yōu)點是授權費低,最低Core版標價¥30元。缺點是需要單獨開發(fā)應用軟件、定制內(nèi)核,甚至開發(fā)BSP、Driver。

wince下只是把調制解調器的驅動掛接在了com1,如何將器驅動掛接在com2上?

1、在HLM/drivers/buildin/com2/unimodem下復制和com1一樣的數(shù)據(jù)2、在HLM/ExtModems/HayesCompat下改寫Port為COM2:,再改寫FriendlyName為"HayesCompatible在COM2:"。

如何定制自己的外殼

1、先開發(fā)一個外殼軟件,假設名稱為MyShell.exe

2、刪除注冊表[HKEY_LOCAL_MACHINE/init]下如下一行:

"Launch50"="explorer.exe"

3、在注冊表[HKEY_LOCAL_MACHINE/init]下添加如下一行:

"Launch50"="MyShell.exe"
WINCE常見問題匯總 excel常見問題匯總

上述的“LaunchXX”中的XX為序列數(shù),內(nèi)核依據(jù)這個序列數(shù)按由小到大的順序來分別執(zhí)行所有子鍵列出的應用程序,具體數(shù)值應該為多少請參考幫助文檔的說明。

如果原來的內(nèi)核中添加了標準外殼(standardshell)組件,或者添加了其它組件而這些組件需要依賴標準外殼,那么在PB中是無法刪除標準外殼組件的,解決辦法一是保留explorer.exe在內(nèi)核中,二是刪除依賴標準外殼的組件。

我原來的工程是x86版本的,編譯選項只有x86,我如何能夠編譯ARM版本的

兩種辦法:

1、用EVC新建一個工程的時候,建議復選“CPUs”列表,這樣發(fā)生了這種事情也能夠輕易通過選擇“WCEConfiguration”工具欄中的CPU列表來編譯不同CPU版本的軟件

2、如果打開工程后CPU列表中只有x86,而此時已經(jīng)安裝了ARM版本的SDK,那么單擊EVC菜單“build”-“configurations”,然后單擊“add”按鈕來添加CPU。

通常情況下WINCE采用串口1作為調試時輸出信息用途,要正式出產(chǎn)品前如何去掉串口1的調試功能

正常情況下串口1只有在編譯debug版本的內(nèi)核時才在BootLoader中初始化串口1用于輸出信息,而編譯release版本會跳過此代碼。而有些BSP設計成沒有宏定義,也就是說無論什么版本都會在BootLoader中初始化串口1,這樣造成WINCE啟動后串口1無法被應用程序使用。對于這種情況只能在BootLoader源碼中刪除初始化代碼,如OEMInitDebugSerial。

基于wince的應用程序能建成consoleproject么?

不能

ARM系統(tǒng)外擴一片512KRAM,驅動程序經(jīng)過映射可以使用這一段RAM。1、應用系統(tǒng)如何使用這一段RAM?要加一層驅動嗎?2、如果要將這一段RAM當作RAM盤存儲系統(tǒng),該如何作呢?應該要加文件系統(tǒng)吧,如何加呢?

解答這個問題前,先要說一下WINCE的地址映射機制。對于包含MMU(存儲器管理單元)的處理器來說,如ARM和x86,WINCE要求OEM在定制內(nèi)核的時候填寫一個虛擬地址與物理地址映射關系的表,稱為OEMAddressTable,在這個表中定義了所有物理設備的起始物理地址,對應的起始虛擬地址,地址空間大小,RAM就包括在其中(如果是x86平臺還要求RAM起始虛擬地址從0x80000000開始)。如果有多片RAM,應該在OEMAddressTable中將它們定義在一起,使之地址連續(xù)。對于非OEM的開發(fā)者來說,他們拿到的是定制好的內(nèi)核,不能做任何修改,如果在產(chǎn)品中外擴一片RAM,只能通過API函數(shù)通知操作系統(tǒng)增加一條虛擬地址與物理地址映射關系表項。相關API函數(shù)有兩個,分別是CreateStaticMapping和VirtualCopy。它們的相同之處是都用于建立物理地址和虛擬地址的映射關系。它們的不同之處是CreateStaticMapping映射的虛擬地址范圍在0xC4000000到0xE0000000之間,這個范圍只能由內(nèi)核訪問,一般用于ISR訪問,因為ISR只能訪問靜態(tài)映射的虛擬地址空間,不能用VirtualCopy。VirtualCopy通常和VirtualAlloc配合使用,映射的虛擬地址空間在0x80000000以下,一般用于驅動程序和應用程序訪問。

1、應用程序要訪問這片RAM,和驅動程序訪問方法一樣,調用VirtualAlloc和VirtualCopy。

2、可以做一個流驅動程序專門用于讀寫這片RAM,這樣所有應用程序就可以通過調用流驅動接口函數(shù)來訪問,非要加文件系統(tǒng)也是可行的,通過修改注冊表就可以做到,但是麻煩一些。

我怎么能在PB左邊的定制平臺加進我的驅動呢?

兩種辦法:

1、在platform.bib或者project.bib的MODULES部分添加一條語句,例如:

MyDriver.dllC:/Driver/MyDriver.dllNKSH

這樣編譯內(nèi)核的時候就會把你的驅動DLL文件添加到內(nèi)核中,如果有注冊表需要設置,在platform.reg或者project.reg中添加注冊表內(nèi)容。

2、通過制作.cec文件來添加驅動,制作.cec文件的優(yōu)點是只需制作一次,以后就可以通過將.cec文件導入到PB的Catalog中,象PB自帶的feature一樣通過菜單“AddtoOSDesign”添加到左邊的內(nèi)核工程中。

WINCE有沒有相對路徑概念?如果沒有如何得到當前模塊的路徑?

1、WINCE沒有相對路徑概念,只有絕對路徑,所以凡是涉及到路徑均為絕對路徑。

2、調用APIGetModuleFileName,傳遞一個模塊的實例句柄就能夠得到模塊的絕對路徑。

怎樣讓POCKETWORD打開*.dat格式(里面都是數(shù)據(jù))的文件?

兩種辦法:

1、調用APIShellExecuteEx,在結構體SHELLEXECUTEINFO中添加.dat文件的路徑。

2、調用APICreateProcess,在第二個參數(shù)中設置.dat文件的路徑。

x86RomBootLoader真的可以實現(xiàn)嗎?它確實能代替BIOS啟動計算機?

RomBoot被設計存放在Flash/EEPROM中,也就是原來BIOS的位置,這樣當上電后CPU到固定地址執(zhí)行代碼,也就是執(zhí)行了RomBoot的代碼,它對整個硬件系統(tǒng)進行初始化和檢測,并且支持通過網(wǎng)卡從遠程機器上下載nk.bin或者從本地IDE/ATA硬盤的活動分區(qū)中尋找nk.bin文件加載。RomBoot的優(yōu)點就是引導并且加載速度快,而且它自身完成了所有的操作,這樣就不用BIOS、MSDOS,更不用Loadcepc了。

對于x86RomBootLoader,如何Build得到Romboot.rom?

1、在PB中打開一個內(nèi)核工程(x86的)2、單擊PB菜單“Build”-“OpenBuildReleaseDirectory”3、用cd命令進入%_WINCEROOT%/Platform/Geode/Romboot4、build

如何設置、更改顯示分辨率

能否設置、更改顯示分辨率由顯示驅動程序決定,而沒有統(tǒng)一的標準。例如CEPC,在啟動的時候可以通過設置loadcepc.exe的參數(shù)/L來決定WINCE啟動后的顯示分辨率,這是由于顯示驅動“VGALinearFramebuffer”支持,而Geode可以通過在定制內(nèi)核時修改注冊表項來決定WINCE啟動后的顯示分辨率。

幾個硬件使用同一個IRQ,那么發(fā)生中斷的時候系統(tǒng)怎么判斷到底是哪一個硬件發(fā)生的中斷呢?ISR里面又應該怎么控制呢?

WindowsCE支持多個設備中斷共享一個IRQ,當一個共享IRQ發(fā)生時,CE內(nèi)核的異常處理程序檢測設備特定的寄存器,因為大多數(shù)設備都有一個單獨的寄存器用于表示設備的活動狀態(tài),所以通過遍歷共享這個IRQ的所有設備的寄存器就可以判斷哪個設備發(fā)生中斷。nk.exe加載一個giisr.dll,這個.dll是微軟提供的,它其實是第一個可安裝ISR。默認CE內(nèi)核就是調用這個dll來檢測寄存器狀態(tài)的,當然OEM可以編寫自己的.dll。

CE內(nèi)部有一個ISR鏈,也就是可安裝ISR。因為CE允許OEM添加自己的ISR處理程序,所以ISR被設計成一個鏈表。排在前面的ISR比后面的ISR優(yōu)先處理中斷,如果當前ISR能夠處理當前中斷,那就返回中斷ID由IST處理或者返回SYSINTR_NOP,如果當前ISR不能夠處理當前中斷,那就返回SYSINTR_CHAIN讓下一個ISR處理。

請問在wince中如何在內(nèi)核中增加一個與/windows同級的目錄?

在platform.dat或者project.dat中添加語句。例如要創(chuàng)建根目錄下子目錄ProgramFiles,語句如下:

root:-Directory("ProgramFiles")

文件格式如下所示,我想把每行的4個值讀到4個變量中,用EVC如何編程?

第一行:460.000,3384672.357342,521268.972763

第二行:475.117,3384663.772419,521281.415271

偽代碼如下:

FILE*stream;

stream=_wfopen(L"http://a.txt",L"r+");

if(stream==NULL)

return;

fseek(stream,0L,SEEK_SET);

while(!feof(stream))

{

fwscanf(stream,L"%s",WCHAR1);

fwscanf(stream,L"%f",float1);

fwscanf(stream,L"%f",float2);

fwscanf(stream,L"%f",float3);

}

fclose(stream);

GWES組件的功能有哪些?

GWES不僅負責GDI、窗口、消息,還負責管理本機設備驅動程序,負責加載顯示、鍵盤鼠標、觸摸屏驅動程序,而且GWES本身包含電源、LED驅動程序。

如何在PB中預先設定好存儲內(nèi)存和程序內(nèi)存的大小,我想多劃分一些空間給程序內(nèi)存?

兩種辦法:

1、在定制內(nèi)核時在config.bib文件中設置FSRAMPERCENT=number,具體number可參考標題為“FSRAMPERCENT”的幫助文檔。這種辦法是修改內(nèi)核的設置,所有一直有效。

2、在應用程序中調用APISetSystemMemoryDivision,如果函數(shù)返回SYSMEM_CHANGED表示成功,如果返回SYSMEM_MUSTREBOOT表示需要熱啟動才能有效。這種辦法需要每次啟動后調用API才有效。

如何取消鼠標光標?

通過取消SYS變量來實現(xiàn)此目的,在PB命令行下鍵入“setSYSGEN_CURSOR=”,然后回車確認。

EVC下調用TextOut如何編譯會出錯?

類似這樣的問題很多,這是因為EVC的幫助文檔內(nèi)容有錯誤??赡蹺VC的幫助文檔內(nèi)容是從桌面Windows幫助文檔復制過來的,所以很多API函數(shù)還有例子代碼都有錯誤,例如幫助文檔中包含一個API函數(shù)的說明,但是實際編譯的時候提示沒有這個API,有的例子代碼采用ANSI字符串,而WINCE的API都是寬字符版本,造成直接復制過來編譯失敗。

因為MFCforWINCE的CDC類中沒有TextOut成員函數(shù),所以編譯會出錯,可以用其它類成員函數(shù)ExtTextOut或者DrawText替換。

我如何將我的dll軟件讓現(xiàn)有的ce系統(tǒng)認可?盡管我也知道應該使用signfile.exe程序進行簽名,但是我并不知道那個ce系統(tǒng)認可的簽名應該是啥

如果你說的WINCE系統(tǒng)內(nèi)核已經(jīng)加入了簽名認證機制,那么沒有私鑰對你的DLL文件簽名肯定是無法運行在此內(nèi)核中的,一般簽名密鑰的密鑰長度都是1024位,很難破解。

如果查看WINCE注冊表中的內(nèi)容?

兩種辦法:

1、建立同步后,用EVC自帶的工具“RemoteRegistryEditor”打開查看。

2、從網(wǎng)上下載注冊表查看工具,放到WINCE設備中。

調用directshow出現(xiàn)鏈接錯誤,如何解決?

player.obj:errorLNK2001:unresolvedexternalsymbol_IID_IVideoWindow

player.obj:errorLNK2001:unresolvedexternalsymbol_IID_IMediaControl

這是因為鏈接器沒有找到合適的.lib文件。兩種辦法:

1、在EVC菜單Tools—options—directories里把libraryfiles的路徑重新調整一下。如果你只安裝了EVC自帶的StandardSDK而沒有其它SDK,可以指定WINCE目錄中的.lib文件路徑,例如D:/WINCE500/PUBLIC/DIRECTX/OAK/LIB/X86/RETAIL。注意CPU的類型。

2、安裝SDK,前提是導出SDK的PB內(nèi)核工程必須包括DirectShow或者其它組件。

在PB的config.bib文件中,“IMGFLASH”表示什么意思呢?

表示能夠刷NK到ROM中,具體請查看標題為“IMGEnvironmentVariables”的幫助文檔。

x86平臺如何映射各種地址空間?如何編寫中斷服務例程?

如果是x86平臺,可以調用HalTranslateBusAddress轉換物理總線地址到物理系統(tǒng)地址,調用HalTranslateSystemAddress轉換物理系統(tǒng)地址到邏輯總線地址,也可以不調用這兩個函數(shù),因為x86平臺除32位物理地址外還有16位的IO地址空間,對于16位的IO地址空間,可以直接調用WRITE_PORT_UCHAR或者READ_PORT_UCHAR等函數(shù)直接讀寫端口。對于32位物理地址可以調用VirtualAlloc和VirtualCopy來映射。這樣做思路清晰,簡單明了。

在x86平臺要實現(xiàn)ISR,有如下幾個步驟(以GeodeBSP為例):

1、用SETUP_INTERRUPT_MAP宏關聯(lián)SYSINTR和IRQ。以“SYSINTR_”為前綴的常量由內(nèi)核使用,用于唯一標識發(fā)生中斷的硬件,又稱為中斷ID。在Nkintr.h文件中預定義了一些SYSINTR,OEM可以在Oalintr.h文件中自定義SYSINTR。

2、用HookInterrupt函數(shù)關聯(lián)硬件中斷號和ISR。這里提到的硬件中斷號為物理中斷號,IRQ為邏輯中斷號。在InitPICs函數(shù)的最后調用了HookInterrupt函數(shù),如下:

for(i=64;i<80;i++)

HookInterrupt(i,(void*)PeRPISR);///用ISR關聯(lián)16個中斷號

3、調用InterruptInitialize函數(shù)關聯(lián)SYSINTR和IST創(chuàng)建的事件對象,也是IST等待的事件對象。詳細內(nèi)容請參考GeodeBSP源碼。

在x86平臺要實現(xiàn)可安裝ISR,先調用LoadIntChainHandler函數(shù)注冊在注冊表中指定的ISRDLL,然后填充GIISR_INFO結構體并調用KernelLibIoControl函數(shù)將此結構體傳遞給可安裝ISR。詳細內(nèi)容請參考WINCE幫助文檔或者我著的《WindowsCE下驅動開發(fā)基礎》。

修改了WINCE自帶的驅動程序后如何編譯?如果是自己開發(fā)的驅動程序如何編譯?

1、分為IDE方式和命令行方式。

IDE方式的編譯很簡單,以PB5.0為例,打開定制內(nèi)核的工程,在左邊的“workspace”—“FileView”中找到你已經(jīng)修改了的目錄,然后單擊右鍵彈出菜單,在菜單中選擇“BuildandSysgenCurrentProject”,這樣PB就會編譯指定的目錄中的項目源碼文件,然后執(zhí)行sysgen命令根據(jù)source文件中的內(nèi)容生成目標文件并復制到當前內(nèi)核工程目錄下。

命令行方式的編譯需要打開“BuildOS”—“OpenReleaseDirectory”,以cd命令進入你已經(jīng)修改的驅動程序目錄中,然后鍵入“build–cfs”,然后鍵入“sysgen–p項目名稱”,一般項目名稱為source文件中的“TARGETNAME”。

2、如果想完全自己開發(fā)驅動程序,建議直接采用EVC或者PB來編寫編譯。

開發(fā)PCI設備驅動時,InterruptInitialize函數(shù)的第一參數(shù)是否是PCI卡配置空間信息中的InterruptLine參數(shù)?是否需要在HKLM/Drivers/BuiltIn/PCI/Template加一個自己的subkey,并填寫相應內(nèi)容?如何填?

1、InterruptInitialize的第一參數(shù)是IRQ,也就是邏輯中斷號,而不是物理中斷號,InterruptLine是指物理中斷號

2、需要在template下加自己的PCI設備的信息,例如:

[HKEY_LOCAL_MACHINE/Drivers/PCI/Template/Serial]

"Dll"="Com16550.Dll"

"Class"=dword:07

"SubClass"=dword:00

"ProgIF"=dword:02

"VendorID"=multi_sz:"0AF0","B320","B320"

"DeviceID"=multi_sz:"0020","0300","0302"

"Prefix"="COM"

而這些信息就來自于你執(zhí)行pcienum.exe的結果。

編譯器報錯:errorC2065:''''CFileFind'''':undeclaredidentifier,如何解決?

MFCforWINCE版本沒有CFileFind類,所以要查找文件只能調用APIFindFirstFile和FindNextFile。

如何設置WINCE系統(tǒng)字體、字號?如何設置自己開發(fā)的軟件的字體、字號?

1、系統(tǒng)字體通過注冊表設置。如下:

[HKEY_LOCAL_MACHINE/System/GDI/SysFnt]///系統(tǒng)字體

Wt=420

Ht=18

Nm=Arial

[HKEY_LOCAL_MACHINE/System/GWE/Menu/BarFnt]///菜單欄字體

[HKEY_LOCAL_MACHINE/System/GWE/Menu/PopFnt]///彈出窗口字體

[HKEY_LOCAL_MACHINE/System/GWE/Menu]///菜單字體

HKEY_LOCAL_MACHINE/System/GWE/Button///按鈕字體

2、創(chuàng)建字體時把字體高度參數(shù)設置大點就可以了。如CFont::CreateFont(nHeight,...),也可以在LOGFONT結構中設置字體高度或者字體種類。如果是控件,調用控件的SetFont成員函數(shù)。如果是直接畫,在OnPaint響應函數(shù)中調用SelectObject選字體到DC。

nk.bin和nk.nb0有什么區(qū)別?

這里提到的bin是一種二進制鏡像格式,以片斷(section)為單位組織數(shù)據(jù),每個片斷都包括一個頭,頭里指定了起始地址,長度,校驗值。PlatformBuilder調用工具將WINCE內(nèi)核所有文件以bin格式合并成一個文件,默認文件名為nk.bin。BootLoader又以同樣的格式將nk.bin分解成多個文件放到RAM中。可以在命令行中鍵入“viewbinnk.bin”來查看bin文件中具體包括了哪些內(nèi)容。鍵入Cvrtbin命令轉換.bin格式文件為.sre格式或者.abx格式。

nb0格式是原始的二進制鏡像,它不包括頭,一般情況下將內(nèi)核下載到設備的RAM中運行都采用nb0格式。要生成nbx格式的文件,需要在相關.bib文件中確定如下值:ROMSTART、ROMWIDTH、ROMSIZE。

在不采用硬件計時器的情況下如何創(chuàng)建更精確的計時器?最精確周期能否達到1毫秒?

對于精確值的要求不同,所采用的辦法不同。以下闡述幾種辦法。

1、在單線程中循環(huán)調用APISleep函數(shù),Sleep函數(shù)精確程度為如果Sleep(N),那么實際睡眠時間在N到N+1毫秒之間。而且還要注意調用Sleep的線程優(yōu)先級的問題。如果任務過多并且此線程優(yōu)先級低,那誤差就更大些。

2、調用APIQueryPerformanceCounter函數(shù),舉例如下:

LARGE_INTEGERliFrequency;

if(QueryPerformanceFrequency(&liFrequency))//查詢系統(tǒng)時鐘的頻率,這里將返回1000

{

liFrequency.QuadPart/=1000;

LARGE_INTEGERliTimeOut;

if(QueryPerformanceCounter(&liTimeOut))//得到截至到當前累計發(fā)生的系統(tǒng)時鐘中斷次數(shù)

{

liTimeOut.QuadPart+=liFrequency.QuadPart;///計算下一秒到來時總的中斷次數(shù)是多少

LARGE_INTEGERliCurrent;

do

{

QueryPerformanceCounter(&liCurrent);//循環(huán)查詢累計的的中斷次數(shù)

}while(liCurrent.QuadPart<liTimeOut.QuadPart);///到達下一秒

}

}

調用QueryPerformanceCounter同調用Sleep在本質上都是一樣的,都是在單線程中無限循環(huán)等到周期一到執(zhí)行任務,相比較QueryPerformanceCounter要比Sleep更精確些,越精確就越要求線程的優(yōu)先級,保障線程能夠正常得到處理器。

3、以上辦法難以保證周期精確到1毫秒并且WINCE系統(tǒng)穩(wěn)定地運行,所以要從中斷入手。以x86平臺為例,先在Timer.c中將默認的SetTimer0(TIMER_COUNT)中的TIMER_COUNT/=2,SetTimer0函數(shù)負責設置系統(tǒng)時鐘的頻率,默認1毫秒發(fā)生一次中斷,如果除以2就是0.5毫秒發(fā)生一次中斷。然后在fwpc.c文件中修改ISR函數(shù)PeRPISR,因為原來默認是1毫秒發(fā)生一次中斷,在處理INTR_TIMER0時系統(tǒng)負責累計計數(shù)、管理線程的調度,返回相應的SYSINTR值,而我們沒有辦法再添加代碼返回自己定義的SYSINTR值,所以現(xiàn)在要修改原來的處理代碼,例如設置一個BOOL型變量,TRUE就執(zhí)行原來默認的代碼,而FALSE就返回我們自己定義的SYSINTR值,這樣即不影響原來的ISR處理,又加入了我們的中斷響應代碼。ISR返回我們定義的SYSINTR后WINCE內(nèi)核激活相對應的EVENT事件,我們就可以在我們編寫的IST里處理任務了。

flash中存放了BootLoader和內(nèi)核鏡像,如何把剩余flash部分劃分為一個存儲區(qū)域供應用程序讀寫?

以WINCE提供的驅動(FAT文件系統(tǒng)和MSFLASH驅動)來舉例說明。如果采用默認common.reg中的注冊表設置,那么MSFLASH驅動默認把整個flash作為存儲區(qū)域來讀寫,這不符合問題的要求,所以必須告訴MSFLASH驅動程序可供讀寫的區(qū)域的起始地址和長度。以下是一個注冊表例子:

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/FASLD]

"Dll"="fasld.dll"http:///實際Flash存儲器的驅動程序

"Order"=dword:2///該驅動程序相對于其它驅動程序的加載順序

"Prefix"="DSK"http:///前綴

"Ioctl"=dword:4///IOCTL碼,設備管理器加載驅動的時候調用IOControl函數(shù),傳遞這個IOCTL碼。

"Profile"="MSFlash"http:///Profile名稱,也就是[HLM/System/StorageManager/Profiles/MSFlash]

///當設備管理器加載此驅動程序的同時發(fā)送通知給系統(tǒng),IClass(GUID)的值表明這是一個存儲設備的驅動程序。

"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"

"MemBase"=dword:00000000///Flash中可供讀寫區(qū)域的起始物理地址,也就是Flash的首地址+偏移量

"MemLen"=dword:00000000///Flash中可供讀寫區(qū)域的長度

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/MSFlash]

"DefaultFileSystem"="FATFS"http:///MSFlash驅動默認采用的文件系統(tǒng)

"PartitionDriver"="mspart.dll"http:///采用的分區(qū)驅動程序

"MountAsRoot"=dword:1///此目錄作為文件系統(tǒng)的根目錄

"Folder"="NORFlash"http:///目錄名稱

"Name"="FLASHDiskBlockDevice"http:///Flash驅動名稱

"PartitionDriverName"="MSPART"http:///分區(qū)驅動名稱

"AutoMount"=dword:1///自動裝載檢測到的分區(qū)

"AutoPart"=dword:1///自動分區(qū)

"AutoFormat"=dword:1///自動格式化分區(qū)

[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/MSFlash]

"DriverPath"="Drivers//BuiltIn//FASLD"http:///Flash驅動在注冊表中的位置

"LoadFlags"=dword:1///這個值可以被設置為0、1、2。1表示同步加載,其它表示異步加載

"Order"=dword:0

[HKEY_LOCAL_MACHINE/System/StorageManager/FATFS]

"FriendlyName"="FATFileSystem"http:///文件系統(tǒng)名稱

"Dll"="fatfsd.dll"http:///文件系統(tǒng)驅動程序

"Flags"=dword:00000064///標志,詳見幫助文檔

"Paging"=dword:1///是否分頁

"EnableCache"=dword:1///是否允許緩存數(shù)據(jù)

"CacheSize"=dword:0///指定緩存大小,0表示默認

驅動程序如何發(fā)通知給應用程序?

這里介紹一下常見的兩種辦法。

1、驅動程序調用APISendNotifyMessage,發(fā)送特定的消息給應用程序,這就要求應用程序要有消息循環(huán)機制并且要事先做好消息的處理。參數(shù)1為窗口句柄,可以設置HWND_BROADCAST表示廣播消息。要注意的是不要在參數(shù)中傳遞指針(虛擬地址),因為執(zhí)行驅動程序的線程和應用程序并不在同一個進程空間中。解決辦法可以利用內(nèi)存映射文件技術,比如在驅動程序中創(chuàng)建一個內(nèi)存映射文件對象,申請一塊物理內(nèi)存,然后把對象名稱和內(nèi)存長度傳遞給應用程序,應用程序打開同名的內(nèi)存映射文件對象,讀取里面的數(shù)據(jù)。對象名稱可以事先協(xié)定好,也可以通過注冊表來傳遞,內(nèi)存長度是32位值,通過消息參數(shù)就可以傳遞,也可以通過注冊表來傳遞。另外一種解決辦法是在定制內(nèi)核時候預留一塊物理內(nèi)存,這樣驅動程序和應用程序都可以通過VirtualAlloc和VirtualCopy來映射到同一塊物理內(nèi)存,其原理同內(nèi)存映射文件技術一樣,但是這塊物理內(nèi)存不具備通用性。最后一個辦法是應用程序事先將一個緩沖區(qū)地址傳遞給驅動程序,驅動程序調用MapPtrToProcess映射應用程序傳遞過來的地址,當驅動程序調用SendNotifyMessage后應用程序可以直接到該地址中讀取數(shù)據(jù)。

設備管理器就是調用此函數(shù)廣播WM_DEVICECHANGE消息的。另外WINCE的一個例子程序RNAApp在撥號連接建立的時候也是調用這個函數(shù)廣播WM_NETCONNECT消息的。

2、驅動程序調用APICeEventHasOccurred指明一個事件A發(fā)生,在此之前應用程序調用APICeRunAppAtEvent將驅動程序指明的A事件和一個應用程序名稱相關聯(lián),或者和一個事件B相關聯(lián)。這樣當A事件發(fā)生時,如果指明和一個應用程序名稱關聯(lián),那這個應用程序就會被啟動。如果指明了和一個事件B相關聯(lián),那么等待事件B的線程將被激活。如果想了解當前系統(tǒng)內(nèi)部所有驅動程序支持哪些類似事件A的事件,調用APICeNotifyPublic_FilterEvent,在該API的幫助文檔里也列舉了常見的事件,例如NOTIFICATION_EVENT_NET_CONNECT和NOTIFICATION_EVENT_NET_DISCONNECT。

EVC創(chuàng)建的工程名稱如果用中文就出錯,該怎么辦?

用EVC創(chuàng)建的工程名稱如果為中文將導致資源文件打不開和編譯出錯,可以改資源文件名稱為英文,再編輯.rc文件中的資源文件名稱。但建議盡量不要用中文為工程名稱。

作為習慣,應該在EVC創(chuàng)建一個工程后,立刻在“project”—“settings”中設置資源的語言屬性,然后在“resourceview”中設置每個資源的語言屬性,這些工作做完后再修改資源就沒有問題了。有人詢問對話框的標題為亂碼,其原因就是在沒有修改語言屬性的情況下設置標題為中文。

WinCE下如何讀寫幾百兆的大文件呢?使用內(nèi)存映射文件嗎?

一般嵌入式設備配備128MB物理內(nèi)存就算頂級的了,所以要讀寫幾百MB的文件用內(nèi)存映射文件技術是最好的選擇了。映射文件之后讀數(shù)據(jù)是非常容易的,要注意的是寫數(shù)據(jù),內(nèi)存映射方面的API沒有提供改變文件長度的功能,所以要在關閉映射文件對象后用文件API改變文件長度。

請問如何改系統(tǒng)調度的默認時間片值?

更改schedule.c文件中的dwDefaultThreadQuantum變量,然后重新編譯該文件并SYSGEN。調用APICeGetThreadQuantum就知道更改是否生效。

如何讓系統(tǒng)加載自己寫的驅動程序?

兩種辦法:

1、在[HKEY_LOCAL_MACHINE/Drivers/BuiltIn]下添加注冊鍵。

2、在應用程序中調用ActivateDeviceEx。

在一些文件中用分號來表示注釋,例如下面的內(nèi)容

;@CESYSGENIFSERVERS_MODULES_HTTPD

;@CESYSGENENDIF

在“CESYSGEN...”前加了“@”,有沒有什么特別的含義?

在WINCE的一些文件中,用“;”作為注釋并在注釋文字中用@CESYSGEN作為標記,后面接條件語句。Cefilter.exe工具負責按照條件來篩選文件內(nèi)容,所以不要輕易地刪除包含@CESYSGEN的注釋語句。

通過串口建立ActiveSync聯(lián)接,串口線用三線的可以嗎?

不可以,因為用串口同步時要用到其余口的狀態(tài)。

WINCE是否支持MAPI?

不支持。WINCE自帶的pmail.exe軟件也不是很好用。建議自開發(fā)郵件收發(fā)軟件。如果需要購買WINCE下郵件收發(fā)軟件可以聯(lián)系我。

如何旋轉屏幕顯示的內(nèi)容?

例子代碼如下(前提是顯示驅動程序支持旋轉):

DEVMODEdevmode={0};

devmode.dmSize=sizeof(DEVMODE);

devmode.dmDisplayOrientation=DMDO_90;///垂直模式

devmode.dmFields=DM_DISPLAYORIENTATION;

ChangeDisplaySettingsEx(NULL,&devmode,NULL,0,NULL);///改變顯示的設置

CRectrcWorkArea(0,0,320,240);///整個屏幕尺寸

///設置客戶區(qū)大小并廣播消息,這樣所有軟件也就隨之更改顯示

SystemParametersInfo(SPI_SETWORKAREA,0,(void*)&rcWorkArea,SPIF_SENDCHANGE);

請問如何修改字形緩存的容量?

[HKEY_LOCAL_MACHINE/System/GDI/GLYPHCACHE]

"limit"=dword:0400

如何得到從WINCE啟動開始到現(xiàn)在的時間?

調用APIGetTickCount,得到的值為32位整數(shù),單位為毫秒。

如何調用WINCE的軟鍵盤?

調用APISipShowIM(SIPF_ON),前提是內(nèi)核加入了軟鍵盤組件。

基于HIVE的注冊表,如何在系統(tǒng)關閉前保存注冊表的數(shù)據(jù)到文件system.hv?

調用APIRegFlushKey函數(shù)。

使用VirtualAlloc和VirtualCopy的時候需要注意哪些事項?

1、VirtualAlloc的作用是申請?zhí)摂M地址空間,這肯定不是最終的目的,最終目的可能是申請物理內(nèi)存、映射寄存器、提交文件等。沒有一個目的會在意虛擬地址空間的位置,所以盡量傳遞參數(shù)1為0,也就是讓WINCE自動分配虛擬地址空間。VirtualAlloc分配地址空間實際上是以64KB為單位,所以要指定申請的虛擬空間的首地址的話,參數(shù)1應該為64KB的整數(shù)倍,申請的長度也應該為64KB的整數(shù)倍,即使你不需要那么大。

2、VirtualCopy的主要作用是映射物理地址空間,如果參數(shù)2為物理地址,那么最后一個參數(shù)要添加PAGE_PHYSICAL,參數(shù)2必須是256的整數(shù)倍。如果參數(shù)2為虛擬地址(0x80000000以上),那么最后一個參數(shù)就不要添加PAGE_PHYSICAL,WINCE內(nèi)核會根據(jù)這個虛擬地址找到對應的物理地址。

驅動程序和應用程序之間傳遞數(shù)據(jù)時何時調用MapPtrToProcess?

因為設備管理器負責加載驅動程序DLL,這意味著當應用程序調用驅動程序接口函數(shù)的時候,WINCE內(nèi)核會將調用驅動程序接口函數(shù)的線程轉移到設備管理器的進程空間然后執(zhí)行具體的驅動程序代碼,應用程序和設備管理器處于兩個進程空間,這就造成設備管理器無法訪問應用程序傳遞的指針(虛擬地址),所以當我們在應用程序中傳遞指針給流驅動程序接口函數(shù)時,WINCE內(nèi)核從中作了一個地址映射,例如ReadFile、WriteFile、DeviceIoControl函數(shù)的參數(shù)凡是指針都經(jīng)過了映射才傳遞給驅動程序,所以很多驅動程序開發(fā)者并不了解其中的奧秘就可以編程了。但是如果參數(shù)是一個指向一個結構體的指針,而結構體里包括一個或多個指針,那么WINCE內(nèi)核并不負責映射,所以就需要開發(fā)者在驅動程序接口函數(shù)中調用API函數(shù)MapPtrToProcess來映射地址。例如:pPointer_retval=MapPtrToProcess(pPointer,GetCallerProcess());

如何判斷可插拔的設備是否存在?

1、通過查找注冊表的值。凡是由APIActivateDeviceEx加載的驅動程序都在[HKEY_LOCAL_MACHINE/Drivers/Active]鍵下有注冊鍵,通過查找“name”或者其它鍵值就能夠找到。設備管理器就調用這個API。如果是PCI設備,在注冊表[HLM/Drivers/BuiltIn/PCI/Instance]下查找關鍵字,例如[HLM/Drivers/BuiltIn/PCI/Instance/WaveDev1],說明音頻驅動已經(jīng)加載。

2、調用驅動程序接口函數(shù),根據(jù)返回值或者執(zhí)行結果來判斷。

如何做到通過串口過來的一個信號啟動自己開發(fā)的應用程序?

創(chuàng)建一個線程負責等待串口過來的信號,調用APISetCommMask設置要等待的信號種類,具體可以等待的信號種類參見參數(shù)2的說明。然后再調用APIWaitCommEvent函數(shù)等待這個信號,接收之后再調用APICreateProcess啟動應用程序。

在WINCE中如何只能啟動應用程序的一個實例?

常用的兩種辦法:

1、如果應用程序實例創(chuàng)建了窗口,可通過APIFindWindow函數(shù)通過窗口類名和窗口標題名稱來查找,前提是系統(tǒng)內(nèi)不會出現(xiàn)窗口名稱重復的情況。

2、應用程序初始化的時候創(chuàng)建一個事件或互斥等內(nèi)核對象,因為內(nèi)核對象是由內(nèi)核創(chuàng)建,名稱在系統(tǒng)內(nèi)唯一。

能不能自己編輯一個數(shù)字簽名文件導入到手機上,這樣就可以用這個簽名簽自己的程序了?

WINCE的內(nèi)核簽名機制的用途是限制非法的可執(zhí)行模塊EXE、DLL等在設備上運行。要求內(nèi)核的加載模塊用公鑰驗證請求加載的EXE、DLL的簽名是否合法,而這個公鑰是在定制內(nèi)核的時候加進去的,所以除內(nèi)核的定制者以外的人無法修改這個驗證機制。

我按照版主的文章《加密WINCE系統(tǒng)》里操作,提示錯誤如下:

Error80090016duringCryptSignHash1!

Errorsigninghash

這是因為傳遞了無效的鑰容器名稱,使CryptoAPI調用失敗。應該在使用signfile工具之前創(chuàng)建一個鑰容器,在桌面Windows中調用APICryptAcquireContext創(chuàng)建一個指定名稱的鑰容器,接著再創(chuàng)建一個簽名密鑰對,這時再使用signfile工具就可以了。我在文章里寫成-kfulinlin是因為我創(chuàng)建鑰容器的時候沒有指定名稱,系統(tǒng)就采用當前登錄的用戶名為容器名。

編譯錯誤:CVTRES:fatalerrorCVT1102:outofmemory;42bytesrequired?

多數(shù)情況下出現(xiàn)這種錯誤是因EVC的bug而起,應該在安裝EVC之后就立刻安裝EVC的SP補丁。另外為了避開BUG,使用EVC編程應該養(yǎng)成一些習慣,比如定期備份工程所有文件,每次編譯時采用Clean+RebuildAll,正調試時不要關閉模擬器等等。

在WINCE下是否能夠得到某一進程使用的物理內(nèi)存總量?

目前沒發(fā)現(xiàn)有這樣一個API能夠得到指定進程使用的物理內(nèi)存總量。只有GlobalMemoryStatus能夠得到整個系統(tǒng)使用的物理內(nèi)存總量。

應用程序如何控制lcd的亮度?如何獲得電池的電量?

從常見的平臺如Geode、三星ARM系列來看,的確在驅動方面沒有統(tǒng)一的控制LCD或者其它種類屏幕亮度的接口函數(shù),所以只能根據(jù)具體平臺提供的接口來做。從幫助文檔來看微軟的帶有DirectDraw功能的顯示驅動程序的確有標準的增加亮度的接口函數(shù),關于背景光參見標題為“EnablingaBacklight”的幫助文檔。

獲得電池電量有標準的接口函數(shù)GetSystemPowerStatusEx,前提是驅動程序和硬件都要支持。

WINCE的socket函數(shù)好像不支持發(fā)送/接收超時?

是的,最早版本的WINCE支持選項SO_RCVTIMEO、SO_SNDTIMEO,后來卻不支持了。

WINCE下如何設置窗口最大化和最小化?

WINCE的幫助文檔在介紹APIShowWindow函數(shù)的參數(shù)時指出SW_MAXIMIZE,SW_MINIMIZE,SW_RESTORE,SW_SHOWDEFAULT,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED,SW_SHOWMINNOACTIVE都不被支持,但實際上并不完全是這樣,具體來說:

SW_MAXIMIZE比原來窗口大,但不是最大化

SW_MINIMIZE編譯成功,但是不起作用

SW_SHOWMAXIMIZED最大化

SW_SHOWMINIMIZED編譯出錯

SW_RESTORE能恢復

SW_SHOWDEFAULT編譯出錯

SW_SHOWMINNOACTIVE編譯出錯

SW_HIDE能夠隱藏

如何用程序調用控制面板的觸摸屏校對程序?

兩種辦法:

1、調用APITouchCalibrate函數(shù)

2、調用CreateProcess,參數(shù)1為L"http://windows//ctlpnl.exe",參數(shù)2為L"cplmain.cpl,9"。

如何獲得U盤或者其它類型的存儲器總容量和剩余可用容量?

調用APIGetStoreInfo得到扇區(qū)數(shù)、每扇區(qū)字節(jié)數(shù),相乘即是總容量。調用APIGetDiskFreeSpaceEx得到剩余可用容量。

三星2440頭文件定義#defineIIC_BASE0xB1400000//54000000,datasheet是54000000,那么怎么轉成0xB1400000?

物理地址映射方法分為兩種,一種靜態(tài)映射另一種為動態(tài)映射。在OEMAddressTable中定義了物理地址與虛擬地址的映射關系屬于靜態(tài)映射,用VirtualCopy映射屬于動態(tài)映射,采用哪種辦法都可以。問題中提到的屬于靜態(tài)映射,2440的BSP在map.a文件中定義了IIC控制寄存器的物理起始地址和對應的虛擬地址如下:

DCD0x91400000,0x54000000,1;

在OEMAddressTable中定義的虛擬地址范圍在0x80000000—0x9FFFFFFF,這部分可緩存,適合內(nèi)核程序和應用程序使用,同時WINCE內(nèi)核在0xA0000000—0xBFFFFFFF中映射了另一份,指向了同樣的物理地址,這部分不可緩存,適合驅動程序使用。三星ARM處理器帶有L1級高速緩存,可緩存會提高執(zhí)行效率。對于特殊的設備寄存器適合映射到不可緩存的虛擬地址。

當驅動程序調用VirtualCopy對0xB1400000地址讀寫時,WINCE自動將這個地址減去0x20000000,也就是0x91400000,對應的物理地址就是0x54000000,也就是IIC控制寄存器的物理起始地址。

基于RAM的注冊表如何保存數(shù)據(jù)?

調用APIRegCopyFile備份注冊表。調用APIRegRestoreFile恢復注冊表,然后調用KernelIoControl熱啟動使恢復生效。

如何隱藏和顯示winCE下標準外殼的任務欄?

HANDLEhTaskBar=FindWindow(L"HHTaskBar",NULL);

ShowWindow(hTaskBar,SW_HIDE);

ShowWindow(hTaskBar,SW_SHOWNORMAL);

如果能讓WINCE的IE瀏覽器播放flash動畫?

播放flash需要MacromediaFlashPlayerSDK,參見http://www.adobe.com/products/flashplayer_sdk/。這和realplayer相似,都需要WINCE平臺的SDK,都需要申請。

WINCE下內(nèi)核模式和用戶模式有什么區(qū)別?

為了使讀者能夠詳細了解WINCE的地址映射原理還有兩種模式,在這里我分幾個部分說明:

1、WINCE內(nèi)核nk.exe的任務是管理操作系統(tǒng)核心功能。按照OEMAddressTable的映射要求,所有物理地址都映射到0x80000000以上,所以對于內(nèi)核程序nk.exe和內(nèi)核模式下的線程來說,只要訪問0x80000000以上的有效虛擬地址經(jīng)MMU就能夠訪問物理地址,無需再映射是內(nèi)核模式的一個特點。內(nèi)核模式的第二個特點是沒有地址訪問限制,內(nèi)核模式線程可以訪問任何有效虛擬地址,所謂有效虛擬地址是指有實際事物對應。

2、用戶模式線程只能訪問0x80000000以下的虛擬地址空間,WINCE6.0之前版本的內(nèi)核為每個進程劃分32MB的地址空間,在不調用特殊函數(shù)的情況下不能相互訪問,這樣的設計使得WINCE系統(tǒng)更安全、更穩(wěn)定,限制訪問地址是用戶模式的第一個特點。第二個特點就是需要多一層映射,如果線程要訪問物理內(nèi)存的話需要先映射到0x80000000以上,再經(jīng)MMU訪問物理內(nèi)存地址。

WINCE的線程具有轉移性(參考APIGetCallerProcess的說明,有一個很好的例子),當應用程序的線程調用API或者調用驅動程序接口函數(shù)時,該線程會轉移到gwes.exe、device.exe、filesys.exe等進程中執(zhí)行,轉移是由WINCE內(nèi)核操作的,它會修改線程的上下文,記錄線程的當前進程、調用者進程、擁有者進程三個值。

3、如果在定制內(nèi)核的時候選擇了“FullKernelMode”,那么在這個內(nèi)核上運行的所有線程都處于內(nèi)核模式,即使調用SetKMode(FALSE)后線程仍然具有內(nèi)核模式的特點,能夠訪問任何有效的虛擬地址。假設現(xiàn)有一個64MBRAM的WINCE產(chǎn)品,RAM映射從0x80000000到0x84000000,如果線程處于內(nèi)核模式,它就直接可以訪問這個范圍的虛擬地址:

在OnButton1()中編寫

DWORDoldMode=SetKMode(FALSE);

volatileint*piTemp=(volatileint*)(0x20000000+0x84000000-0x00019000);///或者(0x84000000-0x00019000)

*piTemp=12345;

在OnButton2()中編寫

DWORDoldMode=SetKMode(FALSE);

volatileint*piTemp=(volatileint*)(0x20000000+0x84000000-0x00019000);///或者(0x84000000-0x00019000)

intiTemp=*piTemp;

先只執(zhí)行OnButton1()然后關閉程序,再重啟程序然后執(zhí)行OnButton2(),iTemp仍然等于12345。結果說明了兩點:內(nèi)核模式線程可以直接訪問0x80000000以上的有效虛擬地址;我們寫到RAM中的數(shù)據(jù)沒有丟失,說明虛擬地址有效。

如果在定制內(nèi)核的時候沒有選擇“FullKernelMode”,那么在這個內(nèi)核上運行的所有線程都處于用戶模式??梢哉{用SetKMode(TRUE)使調用線程暫時處于內(nèi)核模式,還是原來的假設環(huán)境,我再舉個例子:

在OnButton1()中編寫

DWORDoldMode=SetKMode(TRUE);

volatileint*piTemp=(volatileint*)(0x20000000+0x84000000-0x00019000);///或者(0x84000000-0x00019000)

*piTemp=12345;

在用戶模式下,如果不調用SetKMode(TRUE),那么執(zhí)行*piTemp=12345一定會彈出對話框,提示地址訪問非法,如果調用SetKMode(TRUE)就不會提示地址訪問非法,而且在OnButton2()中仍然能得到12345這個值。

通過這兩個例子我相信讀者能夠完全了解兩種模式的區(qū)別了。

4、WINCE提供了兩個函數(shù)SetKMode和SetProcPermissions,其中SetKMode能夠把調用線程切換到內(nèi)核模式,還可以切換回用戶模式。SetProcPermissions+GetCurrentPermissions添加當前進程訪問權限給調用線程,SetProcPermissions(0xFFFFFFFF)能讓調用線程訪問所有進程空間,但是調用線程仍然處于用戶模式。SetKMode和SetProcPermissions函數(shù)使得用戶模式的特點不那么明晰。

如上所說一個應用程序的線程可能轉移到其它兩個進程地址空間中讀寫數(shù)據(jù),而每一個線程在被創(chuàng)建的時候只有訪問創(chuàng)建它的進程地址空間的權限,所以驅動程序開發(fā)者必須在驅動程序讀寫數(shù)據(jù)前調用SetKMode或者SetProcPermissions增加調用此函數(shù)的線程訪問其它進程空間的權限。如果一個應用程序的線程只轉移到一個進程地址空間,一般為設備管理器進程device.exe,這種情況下不必增加線程訪問其它進程空間的權限,但如果驅動程序本身創(chuàng)建了一個線程,那還是要調用SetKMode或者SetProcPermissions增加新的線程訪問其它進程的權限的,因為驅動程序創(chuàng)建線程時,當前進程為設備管理器,所以新線程只具有訪問設備管理器進程空間的權限,而不具備訪問應用程序進程空間的權限。

5、可能一個編寫過簡單的流驅動的初學者會很疑惑,因為開發(fā)一個簡單的流驅動程序根本不需要調用這些函數(shù),也沒有調用過MapPtrToProcess,那是因為如果標準流驅動接口函數(shù)的參數(shù)為指針(ReadFile、WriteFile、DeviceIoControl參數(shù)都有指針),WINCE內(nèi)核會自動映射指針包含的地址,但僅此而已,其余任何情況都要求開發(fā)者自行處理,比如流接口函數(shù)的參數(shù)是一個指向結構體的指針PA,而結構體中包括指針PB,PB指針就必須在流接口函數(shù)中映射,映射后才能訪問,否則就會造成地址訪問非法。所以結構體中每個指針都要映射。

為了讓讀者能了解其中的原因,我舉個例子:

假設設備管理器被加載到Slot4,應用程序A被加載到Slot8,A只有一個主線程T,T開始執(zhí)行,按照WINCE的規(guī)定,正獲得CPU的進程必須映射到Slot0,那么在執(zhí)行代碼的時候A的所有虛擬地址都被減去一個偏移值,也就是8×0x02000000,A調用DeviceIoControl,傳遞一個指向一個結構體的指針B,而這個結構體中包含一個指針C,指針C包含的地址假設為0x00030000,當執(zhí)行DeviceIoControl時WINCE把設備管理器的進程地址空間映射到Slot0,因為放在注冊表[HKLM/Drivers/BuiltIn]下的驅動程序是由設備管理器加載的,自然驅動程序的代碼段被加載到設備管理器進程空間,但是線程仍然是T,此時T的當前所在進程為設備管理器(CurrentProcess),A變成了T的調用者進程(CallerProcess),T自動具有了訪問調用者進程空間的權限。這時訪問Slot0中的虛擬地址其實質就是訪問設備管理器的進程地址空間,要把地址加上一個偏移值,也就是4×0x02000000,所以DeviceIoControl訪問指針C包含的地址時本應該加上8×0x02000000,卻加上4×0x02000000,結果地址并不是設備管理器的合法區(qū)域,系統(tǒng)就會提示地址訪問非法。而如果做了一個映射,指針C包含的地址就會被加一個正確的偏移值,使地址處于A的地址空間Slot8中,T此時具有訪問A進程空間的權限,訪問到正確的虛擬地址當然會得到正確的數(shù)據(jù)了。

為什么WINCE目錄下的例子用build+sysgen能夠編譯成EXE文件,而我添加的例子就不能編譯呢?

如果這個例子是一個應用程序,那么肯定包括代碼文件(.h.c.cpp)和資源文件(.rc和其它資源文件),build工具根據(jù)source文件內(nèi)容把代碼文件編譯成lib文件,資源文件編譯成.res文件,sysgen工具根據(jù)makefile文件內(nèi)容將source文件中列出的需要鏈接的各個庫文件合并成一個EXE文件。所以說關鍵在于makefile文件,WINCE目錄下凡是能夠用build+sysgen編譯的都在makefile中有如何鏈接的設置,而我們添加的例子當然沒有在makefile中找到如何鏈接的設置,nmake工具就會提示不知道如何創(chuàng)建。

pcienum.exe干什么用的?

如果你要開發(fā)某一個PCI設備的驅動程序,首先要知道這個PCI設備的信息(如VendorID、DeviceID、BaseClass、SubClass)和PCI總線的信息。運行這個pcienum.exe就能得到相關信息。pcienum.exe提供了源碼,位置/Public/Common/Oak/Drivers/Ceddk/Test/Pcienum。

wince下如何讓操作系統(tǒng)進入待機模式?又如何把它激活?

通過注冊表就可以設置,前提是你的驅動和硬件都支持。注冊表項參見標題為“GWESSuspendTime-outs”的幫助文檔。

[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Power]

"BattPowerOff"=dword:300

"ExtPowerOff"=dword:0

"WakeupPowerOff"=dword:60

"ScreenPowerOff"=dword:0

現(xiàn)有一個GPRS模塊,如何通過GPRS連接到Internet?

1、先在內(nèi)核中加入WAN下面的幾個組件,如RAS/PPP、TAPI。WINCE采用unimodem驅動,所以不必擔心沒有Modem驅動的支持。

2、WINCE啟動后新建一個撥號連接,比如名稱叫“gprs1”,輸入用戶名、密碼、電話號碼。電話號碼不同,所采用的模式不一樣,例如“*99#”是GPRS模式,“17201”是普通的數(shù)據(jù)模式,速度差很多,價錢也差很多。

3、開始連接,連接過程會在對話框中顯示,直到顯示“連接成功”。

4、打開瀏覽器或者自己開發(fā)的通訊軟件測試網(wǎng)絡連接情況。

5、關閉連接。

6、保存[HKEY_CURRENT_USER/Comm/RasBook/gprs1]下的所有數(shù)據(jù),添加到project.reg中,重新編譯后內(nèi)核中就有了一個撥號連接“gprs1”。

7、調用RAS函數(shù)可以修改撥號連接“gprs1”的參數(shù),如用戶名、密碼、電話號碼,但是不能修改硬件設置,如波特率、串口、數(shù)據(jù)位、停止位等。RAS函數(shù)還能夠撥號、掛斷。為了修改波特率可以多保存幾個撥號連接,也可以直接調用TAPI開發(fā)撥號軟件,另外WINCE自帶的撥號連接是有源碼的,位置在/PUBLIC/COMMON/OAK/DRIVERS/NETSAMP/CONNMC。

采用基于HIVE的注冊表如何刪除用戶保存在注冊表中的數(shù)據(jù),恢復到出廠時的注冊表?

用戶修改的數(shù)據(jù)保存在user.hv文件中,直接刪除一定失敗,所以不能通過刪除文件實現(xiàn)恢復出廠設置。微軟考慮到了這個問題,在WINCE啟動過程中filesys.exe加載注冊表時會調用OEMIoControl函數(shù)并傳遞一個IOCTL,這個IOCTL在pkfuncs.h中定義如下:

#defineIOCTL_HAL_GET_HIVE_CLEAN_FLAGCTL_CODE(FILE_DEVICE_HAL,49,METHOD_BUFFERED,FILE_ANY_ACCESS)

filesys.exe會分別傳遞參數(shù)HIVECLEANFLAG_SYSTEM和HIVECLEANFLAG_USERS,如果返回值為TRUE那么filesys.exe清除原來的注冊表文件,如果返回值為FALSE那么filesys.exe保留原來的注冊表文件。默認WINCE并沒有實現(xiàn)這個IOCTL,所以OEM要刪除注冊表文件就必須先編寫這個IOCTL代碼。代碼的例子可參考標題為“IOCTL_HAL_GET_HIVE_CLEAN_FLAG”的幫助文檔。另外必須在ioctl.h和ioctl.c兩個文件中編寫該代碼。在ioctl.c文件中找到constOAL_IOCTL_HANDLERg_oalIoCtlTable[],添加IOCTL和對應的處理函數(shù)。要進一步了解這個全局數(shù)組,參見標題為“IOCTLLibrary”的幫助文檔。

如何在不刪除必要組件的前提下減小內(nèi)核文件長度?

要減小內(nèi)核文件長度首先要在使用PB的定制內(nèi)核向導中選擇自定義,也就是說對于每個組件都由自己來選擇,而不是選擇PB的標準配置。但減小內(nèi)核文件長度最有效最直接的辦法是縮小字體,尤其對于東亞字體,采用字體壓縮技術并且選擇合理的字庫文件將明顯縮小文件長度。

1、在定制內(nèi)核時選擇AGFAAC3FontCompression組件。SYSGEN變量為SYSGEN_AGFA_FONT。

2、參考標題為“EastAsianFontVersions”的幫助文檔,從中選擇你需要的字庫文件加到內(nèi)核中,從文檔可以看出加AC3壓縮比不加壓縮在文件長度方面差距很大。

如何得到WAV文件播放的總時間?

1、直接讀取wav文件頭信息,從文件起始地址偏移28個字節(jié)長度為4個字節(jié)保存的是每秒鐘播放的字節(jié)數(shù),從文件起始地址偏移40個字節(jié)長度為4個字節(jié)保存的是聲音數(shù)據(jù)的總的字節(jié)數(shù),相除就是播放時間。

2、調用IGraphBuilder::RenderFile打開一個wav文件,然后通過IGraphBuilder得到IMediaSeeking指針,再調用IMediaSeeking::GetDuration得到總的時間(結果要除以10000000),IMediaSeeking::GetCurrentPosition得到當前播放時間。

如何在Dialog-Based程序中加入menubar?

先調用CommandBar_Create再調用CommandBar_InsertMenubar。

請問MultiByteToWideChar與_T、L、TEXT的區(qū)別?

MultiByteToWideChar函數(shù)轉換的對象可以是常量也可以是變量。其它只能轉換常量。_T和TEXT會根據(jù)當前系統(tǒng)是否定義_UNICODE宏來決定是否轉換,而L就是轉換成寬字符,當然也包括其他類型常量的轉換。

在用UBS線纜通過ActiveSync同步有效的情況下,如何插上USB線纜后WINCE自動與PC同步?

1、新建一個撥號連接,假設名稱為“usb1”,選擇連接類型為“直接連接”,并在連接設備里選擇通過USB線纜連接。

2、將注冊表[HKEY_CURRENT_USER/Comm/RasBook/usb1]下的數(shù)據(jù)添加到project.reg或者platform.reg中。

3、在[HKEY_CURRENT_USER/ControlPanel/Comm]下添加如下:

"AutoCnct"=dword:1///直接連接

"Cnct"="usb1"http:///連接名稱

4、重新編譯內(nèi)核。為了節(jié)省編譯時間也可以在內(nèi)核工程下搜索*.reg文件,將2、3步驟中的注冊表數(shù)據(jù)添加其中,然后直接makeimage。

如何通過進程句柄來獲得該進程的主窗口句柄?

好像沒有API能夠通過進程句柄直接獲得主窗口的句柄,因為并非每個應用程序都帶UI。但是可以反過來,先枚舉當前系統(tǒng)所有主窗口,然后根據(jù)每個窗口的句柄調用GetWindowThreadProcessId函數(shù)得到進程的ID,再調用OpenProcess得到進程句柄,與現(xiàn)有的進程句柄比較。

我做的顯示驅動DLL已經(jīng)編譯成功了,但是在加載顯示驅動的過程中彈出話框,提示如下:

unhandledexceptioningwes.exe(0xc0000005accessviolation)

提示的錯誤——地址訪問非法,表明你的驅動程序代碼并沒有在讀寫數(shù)據(jù)前添加SetKMode(TRUE)或者SetProcPermissions(0xFFFFFFFF)函數(shù)讓線程能夠訪問任何進程的地址空間。你可以調用IsBadReadPtr和IsBadWritePtr函數(shù)檢測地址是否能夠合法訪問。編寫和gwes有關的驅動程序應該首先調用SetKMode(TRUE)或者SetProcPermissions(0xFFFFFFFF)函數(shù),這是一個好習慣。

請問在嵌入式系統(tǒng)中如何設置GPRS拔號用的APN?

對一個撥號連接比如“我的連接”單擊鼠標右鍵,在彈出的菜單中選擇“屬性”,然后單擊“配置”—“撥號選項”,在“附加設置”中添加AT命令如“+cgdcont=1,"ip","cmnet"”?!癱mnet”位置即為APN。

WINCE的IPPhone功能如何?

WINCE的voip需要c-s-c結構,既需要服務器的中轉,而skype采用第三代p2p技術就不需要中轉,但是在gprs下也做不到語音流暢。skype有pocketpc版本,但是無線方面需要wlan或者cdma。

三星ARM平臺如何定義自己的中斷ID?

以S3C2410為例,在oalintr.h文件中定義中斷ID,也稱SYSINTR,例如#defineSYSINTR_MYINT(SYSINTR_FIRMWARE+20),最大值不能超過SYSINTR_FIRMWARE+23。然后在armint.c文件中找到OEMInterruptHandler函數(shù),用if(IntPendVal==INTSRC_XXX)判斷當前發(fā)生的中斷源號,然后返回SYSINTR_MYINT。內(nèi)核分別調用OEMInterruptDisable(禁止當前中斷)、OEMInterruptDone(中斷處理結束)、OEMInterruptEnable(當前中斷有效)三個函數(shù),參數(shù)都為中斷ID,在這三個函數(shù)中用caseSYSINTR_MYINT判斷當前要處理的中斷。

如何開發(fā)軟件從PC端復制文件到基于WINCE的設備?

調用RAPI(RemoteApplicationProgrammingInterface)函數(shù),此函數(shù)集由桌面計算機調用,由基于WINCE的設備執(zhí)行。一旦連接上就可以在桌面計算機端調用RAPI。通過注冊表還可以限制RAPI能夠訪問目錄的范圍。具體參考RAPI和RDP(遠程桌面協(xié)議)。

請問如何對NandFlash分區(qū)、格式化?

你看看WINCE420/PUBLIC/COMMON/OAK/DRIVERS/ETHDBG/BOOTPART/bootpart.cpp,在Eboot中先要調用BP_LowLevelFormat(

DWORDdwStartBlock,DWORDdwNumBlocks,DWORDdwFlags)再flash的一個區(qū)域建立空的MBR,然后連續(xù)兩次調用BP_OpenPartition(DWORDdwStartSector,DWORDdwNumSectors,DWORDdwPartType,BOOLfActive,DWORDdwCreationFlags)函數(shù)來建立BINFS和FAT分區(qū)。建好后,將nk.bin燒入binfs分區(qū)中。

要做個彈出對話框具有alwaysontop屬性,如何實現(xiàn)?

調用SetWindowPos(..,HWND_TOPMOST,....,SWP_NOACTIVATE)。

s3c2410+WINCE下網(wǎng)絡PING一會就斷,如何解決?

原因在于中斷處理程序把已經(jīng)產(chǎn)生的中斷標志清除掉了,這樣就丟失一次中斷。因為原驅動里配置中斷為上升沿觸發(fā),一次中斷丟失就導致不會再產(chǎn)生中斷信號跳變,因為只有在中斷服務中讀取了cs8900的Interruptstatusqueue寄存器后,才會產(chǎn)生下一次中斷!解決辦法:

1、在cfw.c文件中全局定義BOOLInited=FALSE

2、修改OEMInterruptEnable()中caseSYSINTR_ETHER:下面的語句為:

if(Inited==FALSE)

{

s2410IOP->rEINTPEND=0x200;

s2410INT->rSRCPND=BIT_EINT8_23;

if(s2410INT->rINTPND&BIT_EINT8_23)

s2410INT->rINTPND=BIT_EINT8_23;

Inited=TRUE;

}

s2410IOP->rEINTMASK&=~0x200;

s2410INT->rINTMSK&=~BIT_EINT8_23;

break;

注:本解決辦法轉載于http://stoned.blogchina.com/stoned/3083045.html,非我本人研究成果。

已經(jīng)搜索到文件,如何用CListBox以圖標形式顯示出來?

CListCtrlListCtrl;

CImageListImageList;

ImageList.Create(IDB_BITMAP,48,2,RGB(0,0,0));

ListCtrl.SetImageList(&ImageList,LVSIL_NORMAL);

ListCtrl.InsertItem(iListIndex,strItem,1);

如何改變控制面板中電源屬性對話框的尺寸?

1、需要修改對話框的尺寸是因為對話框是以資源方式加載的,不會根據(jù)當前系統(tǒng)顯示分辨率而自我調節(jié)尺寸。

2、安裝WINCE后有一些組件(feature)的資源文件*.res就已經(jīng)有了,如果你不改變,那么build內(nèi)核的時候PB只是把這些.res復制到工程目錄下,然后與*.obj合并成EXE、DLL、CPL。所以修改了.rc文件里面的對話框尺寸后要重新編譯.rc文件為.res文件,然后再覆蓋原來WINCE自帶的.res文件。

3、改變對話框尺寸有兩種辦法:一種方法是更改系統(tǒng)字體字號,系統(tǒng)字體的字號變化會影響對話框的尺寸,但是缺點是所有系統(tǒng)字體有關的UI都會改變。另一種是在.rc文件中調整對話框尺寸,然后編譯成.res文件,再將.res復制到對應的語言目錄里,比如目錄名為0804(中文),再執(zhí)行Rebuild命令重新編譯內(nèi)核,或者執(zhí)行sysgen+build。在研究中我發(fā)現(xiàn).res文件雖然能夠直接用EVC打開、修改、保存,但是和其它Obj鏈接成EXE、DLL、CPL后并不能運行,所以還是建議讀者用CE自帶的rc工具編譯最好。讀者可在PB的命令行中鍵入“rc/?”了解rc.exe工具的用途和參數(shù)。

使用EVCbuild之后連接模擬器的時候,提示downloadfile等了一會又出現(xiàn)downloadfailed?

一般這樣的問題從下面幾個步驟解決:

1、如果之前能啟動模擬器而現(xiàn)在不能,那么先clean然后重啟計算機再build。

2、如果開發(fā)的主機為WINXP+SP2,可能存在與EVC模擬器不兼容的情況,檢查C:/boot.ini,將/noexecute=optin改為/execute=optin。

3、檢查你的模擬器是否能運行,假設你正用的SDK名稱為MYSDK,單擊菜單tools—configureplatformmanager,選擇MYSDK—MYSDKemulator,再單擊properties—test,看看模擬器是否能夠啟動,如果能啟動那問題就不大。

4、單擊菜單build—updateremoteoutputfiles,看看模擬器是否能夠啟動。

5、如果上述辦法均不行,關閉EVC然后重新建立一個新的工程,編譯,看看模擬器是否能夠啟動,如果能啟動說明原來工程出了問題,最好恢復原工程的備份。

如何設置能夠自動撥號、禁止自動撥號?

在[HKEY_LOCAL_MACHINE/Comm/Autodial]下是自動撥號的注冊表設置。

Enabled=DWORD:1///是否能夠自動撥號

FailRetryWaitMS=DWORD///如果失敗再次撥號的等待時間

RasEntryName1=REG_SZ///自動撥號采用的撥號連接名稱

更多細節(jié)請參考標題為“AutoDialRegistrySettings”的幫助文檔。

(###)

  

愛華網(wǎng)本文地址 » http://www.klfzs.com/a/25101012/136453.html

更多閱讀

天思軟件常見問題匯總 戚風蛋糕常見問題匯總

常見問題:1、客戶端報錯: error loading midas.dll 安裝client 82 四種協(xié)議。2、安裝T6和ERP在同一臺電腦上,T6報管道關閉,無法連接。 到TBRSYSTEM 庫中updateinfo表中插入計算機名稱。3、在打印套版中,當單據(jù)表頭的扣稅類別不同時,

暖通常見設計問題 版式設計常見問題

[轉] 暖通空調-常見設計知識及問題點匯總 2013-3-30 06:20閱讀(88)轉載自程先國(一)系統(tǒng)設計問題1、水泵在系統(tǒng)的設計位置:一般而言,冷凍水泵應設在冷水機組前端,從末端回來的冷凍水經(jīng)過冷凍水泵打回冷水機組;冷卻水泵設在冷卻水進機組的

UFO報表常見問題匯總 excel常見問題匯總

一. UFO的常見問題:1.一個表可以取多個帳套的數(shù)據(jù)嗎?答:可以,只要在公式中加入帳套號和年度的參數(shù)即可以。2.DOS版的UFO的公式可以轉成811A的公式嗎?答:在轉換時選中:把公式轉為同名的批命令即可。但公式變?yōu)榕詈?,要按新的公式格式進行

WINCE常見問題匯總 excel常見問題匯總

在mediaplayer全屏播放的時候,我可以用鍵盤上的某一個鍵調節(jié)聲音大小,現(xiàn)在我想在屏幕上顯示調節(jié)的結果就跟我們看電視一樣能出來一些標記。當聲音變大在屏幕上就增多,當聲音變小的時候就減少得到播放窗口的DC,然后在上面顯示一個不同顏

聲明:《WINCE常見問題匯總 excel常見問題匯總》為網(wǎng)友男臺步分享!如侵犯到您的合法權益請聯(lián)系我們刪除

又硬又粗又黄又猛又爽又持久| 特级做a爱片久久久久久69| 久久久久9999免费视频| 中文日韩欧美第一页| 加勒比图片区不卡97| 产熟妇一区二区三区aⅴ网站| 欧美中文字幕在线观看免费| 大吊视频一区二区三区四区| 视频一视频二视频三| 97超碰在线观看日韩| 伊人久久中文字幕人妻| 日韩中文字幕三级电影| 看吊视频一区二区三| 成人亚洲视频在线观看第一页| 黄色大片黄色一级大片| 日韩av高清电影手机在线观看| 日韩av不卡电影在线观看| 91免费观看国产精品| 国产二区中文字幕91| 999热国内精品在线免费视频| 欧美在线视频一区二区三区| 国产综合精品久久99之一| 久久精品国产96精品| 亚洲午夜久久久久影院| 天天干天天色天天摸| 日本五十路六十路七十路| 亚洲五月婷婷丁香综合| 久久久91人妻精品一区二区三区| 麻豆成人免费视频一区二区| 日韩4级视频在线播放| 美女亚洲第一区二区 | 好好的日在线视频观看| youtube视频字幕中文| 亚洲午夜青青草久久久久| 在线日韩av永久免费观看| 久久爱精品国产亚洲av| 国产午夜精品在线免费观看| 中文字幕超碰在线播放| 五月婷婷激情久久久| 不卡在线一区二区三国产在线视频| 五月天丁香婷久久爱| www.中文字幕丝袜| 久久精品免费看网站| 蜜桃成熟的在线观看视频| 久久久久亚洲成高清少妇| 国产精品久久人人爽人人| 色999日韩精品| 国产av天堂亚洲国产av在线| 日本av电影av| 91麻豆精品传媒国产在线观看 | chinese中国av| 97久久国产综合网| 老熟妇一区二区三区| 成人中文字幕在线免费看| 天天舔天天爱天天做| 麻豆vpswindows精品| 国产天堂mv在线2020| 老熟妇一区,二区,三区| 亚洲中文字幕在线的| 亚洲欧美在线色视频| 日韩毛片公交车上激情| 日韩不卡一区高清视频| 日韩一区二区中文字幕| 亚洲国产一区二区三区久久久| 日本韩国三级电影片| 国产一区二区不卡老阿姨| youtube视频字幕中文| 国自产久久久久无码春色影视| 一区二区三区四区五区日韩| 久久久久性免费视频| 免费黄色av线上观看| 亚洲成人免费av在线播放| 国产一二三区不在卡| 色综合变态另类777| 欧美日韩免费网站观看| 日本超熟老熟妇网站| 亚州国产成人精品久久久| 日韩三级极速一区| 伊人久久首页精品| 中文字幕人妻丝袜二区在线69| 欧美口爆亚洲口爆在线| 欧美一区二区精品系列| 日韩男叉女下面视频| 国产天堂mv在线2020| 国产视频日韩欧美一卡二卡| 国产一国产精品免费播放| 人妻一区二区三区久久夜夜嗨| 日本韩国三级电影片| 久久99精品色婷婷| 亚洲日韩不卡视频色酷色| 午夜精品免费福利视频一区二区| 欧美精欧美乱码一二三区| 国产又粗又猛又黄又爽又无遮挡| 中文字幕第一页婷婷| 亚洲制服人妻另类小说| 亚洲a在线免费视频| 在线观看免费日本不卡一二区| 五月婷婷中文字幕综合网| 午夜激情四射88| 99久久热这里只有精品| 午夜影院成人福利| 九九视频精品在线免费观看| 欧美日韩极品妻在线观看| 夜夜操夜夜操天天操天天操| 午夜影院在线精品| 五月婷婷大香蕉日韩| 久久精品熟女亚洲AV色欲男同| 日韩欧美亚洲另类激情一区.| 久久久亚洲熟妇一区二区三区| 日本女同性恋激情视频| 欧美xingai在线播放| 91久久精品国产91久| 97成人在线视频免费播放| 亚洲av日日日日| 日韩av高清在线影院| 加勒比东京热综合久久| 国产精品中文字幕观看| 97久久碰国产精品夜| 日韩毛片在线视频播放| 7788人妻精品免费| 国产精品日视频不卡| 色99色.com| 日韩国产另类欧美在线观看| 天天操天天日天天摸天天射| 99re日本免费视频| 久久久亚洲熟女精品俱乐部| 欧美日韩亚洲精品视频| 久久va视频免费观看| 狠狠干狠狠操天天日| 久久久久69成人精品视频| 日韩av电影在线播放| 国产精品年轻夫妻激情啪啪| 国产日韩av一区二区三区四区| 粉嫩一区二区三区在线观看| 日韩三级极速一区| 精品成人一区二区三区在线看片| 亚洲激情网友自拍| 成人福利在线播放免费| 国产日产在线观看系列av| 免费视频亚洲中文字幕在线| 93成人在线播放视频| 国产精品久久久久内射| 欧洲国产伦久久久久久久| 色八戒一区二区三区四区 | 国产精品99久久久久www| 操操操操操操操操操操操操影院| 99热都是只有精品| 日韩精品嘿咻视频| 美女亚洲第一区二区| 不卡无在一区二区三区四区| 日本熟妇免费一区二区三区| 欧美日韩国产精品合集| 成年人在线黄色片片网| 国产一区二区青青精品久久| 国产999精品999| 九九热在线播放视频| 国产女人久久久久久| 熟女人妻中文字幕专区| 日韩亚洲欧美中文高清在线| 麻豆人妻少妇精红桃视频| 久久99在线视频观看| 日韩国产中文字幕人妻| 把人妻干哭中文字幕在线观看| 无码人妻一区二区三区18| 岛国福利视频在线观看| 日本不卡三区四区| 九九热在线播放视频| 色哟哟 日韩精品| 777久久久久久久| 国产中文字幕手机在线| 五月婷婷激情在线视频播放| 91精品国产综合久久久蜜臀| 精品久久久久久久久久久换人妻| 青青青青久久久久久| 亚洲情色天堂在线观看| 精品乱子伦一区二区| 国产av自拍亚洲区| 九九视频精品在线免费观看| 日韩精品视频在线网站| 色婷婷中文字幕一区二区| 亚洲情爱视频网站| 91香蕉久久久久久| 综合久久精品久久精品| 久久99久久99精品欧美激情| 91超碰精品日日躁夜夜躁欧美 | 日韩专区第17页| 亚洲天堂国产免费| 日本在线中文字幕一区二区| 亚洲自拍偷拍另类| 人妻中文字幕视频| 亚洲精品久久久中文字| 网友自拍成人在线视频| 丝袜美腿aⅴ一区二区三区| 一本久道久久综合综合| 日韩精品视频三级| 亚洲国产日韩精品视频| 国产又粗又白又嫩又爽| 在线免费看的黄片视频| 丁香婷婷激情四射| 中文字幕人妻熟女| 一本色道久久亚洲精品av| 久久成人熟女热视频| 一本色道久久综合亚洲av| 国产区资源在线观看| 色综合久久东京热| 91久久久福利视频| 99久在线视频观看| 国产成人精品日本亚洲777| 中文字幕一区二区久久人妻| av中文字幕在线观看播放| 成人亚洲视频在线观看第一页| 国产成+人+综合+欧美 亚洲| 97视频人人做人人爱| 91是什么意思网络污词| 国产一区日本一区欧美一区 | 午夜精品久久久久久不卡欧美一级| 色综合久久久久久久久中文| 亚洲精品久久久久久蜜桃99| 好好的曰com视频在线| 绝色少妇高潮3在线观看| 夜福利视频免费观看| 国产精品久久久久久成人免费 | 国产中文字幕手机在线| 欧美一区二区三区无| 久久99热在线观看| 日韩欧美中文亚洲一区| 丝袜国产日韩另类高清| 桃色网站香蕉大香蕉| 欧美久久久久人妻尻禄破| 日韩黄色影视大全| 日韩网站在线免费观看| 中文字幕+乱码av| 深夜激情五月天久久视频| 99久久久精品四川精品| 欧美成人黑人在线观看| 久久久久久精品一级片| 中文字幕久久黑人| 国产精品年轻夫妻激情啪啪| 性色av蜜臀av夜夜嗨av| 久久久久久伊人婷婷| 日韩美女av一区| 五月婷婷丁香花开网| 欧美成人黑人在线观看| 日韩精品在线免费观看自拍视频| 美女国产精品美女在线观看| 乱码午夜久久久99| www.中文字幕丝袜| 欧美日韩极品妻在线观看| 国产女人久久久久久| 少妇高潮久久久久久一代女皇| a阿v视频在线观看| 色哟哟精品免费专区| 日本女人视频网站| 懂色aⅴ一区二区三区免费| 一区二区三区久久久无| 人妻熟女中文字幕在线观看| 一区二区三区久久久av| 不卡无在一区二区三区四区| 国产欧美电影一区二区三区 | 精品少妇人妻一区二区三区四区| 97超碰在线观看日韩| 成人亚洲视频在线观看第一页 | 亚洲日本精品久久久久中文| 国产精品久久久久久66| 黑夜中文字幕首页在线视频| 日韩av高清无打码在线观看 | 亚洲日韩不卡视频色酷色| 久久久999久久国产| 春色校园综合激情亚洲| 97人澡人人添人人爽欧美| 日日爱亚洲一区av| 不卡一二三区在线视频| 亚洲AV无码国产综合一区二区| 久久精品国产96精品| 欧美人与动牲交欧美精品| 日韩激情视频在线高清| 韩日av电影在线观看| aaa精品视频免费在线| 日本精品久久久久中文字幕2| 2014天天操一操天天干一干| 国内精品国产三级国产a久久| 日韩一区二区三区蜜桃av| 亚洲激情国产专区| 日日橹狠狠爱欧美| 精品乱子伦一区二区| 久久99国产日韩精品久久99| 绿帽人妻精品一区二区粉嫩av| 2020国产成人精品视频vr| 欧美激情日韩精品久久久| 午夜精品一区二区三区91 | 免费黄色av线上观看| 黄色av成人在线观看| 少妇人妻一级视频观看| 色哟哟 日韩精品| 综合网站久久久久久| 在线国产偷拍自拍| 熟妇人妻无乱码中文字幕蜜桃| 91xxx免费在线观看| 成年人黄色在线观看| 中老熟妇一区二区| 亚洲欧洲成熟熟女妇专区乱| 伊人久久大综合网站| 日韩av不卡电影在线观看| 99re日本免费视频| 九九热在线播放视频| 全部免费特黄特色大片看片| 日韩色图在线影院| 97人澡人人添人人爽欧美| 123av中文字幕| 国产精品性色在线播放| 久久精品国产96精品| 欧美口爆亚洲口爆在线| 人妻在线视频福利| 日韩成人一区电影| 欧美一区二区三区在线精品观看 | av最新资源在线观看| 日本少妇激情视频免费看 | 久久精品亚洲天堂av| 久久久国产精品视频在线| 黄片小视频中文字幕| 欧美v日韩v亚洲v最新| 日韩av有码在线观看| 手机在线精品国产| 亚洲中文字幕在线观看国产推理片| 97超碰在线观看日韩| 日韩亚洲欧美在线com| 美女国产精品美女在线观看| 亚洲欧美自拍另类日韩| 无码人妻一区二区三区18| 好好的曰com视频在线| 国产麻豆精品久久久久久久久| 国产精品美女九九九| 男人的天堂亚洲2020| 午夜精品一区二区三区电影..| 999热这里只有精品视频| 久久资源站中文字幕| 91一区区二区三区在线观看91| 99精品国产999| 丁香花激情五月资源| 五月天中文字幕在线婷婷| 手机在线精品国产| 99久久99久久久精品| 中文字幕一区中文字幕| 欧美日韩极品妻在线观看| 国产九色91中文在线视频| 日韩最新p片中文字幕av| 熟女少妇一区二区在线观看| 99热这里只有精品16| 把人妻干哭中文字幕在线观看| 黑人操中国女人的逼| 日b视频在线免费| 操穴电影中文字幕人妻中文字幕| 久久99在线视频观看| 日韩中文字幕三级电影| 国产一区二区三区在线观看网站| 在线免费看的黄片视频| 国产又粗又猛又黄又爽又无遮挡| 一本色道久久88综合亚洲精品是 | 中老熟妇一区二区| 国产中文字幕手机在线| 一区二区三区亚洲人妻| 日韩女优av网站在线| 人妻精品人妻一区二区三区四五| 亚洲黄色天堂网站| 精品人妻少妇系列女友系列| 精品久久久久久一区二| 亚洲精品黄av人在线观看| 熟女义母乱码中文字幕| 91九色蝌蚪蜜桃臀| 亚洲美女色www色| 精品蜜桃一区二区三久久| 熟女一区二区三区在线观看视频| 少妇人妻中文字幕一二三区| 国产一区二区三区四区99| 九九热精品免费视频观看| 欧美性色aⅴ欧美综合色 | 国产男人天堂久久精品| 五月婷婷之之五月婷婷| 欧美日韩大片在线观看视频网站| AV无码国产精品色午夜| 国产精品久久久久久66| 精品久久久havxxx蜜桃| 五月天综合av影院| 漂亮人妻被强中文字幕在线| 亚洲图库另类图片日韩| 成人国产av精品麻豆网| 国产麻豆精品久久久久久久久| 亚洲av日日日日| 97成人在线视频免费播放| 亚洲国产一区二区三区久久久| 欧美日韩亚洲精品视频| 日韩一区二区av在线| evanotty精品二区| 国产欧美日韩精品视频| 国产精品美女久久av爽| 亚洲绿色成人在线| 久久久亚洲熟妇一区二区三区| 国产麻豆精品久久久久久久久| 国产又粗又猛又黄又爽又无遮挡| 丁香六月婷婷在线视频播放| 日本熟妇免费一区二区三区| 亚洲中文字幕乱码一区二区| 人妻夜夜爽天天爽欧美色院| 国产91一区二区三区在线| 大香蕉久久精品99| 中文字幕久久人妻被中出一区精品| 亚洲一级黄免费视频| 国产麻豆精品久久久久久久久| 狠狠干狠狠操天天日| 亚洲欧美另类久久精品| 久久999精品久久久久久| 亚洲成人激情图区| 色五五月五月开亚洲婷婷| 成人小视频在线播放| 成人伦理片免费在线观看免费观看 | 狠狠做深爱婷婷综合激情| 日韩成人在线观看视频| 五月婷婷之之五月婷婷| 国产精品亚洲av资源| 人人添人人妻人人爽夜欢视69| 欧美日韩图区一区二区三区| 日本少妇好色视频| 亚洲天堂av日韩在线| 日日爱亚洲一区av| 日本女人性开放视频| 一本色道久久综合狠狠躁篇怎么玩| 99 re热久久免费视频| 中文字幕人妻熟女一区二区| 国产成人自拍视频网| 在线播放日韩av不卡| 国产麻豆精品久久久久久久久| jizzjizz在线观看亚洲| 久久久久久亚洲av在线播放| 激情五月天图片小说在线观看| 日韩一级特黄大片亚洲| 日本一区二区三区久久| 亚洲国产精品久久久久蜜桃噜噜 | 色9933av精品一区| av最新资源在线观看| 欧美激情综合色综合啪啪| 色婷婷狠狠十八禁久久yy| 久久久久999久久久久| 亚洲ⅴa久久久噜噜噜久久狠狠| 日韩熟妇人妻中文字幕一区| 久久久久久熟妇吹潮av观看| 国产精品久久久久久久久密臀| 日韩人妻字幕在线| 久青青在线观看视频国产| 成人精品电影一区二区三区| 国产又粗又硬又大又长又爽| 男人操女人的大逼逼| 黑夜中文字幕首页在线视频| 亚洲无人区乱码中文字幕一区 | 久久亚洲午夜一区二区| 国产人妻aⅴ一区二区三区| 99久草精品视频在线| 日韩亚洲欧美中文高清在线| 亚洲av大全久久| 日韩一区二区av在线| 123av中文字幕| 国产尤物在线视精品在亚洲| 五月婷婷中文字幕综合网| 欧美日韩图区一区二区三区| 女同精品人妻一区二区三区| 久久久久久亚洲综合影院| 99久久久精品四川精品| 97人澡人人添人人爽欧美| 色9933av精品一区| 99久久热这里只有精品| 凹凸国产av熟女白浆| 亚洲天堂网av大全| 国产午夜精品夜夜骚久久久久| 国产区资源在线观看| 精品高清在线观看免费观看| 中文字幕一区二区久久人妻| 亚洲热青春视频在线| 九九久久精品免费网站| a阿v视频在线观看| 国产一区二区三区在线呻吟视频 | 日韩不卡一区高清视频| 欧美性色aⅴ欧美综合色| 日韩av不卡电影在线观看| 午夜婷婷综合在线| 亚洲精品久久久久久蜜桃99| 伊人久久中文字幕人妻| 日本萝莉三级电影| 色综合久久久久久久久中文| 中文字幕日韩一区二区三区本高 | 亚洲日本精品久久久久中文| 51vv精品视频在线观看| 亚洲国产182tv精品天堂| 免费人妻人人干视频| 一区二区三区四区高清av| 久久亚洲福利视频免费| 久久久999亚洲精品| 色婷婷综合久久久久精品中文 | 日日日夜夜夜精品| 熟女少妇水多一区二区三区| 久久中文字幕视频字幕| 人妻精品一区二区熟女| 3d动漫精品啪一区二区免费| 肥臀大腚沟肥臀大屁股一区二区| 久久精品综合一区二区三区| 亚洲精品日韩在线观看17c| evanotty精品二区| 欧美一区二区三区四区大片| 欧美美熟妇激情一区二区三区在线| www中文字幕日本| 天天操天天色天天爱| 92午夜福利亚洲一区二区| 日本午夜高清在线| 99精品国产高清久久久久久| 久久精品视频免费视频| 天堂网免费在线电影| 麻豆精品视频精品在线免费观看| 老熟妇一区二区三区| 午夜香蕉一区二区三区| 日韩亚洲成人aα在线| 精品视频一区二区三区蜜桃| 偷拍 亚洲 熟女| 久久鬼一本到综合88| 日久干草青青视频免费| 污视频18在线观看| 午夜精品一区二区三区91| 精品乱子伦一区二区| 丁香婷婷色五月激情综合深爱| 日本午夜高清在线| 亚洲综合激情av| 日韩草草草草草草草草草| 国产精品免费视频观看露| 久久99热这里都是精品| 亚洲久久av97一区| 欧美精欧美乱码一二三区| 五月婷婷激情在线视频播放| 爸爸和女儿的黄色片| 人妻av精品一区| 麻豆91免费视频网站| 肥臀大腚沟肥臀大屁股一区二区| 国产一区二区三区美女在线观看| 日日夜夜av资源| 亚洲黄色天堂网站| 最新国产精品av| 久久成人熟女热视频| 懂色aⅴ一区二区三区免费| 日韩在线视频播放一区二区三区| 亚洲av日日日日| 国产日韩av网站在线观看| 国产av一区二区三区免费视频| 91亚洲精品在线免费观看| 日韩不卡一区高清视频| 久久久999国产视频| 亚洲成人av熟妇人妻| 亚洲一区二区三区四区五区福利| 久久99热这里都是精品| 性色av蜜臀av夜夜嗨av| 蜜臀久久国产精品久久久| 亚洲久久久999| 欧美一区二区三四区操逼| 欧美久久久久久久久久久久久| 精品久久久havxxx蜜桃| 中文字幕一区二区久久人妻| 麻豆www久久国产精品| 日韩亚洲中文字幕视频| 亚洲中文字幕乱码一区二区| 久久精品一区二区麻豆| 凹凸国产av熟女白浆| 一区二区三区久久久无| 99亚洲国产成人精品| 九九热在线播放视频| 91超碰在线一区二区三区| 国产av一区二区三区免费视频| 国产乱子伦精品福利| 97成人在线视频免费播放| www.中文字幕丝袜| 美女亚洲第一区二区| 2023av在线视频| 91九色蝌蚪蜜桃臀| 亚洲av大全久久| 国产精品久久久久jk制服| 日韩精品日韩精品日韩| 日韩熟妇中文字幕| 久久久久精品国产亚洲av水蜜| 熟女阿高潮合集91| 日韩中文亚洲字幕av| 天堂在线男女av| 亚洲男人天堂加勒比| 丁香婷婷激情四射| 最新在线不卡av| 99久在线视频观看| www,夜色,com| 亚洲高清电影一区| 亚洲熟妇熟女久久精品综合| 亚洲av成人无网码天堂| 午夜香蕉一区二区三区| 日韩av高清在线影院| 天天干,天天日,天天色| 国产少妇精品7777| 91精品一区二区三区| 久久99热在线观看| 精品91爱爱中文字幕| 精品国产乱码久久久久久精东| 国产视频日韩欧美一卡二卡| 国产欧美日韩精品视频| 91精品国产久久久久久| 伊人久久亚洲综合社区| 国产日韩欧美自拍视频| 欲色av蜜臀av性色av三级| 五月天丁香婷久久爱| 激情视频网站久久婷婷| 69无人区码一码二码三码| 2023av在线视频| 韩国三级伦理在线视频| 激情视频网站久久婷婷| 中文字幕中文有码在线精品| 九九九九九九久久久久久久久久 | 日韩一区二区综合视频| 欧美一区二区精品系列| 午夜精品男人天堂av| 中文字幕精品人妻97| 天堂影院在线免费观看| 99精品国产999| 亚洲情色天堂在线观看| 99热这里只有精品色| av福利免费在线看| 欧美日韩极品妻在线观看| 欧美人妻有码中文字幕| 日韩三级精品视频| 国产av一区两区三区| 日韩一区二区免费av| 99这里有精品在线观看视频| 蜜臀久久国产精品久久久| 亚洲日本精品久久久久中文| 成人自拍视频手机免费在线观看| AV无码国产精品色午夜| 中国巨乳美女的性与色| 国产一区二区三区在线h| 一本色道久久亚洲精品av| 白石茉莉奈一区二区av| 超级碰碰碰91免费看| 日韩色图在线影院| 日韩av毛片观看| 五月婷婷开心之中文字幕| 93成人在线播放视频| 成人精品电影一区二区三区| 3d动漫精品啪一区二区免费| 日韩精品视频网站免费看| 久久综合精品伊人色欲17| 老熟女老91妇女老熟女| youtube视频字幕中文| 一本色道久久综合狠狠躁篇怎么玩| 日韩视频高清在线观看精品| 国产精品中文字幕免费| 久久的精品一区二区三区| 夜福利视频免费观看| 国产中文字幕手机在线| 丰满的少妇2一区二区| 亚洲小说综合另类| 日本久久在线一区| 丝袜美腿aⅴ一区二区三区| 中文字幕亚洲一区嗯嗯| 99久在线视频观看| 999热这里只有精品视频| 97日韩在线免费视频网站| 国产av一二区三区| 99蜜桃人妻免费在线看| 人妻av精品一区| 国产999精品999| 欧美一区激情大胆在线播放| 中国巨乳美女的性与色| 中文字幕亚洲一区嗯嗯| 老鸭窝在线视频免费看| 97成人在线视频免费播放| 日韩男女一进一出| 亚洲欧洲成熟熟女妇专区乱| www久久久大香蕉| AV无码国产精品色午夜| 欧美精品久久久999| 熟女人妻中文字幕欧美日韩| 中文字幕麻豆韩日在线| 色视频免费在线观看高清| 人妻在线视频福利| 久久 偷拍视频 亚洲| 制服丝袜 欧美日韩| 日本欧美人体视频| 国产一二三不卡视频| 亚洲自拍偷拍动图| 床戏大尺度激情视频| 一区二区三区久久久av| 精品丝袜久久久久久人妻懂色| 全亚洲最大资源网| 91精品色综合久久久蜜桃臀| 天堂久久天堂色综合色| 国产美女啪啪18禁| 无码人妻一区二区三区18| 国产男男gay激情| 国产成人一区二区三区影院首页| 国内精品国产三级国产a久久| 日韩一区二区免费av| 天堂中文在线成人| 一本色道久久亚洲精品av| 日本成人有码在线 中文字幕| 偷拍 亚洲 熟女| 国产麻豆精品久久久久久久久| 色视频免费在线观看高清| 人妻夜夜爽天天爽欧美色院| 亚洲精品久久久久久蜜桃99| 日韩国产另类欧美在线观看| 国产av色噜噜一区二区三区| 欧美精品久久久999久久久| 日韩熟妇人妻中文字幕一区| 久久av红桃一区二区禁漫| 国产精品入口麻豆a| 春色校园综合激情亚洲| 天天日天天干天天舔天天射| 亚洲欧美日韩久久精品狠狠| 欧美成人激情视频一区二区| 国产乱子伦精品福利| 亚洲国产区男人本色| 99久久精品国内盗摄| 2014天天操一操天天干一干| 日韩激情视频在线高清| 亚洲久久久999| 人人精品,人人妻| 国产欧美日韩精品视频| 成人国产av精品麻豆网| 99热都是只有精品| 中文字幕在线观看国产有码| 久久久精品亚洲天堂网站| 亚洲男人的天堂av2017| 韩国三级伦理在线视频| 蜜桃久久久久久久91| 亚洲一区二区三区中文久久| 日韩不卡av电影网| 婷婷久免费电影在线视频| 久久天天躁夜夜躁狠狠综合网| 热久久精品国99热| 国产av一二区三区| 欧美一区激情大胆在线播放| 自拍偷拍亚洲专区图片| 亚洲久久av97一区| 精品成人一区二区三区在线看片| 午夜影院成人福利| 日本女人自摸视频| 日韩欧美亚洲三四区| 午夜中文字幕a区b| 日本精品国产免费久久久| 国产一区二三区日韩精品| 久久99热久久99这里有精品| 亚洲午夜伦理aaa| 国产精品久久久人妻午夜| 国产日本福利在线观看| 人妻少妇精品一二三区| 欧美美熟妇激情一区二区三区在线| 人人精品,人人妻| 婷婷六月天综合久久| 91大神 在线播放| 五月婷婷丰满少妇激情六月| 制服丝袜 亚洲一区二区三区| 91青青草手机视频在线观看| 亚洲欧洲成熟熟女妇专区乱| 日韩丝袜一区av| 91在线视频在线视频在线播放| 日韩欧美一级二级三级| 国产乱子伦一区二区三| 99久在线视频观看| 天天操一操天天操天天操| 亚洲日本成人三级少妇| 日韩欧美中文亚洲一区| 老熟女av老熟女xx| 网友自拍成人在线视频| 亚洲精品久久久中文字| 成人伦理片免费在线观看免费观看| 久久青草视频免费播放| 国产精品入口麻豆a| 97超碰精品在线观看| 日韩av一级大片| 成人精品一区久久久久| 成年人在线黄色片片网| 91精品一区二区在线观看久久久| www.777麻豆网| 中文字幕久久人妻被中出一区精品| 日本女人视频网站| 99 re热久久免费视频| 欧美久久久久久久久久久久久| 亚洲精品日韩在线观看17c| 五月婷婷之之五月婷婷| 国产久精品搜索视频| 国产一区二三区日韩精品| 色婷婷狠狠禁久久| 日韩精品巨乳中文字幕在线| 综合久久 中文字幕| 国产av一区二区三区四区| 蜜臀av性久久一区二区| 精品乱码久久久久久| 91久久久福利视频| 天天摸天天高潮天天爽| 国产又粗又硬又大又长又爽| 日本少妇趟水视频| 91国产丝袜在线播放九色| 一本色道久久88综合亚洲精品是| 777久久久久久久| 久久精品综合一区二区三区| 五月婷婷激情文学| 97视频人人做人人爱| 成人黄色在线观看91| 国内精品国产三级国产a久久| 国产不卡最新在线视频| 久久综合结合久久狠狠狠97色| 日韩av高清电影手机在线观看| 久久久亚洲熟妇一区二区三区| 亚洲欧美国产精品成人| 亚洲欧美日韩国产成人综合 | 中文字幕第一页婷婷| 欧美美熟妇激情一区二区三区在线| 亚洲欧美日韩精品在线播放 | 国产精品美女九九九| 99亚洲国产成人精品| av中文字幕在线观看播放| 久久人妻少妇av嫩草| av在线网站一区二区三区天堂| 精品久久久久久久久久久换人妻| 91老司机在线视频| 久久精品亚洲天堂av| 中文字幕久久精品综合| 国产巨作av在线播放| 国产男男gay激情| 丁香婷婷色五月激情综合深爱| 在线视频人妻中文字幕| 国产av一区两区三区| 制服丝袜 亚洲一区二区三区| 人妻伦伦精品一区二区三区在线看| 久久精品一区二区日韩| 亚洲国产成人精品网站| 中文字幕人妻乱码在线| 99国产婷婷综合在线视频| 日韩中文少妇字幕| 色秘乱码一区二区三区在线| 久久av少妇av高潮| 夜夜操夜夜操天天操天天操| 人妻伦伦精品一区二区三区在线看| 亚洲a在线免费视频| 日韩不卡一区二区在线观看| 日本在线中文字幕一区二区| 丰满少妇高潮久久久久久| 中文人妻视频免费在线99| 欧美一区二区精品系列| 久草在在线免视频在线观看| 91中文字幕在线观看网站| 日韩激情视频在线高清| 日韩欧美亚洲另类激情一区.| 999国产精品成人| 五月婷婷丰满少妇激情六月| 人妻一区二区三区88av| 中文字幕人妻国产91| 欧美成人一区二区免| 日韩色图在线影院| 人妻中文字幕视频| 五月激情四射综合| 一区二区三区久久久av| jul909中文字幕在线| 国产91久久久久久久免费| 亚洲人午夜精品射精日韩| 91精品视频一区二区| 国产二区中文字幕91| 一本久道久久综合狠狠| 一区二区三区欧美日韩欧美| 久久国产精品99国产精2021| 一道精品视频一区二区三区视频| 中文字幕欧美精品日韩有码| 国产精品美女丝袜一区二区| 大吊视频一区二区三区四区| 99久在线视频观看| 日本女人自摸视频| 男人av资源在线观看| 亚洲激情四射五月| 国产 日韩 精品 欧美| 色综合久久久久久久久中文| 国产久精品搜索视频| www一区二区三区视频com| 成人国产av精品麻豆网| 国产精品女主播av| 国产又大又长又粗又猛又爽| 天堂在线男女av| 午夜爱看福利视频| 日韩精品免费二区三区三区| 久久久久黄色片三级伦理| 欧美成人一区二区免| 中文字幕高清资源网| 中文字幕福利在线视频| 51vv精品视频在线观看| 欧美人与动牲交欧美精品| 国产亚洲欧美视频一区二区| 久久综合精品乱码中文| 中文字幕一区二区三区四区的 | 国语自产精品视频在线播放| 中文字幕日产在线视频| 亚洲国产精品国自产拍张津瑜| 日本在线丰满人妻| 亚洲国产精品国自产拍张津瑜 | 日本大香蕉永久网| 中文字幕高清资源网| 97超碰在线免费在线观看| 亚洲中文字幕乱码一区二区| 国产精品91久久久| 亚洲 欧美 在线 日韩| 日韩色图在线影院| 夜夜操夜夜操天天操天天操| 国产精品中文字幕观看| 久久99热久久99这里有精品| 亚洲日本精品久久久久中文| 国自产久久久久无码春色影视| 国产一区日本一区欧美一区| 天天色综合天天aⅴ| 一本久道久久综合狠狠| 日本一本二本三本不卡区| 亚洲中文字幕在线观看国产推理片| 国产精品99久久黑人免费| 亚洲小说综合另类| a3k9x在线观看| 国产高清蜜臀久久99| 成人精品视频99在线观看免费| 91国产人成在线观看| 亚洲国产日韩精品视频| 色婷婷狠狠十八禁久久yy| 国产乱子伦一区二区三| 波多野结衣初尝黑人巨大| 亚洲AV无码国产综合一区二区| 精东果冻视频在线观看| 成人精品视频99在线观看免费| 丁香婷婷激情啪啪综合五月天| 人人添人人妻人人爽夜欢视69| 自拍偷拍另类色图| 成人黄色免费在线播放| 性做久久久久久久久浪潮| 97视频人人做人人爱| 久久综合精品伊人色欲17| 精品人妻少妇系列女友系列| 99热国产一区二区三区| 日本 亚洲 久久| 亚洲男人的天堂av2017| 激情五月天福利婷婷| 成人精品电影一区二区三区| 污视频18在线观看| 日韩欧美中文亚洲一区| 亚洲高清精品人妻自拍| 日本熟妇久久久久久| 亚洲国产欧美在线人成aaaa| 国产一区二区美女视频| 日韩av一级大片| 99成人免费视频观看| 把人妻干哭中文字幕在线观看 | 12av一区二区三区| 日韩av高清电影手机在线观看| 日韩精品视频网站免费看| www一区二区三区视频com| 亚洲五月天在线中文字幕在线| 在线日韩亚洲av电影| 精品国产一区二区三区av天堂 | 人妻精品人妻一区二区三区四五| 91国产丝袜在线播放九色| 国产av色噜噜一区二区三区| 欧美熟妇大bbwsex| 好好的日在线视频观看| 91成人一区二区三区| 日本大香蕉国产在线| 成人国产偷拍自拍视频| 中文字幕欧美精品日韩有码 | 国产成人亚洲综合a∨| 国产一区二区不卡老阿姨| 亚洲图库另类图片日韩| 亚洲国产182tv精品天堂| 亚洲久久久999| 激情视频网站久久婷婷| 两个97年失恋疗伤在线观看| 国产一区二区三区精品公司| 欧美亚洲一区二区三区视频| 熟女少妇一区二区在线观看| 国产日韩av在线免费观看| 亚洲高清电影一区| 麻豆资源在线不卡观看| 2023av在线视频| 超碰97人人看人人爱| 人妻精品一区二区熟女| 一区二区三区欧美日韩欧美| 韩国三级伦理在线视频| 国产巨作av在线播放| 日韩美av一区二区| 91大神 在线播放| 久久久久久久久久久一级片| 一本色道久久88综合亚洲精品是| 韩日av电影在线观看| 久久夜夜一区二区三区日韩| 亚洲一区二区五十路熟女激情中出| 日韩av成人一区二区三区在线看| 中文字幕一区中文字幕| 国产又粗又猛又爽又大的视频| 大香蕉大香蕉大香蕉最新| 精品成人一区二区三区在线看片| 人妻伦伦精品一区二区三区在线看| 在线观看日产av网站| 久久久久久久人妻av| 精品久久99在线观看| 成人中文字幕在线免费看| 国产人妻aⅴ一区二区三区| 热新久久99免费视频视频| 九九九九九九久久久久久久久久| 亚洲自拍 校园春色| 中文字幕精品人妻97| 不卡的高清国产av| a3k9x在线观看| chinese中国av| 人妻夜夜爽天天爽欧美色院| 高清一区二区三区四区免费视频| 国产成人精品在线久久| 一区二区三区日韩在线观看| 91老司机在线视频| 美女国产精品美女在线观看 | 岛国福利视频在线观看| 国产麻豆精品传媒av国产网址| 少妇精品久久久久久av蜜桃| 97超碰在线免费在线观看| 亚洲图库另类图片日韩| 伊人免费视频12| 欧美成人一区二区免| 精品综合久久久久久久91精品| 丝袜国产日韩另类高清| 亚洲一区二区五十路熟女激情中出| 丝袜国产日韩另类高清| 91人妻无码成人精品一区二区| 欲色av蜜臀av性色av三级| 国产精品日视频不卡| 人人妻人人爽狠狠干| 国产精品国产成人生活片| 国产又粗又猛又爽又视频| 国产99福利小视频在线播放| 日本人妻制服诱惑| 最近的最好看的中文字幕| 色哟哟精品免费专区| 日韩啪啪 中文字幕| 久久99精品色婷婷| 亚洲欧美另类久久精品| 五月婷婷激情久久久| 制服护士jk学生丝袜秘书套装| 五月婷婷激情久久久| 一本久道久久综合综合| 中文字幕日产在线视频| 高清欧美精品xxxxx在线看| 欧美激情中文字幕一区二区| 亚洲av大全久久| 天天色综合天天aⅴ| 亚洲欧美日韩国产成人综合| 五月婷婷之综合激情在线| 日韩影片 欧美激情| 日韩成人黄色av在线观看| 91九色蝌蚪蜜桃臀| 久久99国产精品二区不卡| 国产 欧美日韩在线视频| 国产999精品999| 92午夜福利亚洲一区二区| 精品高清在线观看免费观看| 亚洲精品久久久中文字| 春色校园综合激情亚洲| 国产九色91中文在线视频| 91久久久久久亚洲精品| 自拍偷拍图片专区| 亚洲免费在线久久92| 热久久精品国99热| 国产成人av在线无限观看| 亚洲熟妇欲色一区一区三区| 日本少妇激情视频免费看 | 看吊视频一区二区三| 视频二区 中文字幕 人妻中文| 蜜桃久久久久久久久久久久| 亚洲欧美精品色多多| 亚洲五月天久久久噜噜噜噜| 久久久久999久久久久| 天堂中文在线成人| 欧洲国产伦久久久久久久| 99re日本免费视频| www久久久大香蕉| 国产精品99久久黑人免费| 亚洲国产成人女人久久久| 一本色道久久88综合亚洲精品是| 天天看亚洲特黄大片| 一区二区三区久久久av| 日本在线中文字幕一区二区| 视频一区二区三区入口| 国产又粗又猛又爽又大的视频| 成人caopao自拍视频| 国产日韩欧美中文在线播放| 久久久999视频视频| 亚洲av另类色图在线| 人妻精品一区二区熟女| 国产一区二区三区欧美精品| 国产伦理一区二区久久久久久| 成人小视频在线播放| 最新在线不卡av| 男人av资源在线观看| 国产精品6久久久久久久| 日韩网站在线免费观看| 日韩欧美中文字幕少妇| 日韩中文少妇字幕| 亚洲制服人妻另类小说| 日韩精品免费二区三区三区| 丁香花激情五月资源| 精品久久99在线观看| 婷婷在线免费视频观看| 国产午夜精品在线线| 久久精品亚洲天堂av| 亚洲一区二区日韩电影| 操穴电影中文字幕人妻中文字幕| 亚洲成人免费av在线播放| 久久久中文字幕视频| 亚洲av香蕉高清在线播放| 日韩熟妇中文字幕| 亚洲日本精品久久久久中文| 日韩亚洲在线成人| 国产精品中文字幕观看| 亚洲国产欧美精品久久久久| 欧美日韩亚洲精品视频| 激情五月天图片小说在线观看| 老鸭窝在线视频免费看| 亚洲欧美在线色视频| 亚洲av日韩av专区国产| 国产精品99久久久久www| 56porm在线视频| 中文字幕91大神| brazzerss色欧美| 国产一区二区美女视频| 国产欧美日韩在线激情| 日本久久在线一区| 中文字幕人妻熟女一区二区| 亚洲精品黄av人在线观看| 天天射天天干天天爱| 中文字幕日韩一区二区三区本高| 熟妇人妻无乱码中文字幕蜜桃 | 午夜国产成人在线免费观看 | 欧美精品久久久999久久久| 亚洲一区二区三区四区五区福利| 伊人成色综合视频| 国产精品99久久黑人免费| 成人精品一区久久久久| www操操操操操操| 久久99视频完整版| 国产99精品综合电影| 精品国产日韩高清毛片| 日韩人妻视频一区二区三区| 麻豆高清视频在线免费观看| 精品少妇视频一区二区三区| 日韩精品免费美女在线观看| 久久久亚洲熟妇一区二区三区| 亚洲欧美日韩国产成人综合 | 日韩欧美成年一级| 亚洲国产欧美在线人成aaaa| 全部免费特黄特色大片看片| 亚洲精品日韩在线观看17c| 国产一区二区美女视频| 国产美女一区二区三区四区免费| 青青操成人免费视频| 国产麻豆剧传媒精品国产av黑人| 国内精品视频一区二区三| 人妻一区二区三区88av| 久久精品国产免费观看频道| 九九热视频精彩在线| 91人妻无码成人精品一区二区| 91一区区二区三区在线观看91| 天天插天天透天天婷婷| 日韩最新p片中文字幕av| 日韩在线视频播放一区二区三区| 国产女人久久久久久| 97久久久久久精品人妻一区| 综合久久精品久久精品| 亚洲中文字幕乱码一区二区| 美女精品视频一区二区三区 | 大香蕉久久久久在线伊人| 中文日韩欧美第一页| 日韩在线视频播放一区二区三区| 日韩av毛片观看| 丰满大屁股熟妇偷拍| 国产少妇精品7777| 日本欧美人体视频| 中文字幕一区二区三区四区的| 亚洲激情诱惑美女| 精品国产乱码久久久久久精东| 中老熟妇一区二区| 91入口在线观看天天| 亚洲丝袜在线欧美| 日韩4级视频在线播放| 欧美日韩国产亚洲中文字幕| 春色校园综合激情亚洲| 熟女少妇一区二区在线观看| 最新在线不卡av| 91免费观看国产精品| 热久久精品国99热| 人妻精品区三免费视频| 日本午夜高清在线| 日韩在线中文字幕免费 | 日本大香蕉永久网| 新久久久久久久久久久免费| 亚洲成人另类综合| 色网站在线免费观看视频| 91国产手机在线观看| 人人超级碰青青精品| 亚洲激情在线电影观看| 日韩视频高清在线观看精品| 蜜桃av一区二区视频| 新久久久久久久久久久免费| 欧美在线视频一区二区三区| 欧美日韩一级在线视频 | 久久久久久精品一级片| 91行情视频在线看高清| 又硬又粗又黄又猛又爽又持久| 人妻熟妇丰满不伦一区二区三区| 国产一二三不卡视频| 91精品国产综合久久久蜜臀| 91九色蝌蚪蜜桃臀| 久久大伊人精品视频| 日本久久在线一区| 日日夜夜av资源| 久久999精品久久久久久| 在线视频 一区 日| 中文字幕麻豆韩日在线| 激情视频久久免费观看| 麻豆www久久国产精品| 国产一区二区三区四区观看| 最近的最好看的中文字幕| 日韩欧美亚洲另类激情一区.| 精品高清在线观看免费观看| 激情五月天俺也去淫淫| 亚洲三级天堂在线| 精品成人一区二区三区在线不卡| 日韩熟妇中文字幕| 久久日本成人精品视频| 中文字幕一区二区久久人妻| 九九视频精品在线免费观看| 97超碰精品在线观看| 天天操天天爱天天操天天爱| 亚洲欧美日韩一区一区| 亚洲精品国产呦系列| 激情综合激情五月俺也去淫淫| 欧美日韩精品视频第一页| 蜜桃av一区二区视频| 久青青在线观看视频国产| 国产精品久久久久jk制服| 国产精品年轻夫妻激情啪啪| 在线日韩亚洲av电影| 91成人一区二区三区| 日韩不卡一区高清视频| 色婷婷狠狠禁久久| 精品视频一区二区三区蜜桃 | 东京热日韩电影一区二区| 日韩影片 欧美激情| 久久re视频在线免费观看| 国产91精品天堂在线观看| 日本超熟老熟妇网站| 日韩成人在线观看视频| 亚洲国产182tv精品天堂| 精品乱码久久久久久| 成人caopao自拍视频| www.777麻豆网| 九九热视频精彩在线| av资源中文字幕在线| av中文字幕人妻丝袜在线| 午夜香蕉一区二区三区| 人妻视频一区二区三区免费| 99久久久精品四川精品| 男人做受天堂青青操| 男人的天堂精品久久| 中文字幕在线人妻| 亚洲ⅴa久久久噜噜噜久久狠狠| 国产人妻aⅴ一区二区三区| 欧美激情日韩激情亚洲最大| 亚洲激情四射五月| 99精品人妻一区二区三区| 国产亚洲欧洲一区二区在线| 日日狠狠久久偷偷综合色| 91精选一区二区三区久久久| 国产av自拍亚洲区| 老熟妇一区二区三区| 日本熟妇厨房xxxⅹ乱| 久久视频免费一区二区| 国产精品久久久久久久影视一免费| 五月天综合av影院| 中文字幕日本激情| 日韩毛片在线视频播放| 日韩三级精品视频| 亚洲五月天在线中文字幕在线| 少妇高潮久久久久久一代女皇| 99热在线免费这里只有精品| 在线播放日韩av不卡| 天堂亚洲国产av| 青青久视频在线观看| 高清欧美精品xxxxx在线看| 久久99爱精品999| 大吊视频一区二区三区四区| 熟女少妇激情另类综合一区| 久久久久性免费视频| 丰满少妇免费做爰大片人| 久久99在线观看视频| 日韩精品日韩精品日韩| 8日韩一级一片内射视9一| 国产97色在线免费看| 人妻在线视频福利| 国产一区二区青青精品久久 | 热久久精品国99热| 全亚洲最大资源网| 久久久999视频视频| 日本少妇人妻系列| 日韩黄色大片中文字幕| 国产精产国品一二三产区视频| 人妻中文字幕视频| 风流老熟女一区二区三区av| 欧美综合激情另类专区| 99国产婷婷综合在线视频| 亚洲三级自拍视频| 久久综合结合久久狠狠狠97色| 精品蜜桃一区二区三久久| 国产高清蜜臀久久99| 国产精品久久久久jk制服| 视频二区 中文字幕 人妻中文| 精品一区二区三区熟女少妇| 人人妻人人爽人人艹| 特级做a爱片久久久久久69| 清纯唯美激情亚洲天堂| av一本久久久久久| 日本av电影av| 日韩毛片在线视频播放| 日韩av电影在线观看视频| 久久日本成人精品视频| 91人妻人人妻人人妻| 奇米成人av电影| 蜜臀99精品国产高清在线观看| 日本精品久久久久中文字幕2| 亚洲情色天堂在线观看| 久久在草免费观看亚洲国产| 九九热在线播放视频| 美日韩av一区二区| 97日韩在线免费视频网站| 91久久久福利视频| 午夜精品一区二区三区四区 | 老鸭窝在线视频免费看| 亚洲欧美精品色多多| 国产欧美日韩在线激情| 久久国产精品蜜臀免费| 国产又粗又猛又爽又大的视频| 日韩影片 欧美激情| 色婷婷综合久久久久精品中文| 亚洲天堂电影成人| 国产一区二区三区 久久| 久久精品熟妇熟妇丰满人妻5o| 一区二区三区精品少妇人妻| 精品视频一区二区三区蜜桃 | 欧美精产国品一二三类产品| av影院永久免费在线看| 国产麻豆精品成人免费观看| 加勒比东京热综合久久| 美女精品视频一区二区三区 | 久久久久久国产精品一区二区| 午夜香蕉一区二区三区| 人妻少妇一区二区三区视频| 好好的日在线视频观看| 亚洲一区二区三区中文久久| 日本午夜高清在线| 久久99在线观看视频| 激情五月综合婷婷欧美| 国产精品三级久久久久精品大全| 欧美日韩国产专区一区 | 亚洲热青春视频在线| 免费看av中文字幕| 99蜜桃人妻免费在线看| 国产一国产精品免费播放| 亚洲第一成人在线观看av| 在线日韩亚洲av电影| 熟探花啪啪第十场av| 国产麻豆精品久久久久久久久| 97久久国产综合网| 亚洲婷婷在线视频观看| 国产精品久久久久久66| 日本不卡三区四区| 亚洲三级自拍视频| 精品人妻少妇系列女友系列| 男人的天堂亚洲2020| 欧美日韩亚洲精品视频| 亚洲精品黄av人在线观看| 黄片小视频中文字幕| 国产一区二区三区在线观看网站| 蜜桃视频日韩欧美北条麻妃| 一区二区三区四区高清av| 最新亚洲黄片av电影| 亚洲欧洲成熟熟女妇专区乱| 久久久久久精品一级片| 久久天天躁狠狠躁夜夜av| 亚洲av日韩av专区国产| 成人caopao自拍视频| 黄色av成人在线观看| 日韩午夜小视频合集| 日韩4级视频在线播放| 好好的曰com视频在线| 国产男男gay激情| 最新欧美日韩一区二区| 日韩av在线电影免费看| 熟女一区二区三区在线观看视频| 日韩免费视频精品| 麻豆资源在线不卡观看| 成人caopao自拍视频| 久久久久久伊人婷婷| 欧美一区二区三区在线精品观看| 亚洲成人精品国产av| 老鸭窝在线视频免费看| 麻豆91免费视频网站| 国产av天堂亚洲国产av在线| 午夜久久久久久禁播电影| 日日夜夜av资源| 久久久久9999免费视频| 中文日韩欧美第一页| 精品久久99在线观看| 中文字幕福利在线视频| 日韩av高清无打码在线观看| 青青久视频在线观看| 欧美成人一区二区免| 亚洲情色电影网站| 69无人区码一码二码三码| 成人caopao自拍视频| 日韩成人一区电影| 国产精品久久网址大全| 中文字幕+乱码av| 亚洲久久久999| 中文字幕在线日韩人妻| 国产精品久久人人爽人人| 又硬又粗又黄又猛又爽又持久| 天天日天天干天天舔天天射| 波多野结衣初尝黑人巨大| 国产亚洲精品久久久久久妇女|