freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

windows編程基本手冊-展示頁

2025-07-08 09:03本頁面
  

【正文】 刻被寫入文件,再通過傳統(tǒng)文件的訪問方式(如ReadFile和WriteFile)將得不到文件的連貫性視圖,而直接通過共享內(nèi)存可以保證連貫性5. 在Win32中文件映射對于2GB3GB的大文件不可能將整個(gè)文件映射到虛擬內(nèi)存空間中,如果在映射文件中使用了帶有指針的數(shù)據(jù)結(jié)構(gòu),那所有指針都將與由MapViewOfFile所返回的虛擬地址有關(guān),解決方案就是使用基指針,另一個(gè)指針的相對實(shí)際偏移量.LPTSTR pInFile=NULL。 為緩存分配更多的虛擬內(nèi)存,可以導(dǎo)致越少的解除映射和重新映射操作。值得注意的是調(diào)用CloseHandle會(huì)讓系統(tǒng)停止維護(hù)進(jìn)程的統(tǒng)計(jì)數(shù)據(jù)。7. 所有線程終止,會(huì)將進(jìn)程的退出代碼設(shè)為最后一個(gè)終止運(yùn)行的線程的終止代碼。該函數(shù)是異步執(zhí)行的,它會(huì)告訴系統(tǒng)需要某進(jìn)程運(yùn)行終止,但是函數(shù)返回時(shí),無法保證這個(gè)進(jìn)程已經(jīng)終止。參數(shù)指針可以在參數(shù)列表中隨意地來回移動(dòng),但必須在va_start() … va_end()之內(nèi)。說明:指針arg_ptr被置無效后,可以通過調(diào)用va_start()、va_copy()恢復(fù)arg_ptr。va_copy(dest, src):dest,src的類型都是va_list,va_copy()用于復(fù)制參數(shù)列表指針,將dest初始化為src。 如果有一va函數(shù)的聲明是void va_test(char a, char b, char c, …), 則它的固定參數(shù)依次是a,b,c,最后一個(gè)固定參數(shù)argN為c,因此就是va_start(arg_ptr, c)。 注意點(diǎn)\,但是在CreateFile等其他低級的API中正斜杠也可以用,最好避免造成不兼容性,目錄和文件名大小不敏感,但是大小寫保持,路徑名最大為MAX_PATH 260長,但可以通過轉(zhuǎn)義字符指定非常長的名稱,如加上\ \ ?及使用Unicode字符避開這個(gè)限制,可以長達(dá)32K個(gè)字符的名稱2. Unicode 字符集,使用define _UNICODE 必須在前語句給出,默認(rèn)使用的是8位字符,L使用的是16位字符,_T使用通用文本字符,。define UNICODE 和define _UNICODE include _fgettc,_itot替代itoa_stprintf替代sprintf_tcscpy替代strcpy_ttoi,_totupper,_totlower,以及_ftprintf(輸出到文件)$和CONOUT$為控制臺的輸入輸出,或直接使用GetStdHandle()(lpExistingName,lpNewFileName,fFailifExists)如果已經(jīng)有使用新名稱的文件存在,那么只有在fFailIfExits等于FALSE 時(shí)這個(gè)文件才會(huì)被替換,CopyFile也復(fù)制文件的元數(shù)據(jù),比如創(chuàng)建時(shí)間 ,一個(gè)進(jìn)程在一個(gè)時(shí)間中只能有一個(gè)控制臺 va_list arg_ptr:定義一個(gè)指向個(gè)數(shù)可變的參數(shù)列表指針;va_start(arg_ptr, argN):使參數(shù)列表指針arg_ptr指向函數(shù)參數(shù)列表中的第一個(gè)可選參數(shù),說明:argN是位于第一個(gè)可選參數(shù)之前的固定參數(shù), (或者說,最后一個(gè)固定參數(shù);…之前的一個(gè)參數(shù)),函數(shù)參數(shù)列表中參數(shù)在內(nèi)存中的順序與函數(shù)聲明時(shí)的順序是一致的。va_arg(arg_ptr, type):返回參數(shù)列表中指針arg_ptr所指的參數(shù),返回類型為type,并使指針arg_ptr指向參數(shù)列表中下一個(gè)參數(shù)。 va_end(arg_ptr):清空參數(shù)列表,并置參數(shù)指針arg_ptr無效。每次調(diào)用va_start() / va_copy()后,必須得有相應(yīng)的va_end()與之匹配。3. 控制臺輸入CONIN$ CONOUT$4. 進(jìn)程之間共享數(shù)據(jù)的最好方法是使用內(nèi)存映射5. ExitProcess或ExitThread無法保證正確的清除對象,在入口函數(shù)中調(diào)用ExitThread只會(huì)使主線程停止,如果進(jìn)程中還有其他線程運(yùn)行,進(jìn)程不會(huì)終止6. TerminateProcess函數(shù),這種方式終止不會(huì)得到任何有關(guān)終止運(yùn)行的通知,終止之前不會(huì)將內(nèi)存中它所擁有的任何東西寫回磁盤。如果要確切知道是否已經(jīng)終止運(yùn)行要調(diào)用WaitForSingleObject函數(shù)。進(jìn)程內(nèi)核對象的存在時(shí)間可能大大超過進(jìn)程的存在時(shí)間,即使進(jìn)程已經(jīng)終止運(yùn)行,這些信息也可能還是有用的,可以通過GetExitCodeProcess獲得目前已經(jīng)銷毀的進(jìn)程退出代碼如果調(diào)用這個(gè)函數(shù)時(shí)進(jìn)程尚未終止,返回一個(gè)STILL_ACTIVE標(biāo)識符,否則返回?cái)?shù)據(jù)退出代碼值。8. 如果以二進(jìn)制方式打開,文本方式寫,文件的末尾寫入會(huì)出錯(cuò),如果以文本方式打開,二進(jìn)制方式寫,文件只能讀入一部分的內(nèi)容 進(jìn)程是由1一個(gè)私有的虛擬地址空間,即進(jìn)程可以使用的一組虛擬內(nèi)存地址2一個(gè)可執(zhí)行程序,定義了初始的代碼和數(shù)據(jù),映射到進(jìn)程的虛擬地址空間中3一個(gè)已打開句柄的列表,指向各種系統(tǒng)資源,比如信號量,通信端口和文件,該進(jìn)程中的所有線程都可訪問這些系統(tǒng)資源4一個(gè)被稱為訪問令牌的安全環(huán)境,標(biāo)識了與該進(jìn)程關(guān)聯(lián)的用戶,安全組和特權(quán)5一個(gè)被稱為進(jìn)程ID的惟一標(biāo)識符(在內(nèi)部被稱為客戶ID)6至少一個(gè)執(zhí)行線程 對線程句柄的關(guān)閉并不會(huì)終止線程,CloseHandle函數(shù)只是刪除對CreateProcess進(jìn)行調(diào)用的進(jìn)程內(nèi)的該線程的引用 ,,關(guān)閉子進(jìn)程的句柄不能銷毀子進(jìn)程,只銷毀父進(jìn)程對子進(jìn)程的訪問權(quán).1. 復(fù)制句柄,計(jì)數(shù)代表引用一個(gè)對象的不同句柄數(shù)量,但它對應(yīng)用程序不可用,在最后一個(gè)句柄被關(guān)閉而且引用計(jì)數(shù)變成零之前,對象不能被銷毀.2. 使用GetProcessTimes或GetThreadTimes獲得運(yùn)行時(shí)間 最基本的部件1一組代表處理器狀態(tài)的CPU寄存器的內(nèi)容2兩個(gè)棧,一個(gè)用于當(dāng)線程在內(nèi)核模式下執(zhí)行的時(shí)候,另一個(gè)用于線程在用戶模式下執(zhí)行的時(shí)候3一個(gè)被稱為線程局部存儲(chǔ)區(qū)(TLS,threadlocal storage)的私有存儲(chǔ)區(qū)域,各個(gè)子系統(tǒng),運(yùn)行庫和DLL都會(huì)用到該存儲(chǔ)區(qū)域4一個(gè)被稱為線程ID的惟一標(biāo)識符(在內(nèi)部也被稱為客戶ID進(jìn)程ID和線程ID是在同一個(gè)名字空間中生成的,所以它們永遠(yuǎn)不會(huì)重疊)5線程也有自已的安全環(huán)境,如果多線程服務(wù)器應(yīng)用程序要模仿其客戶的安全環(huán)境,則往往可以利用線程的安全環(huán)境.易失的寄存器,棧和私有存儲(chǔ)區(qū)域合起來被稱為線程的環(huán)境(context),因?yàn)檫@些信息隨著Windows所在機(jī)器的體系結(jié)構(gòu)不同而有所不同,這些數(shù)據(jù)結(jié)構(gòu)必須是與底層體系結(jié)構(gòu)相關(guān)的,通過GetThreadContext可以訪問這一信息一個(gè)進(jìn)程中的線程不可能直接引用另一個(gè)進(jìn)程的地址空間,除非1第二個(gè)進(jìn)程將它的一部分私有地址空間變成共享內(nèi)存區(qū)(文件映射對象)2第一個(gè)進(jìn)程有權(quán)打開第二個(gè)進(jìn)程,可以使用ReadProcessMemory和WriteProcessMemory等跨進(jìn)程的內(nèi)存函數(shù)在默認(rèn)情況下,線程沒有自已訪問令牌,也可以包含一個(gè)訪問令牌,因此單獨(dú)的線程可以模仿另一個(gè)進(jìn)程的安全環(huán)境—包括遠(yuǎn)程Windows系統(tǒng)上運(yùn)行的進(jìn)程,而不會(huì)影響當(dāng)前進(jìn)程中的其他線程 對于映射非常大的數(shù)據(jù)庫,在32位系統(tǒng)上,Windows提供了地址窗口擴(kuò)展(AWE,Address Windowing Extension)的機(jī)制,使得32位應(yīng)用程序可以申請多達(dá)64GB物理內(nèi)存,然后將內(nèi)存視圖或者窗口映射到它的2GB虛擬地址空間中 內(nèi)核模式的操作系統(tǒng)和設(shè)備驅(qū)動(dòng)程序共享同一個(gè)虛擬地址空間,一旦進(jìn)入內(nèi)核模式,操作系統(tǒng)和設(shè)備驅(qū)動(dòng)程序的代碼可以完全訪問系統(tǒng)空間的內(nèi)存,也可以繞過Windows的安全機(jī)制直接訪問對象,用戶模式到內(nèi)核模式的切換不會(huì)影響線程的調(diào)度,大部分圖形和窗口系統(tǒng)運(yùn)行在內(nèi)核模式下,圖形密集的應(yīng)用程序花在內(nèi)核模式下的時(shí)間比用戶模式下的時(shí)間多,當(dāng)Windows無事可做時(shí),它運(yùn)行在內(nèi)核模式上. 注冊表是一個(gè)反映內(nèi)存中易失數(shù)據(jù)的窗口,比如系統(tǒng)中當(dāng)前硬件的狀態(tài)(哪些設(shè)備驅(qū)動(dòng)程序已經(jīng)加載到系統(tǒng)中了,用了哪些資源)以及Windows性能計(jì)數(shù)器,性能計(jì)數(shù)器不位于注冊表之中,可以通過注冊表函數(shù)來訪問 1侵入式 通過Windows的DebugActiveProcess,可以檢查或修改內(nèi)存,設(shè)斷點(diǎn),可以斷開調(diào)試連接2非侵入式 利用OpenProcess打開被調(diào)試進(jìn)程,使得你可以檢查和修改目標(biāo)進(jìn)程中的內(nèi)存,不能設(shè)置斷
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1