Time of Update: 2018-12-03
近來接觸了一下Windows CE下的多媒體編程,自然而然的碰到了Direct Show技術。由此與CSDN群友做了一番討論。群友告訴我,需要先安裝一個DS的SDK,於是去微軟的官網搜尋了一番,未果。迅雷中找到了需要的東西。
Time of Update: 2018-12-03
由於良好的效能、低廉的價格和靈活方便的特性,USB 網路攝影機正被廣泛的整合到嵌入式系統中。例如,通過USB 網路攝影機WinCE系統可以很方便地得到即時映像,這對某些要求即時圖象監控的嵌入式系統是一個很不錯的選擇。但是由於嵌入式硬體平台的多樣性,以及WinCE對USB裝置驅動開發只提供了底層支援,再加上許多網路攝影機廠商尚未提供WinCE下的USB網路攝影機驅動,這對初級開發人員在開發WinCE USB網路攝影機程式時是一個痛點。
Time of Update: 2018-12-03
在STL實際應用過程當中,vector、list、map和set等都是常見的,理解和認識它們,是真正使用他們的基本。 vector 1:數組 int ar[10] = { 12, 45, 234, 64, 12, 35, 63, 23, 12, 55 }; vector <int> vec1(ar, ar+10); char* str = "Hello World";
Time of Update: 2018-12-03
我很慶幸在公司的產品開發過程中並沒有受到Boot Loader帶來的阻力,因為我們採用MSDOS+Loadcepc來啟動CE作業系統。顯然這樣的幸運不是永遠的,所以對Boot Loader應該有足夠的研究和瞭解,做到未雨綢繆。 Boot Loader是定製Windows CE作業系統過程中一個重要的開發環節。Boot Loader的作用正如名字中的兩個單詞:Boot,既引導系統,如果基於CE的產品採用BIOS實現硬體初始化和配置,那麼Boot
Time of Update: 2018-12-03
今天看書的時候看到了這兩個函數,開始還沒在意,以為是同一個,功能應該一樣。後來想想一樣的幹嘛還弄兩個呢,於是就查了一下,發現這兩個函數差別還蠻大的。首先來看這兩個函數的原型:view plaincopy to clipboardprint?NTSTATUS IoCallDriver( IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp ); NTSTATUS PoCallDriver(
Time of Update: 2018-12-03
該程式可以用於兩個人在LAN/Intranet(或者Internet)上進行視頻會議。現在有許多視頻會議程式,每個都有各自的效能提升技術。主要的問題是視頻會議視訊框架的尺寸對於傳輸來說太大。因此,效能依賴於對幀的編解碼。我使用快速h263編碼庫來達到更好的壓縮率提高速度。該程式做些小改動也可以在Internet上使用。音訊錄製與播放我在以前的語音會議程式中使用了RecordSound和PlaySound類,這裡我將提供摘要說明RecordSound和PlaySound類的使用。//
Time of Update: 2018-12-03
近來學習 Windows 核心方面的東西,覺得對 I/O 處理過程沒有一個總體的概念。於是,就花了很長的時間搜集了很多這方面的知識總結了一下。 在 Windows 核心中的請求基本上是通過 I/O Request Packet 完成的。前面說過,裝置對象是唯一可以接受請求的實體。下面,我就來詳細地說下 IRP 請求是怎麼樣一步一步完成的。 首先,我們就需要知道 IRP 是怎麼產生。 IRP 是由 I/O 管理器發出的, I/O
Time of Update: 2018-12-03
習慣了VC6的簡潔介面和明朗的字型,看著高版本的VS不怎麼舒服。我之前用的是整合SP6補丁的中文版VC6,在編譯的時候經常出現假死linking.....,一直就這樣link下去,無奈只有結束進程。網上的所謂vc整合sp6中文版本,其實只是漢化的版本,微軟官方並沒有出VC6的中文版本。由於沒有測試完全,留下了bug,導致非常容易link卡死,由於這些版本自稱整合了sp6,這造成了假象迷惑了非常多的vc學習者。解決vc6卡死的辦法就是打上官方的原版VC6sp6補丁|VS6sp6補丁。如下:英文版地
Time of Update: 2018-12-03
今日在處理Windows CE5.0下的s3c2440a網路攝影機相關程式,在網上找了很多資料,但是未免不全,經過這些天的總結,在驅動和應用程式處理的工程當中需要注意一下幾個問題,在此列出,便於讀者參考。 1、在Windows
Time of Update: 2018-12-03
在驅動程式中,經常會調用其他的驅動程式;其中,手動構造 IRP ,然後將 IRP 傳遞到相應驅動程式的派遣函數中是一種比較簡單的方法,下面就來介紹下手動建立 IRP 的幾種不同的方法及其特點。 建立 IRP 總共有 4 種方法。分別通過調用: IoBuildSynchronousFsdRequest 、 IoBuildAsynchronousFsdRequest 、 IoBuildDeviceIoControl 和 IoAllocateIrp 這 4 個核心功能來完成。這其中,
Time of Update: 2018-12-03
C++的優先順序 優先順序 操作符 結合性 01: :: 左 02: . -> [] () 左 03: ++ -- ~ ! - + & * () sizeof new delete castname_cast<type> 單目操作符 右 04: .* ->* 左 05: * / % 左 06: + - 左 07: << >> 左 08: <
Time of Update: 2018-12-03
What is an Embedded System?Most people don't realise that the most common form of computer in use today is by far the embedded computer. In fact, 98% of computing devices are embedded in all kinds of electronic equipment and machines. Computers are
Time of Update: 2018-12-03
PCI裝置驅動開發1. PCI 簡介 PCI 匯流排標準是一種將系統外部裝置串連起來的匯流排標準,是 PC 中最重要的匯流排,實際上是系統的各個部分如何互動的介面。傳輸速率可達到 133MB/s。在當前的 PC 體繫結構中,幾乎所有的外部裝置採用的各種各樣的介面匯流排,均是通過橋接電路掛接到 PCI 系統上。在這種 PCI 系統中, Host/PCI 橋稱為北橋,串連主處理器匯流排到基礎 PCI 局部匯流排。 PCI 與其他匯流排的介面稱為南橋,其中南橋還通常含有中斷控制器、IDE
Time of Update: 2018-12-03
最近在學習Windows核心編程,同時也接觸到了一些驅動的概念,其中有一些概念讓人比較容易混淆,所以就寫了這篇文章發表一下自己的看法: 首先,談談驅動對象(DRIVER_OBJECT),可以說驅動對象代表的是一個驅動程式(或者叫核心模組)。在寫核心程式時,必須要填寫這樣一種結構,來告訴Windows程式提供的功能。核心程式並不產生進程,它們有系統的System進程載入,可以存在於任何的進程。
Time of Update: 2018-12-03
USB裝置的Bulk模式驅動程式設計 引言 通用序列匯流排(USB)是一種串列介面,具有自動設定能力和良好的相容性,從而簡化了電腦與外設的串連,被電腦外設硬體製造商廣泛採納。USB匯流排標準由1.1版升級到2.0版後,傳輸率由12Mbps增加到了480Mbps,更適宜於高速資料轉送。USB裝置支援印表機、掃描器、數位相機等外設時,由於這些外設與主機間傳輸的資料量大,要求驅動程式採用Bulk模式進行高速資料轉送。 USB裝置驅動的整體結構 USB裝置驅動的整體結構包括如下五個主要部分:
Time of Update: 2018-12-03
RtlAdjustPrivilege() 這玩意是在 NTDLL.DLL 裡的一個不為人知的函數,MS沒有公開,原因就是這玩意實在是太NB了,以至於不需要任何其他函數的協助,僅憑這一個函數就可以獲得進程ACL的任意許可權!先來看看這個函數的定義(Winehq給出):NTSTATUS RtlAdjustPrivilege(ULONG Privilege,BOOLEAN Enable,BOOLEAN CurrentThread,PBOOLEAN Enabled)參數的含義:Privilege
Time of Update: 2018-12-03
在偵錯工具的時候發現,用PostMessage 傳出去的值在我使用的時候已經發生了變化,百思不得其解。用迴圈去找一個檔案,找到的檔案名稱暫存在一個臨時變數裡面,找到之後把這個名稱傳到另外的函數處理,調試發現,處理的總是在我需要的檔案後面找到的檔案,原因是在我使用的時候那個暫存變數裡面的值已經發生了變化(迴圈已經處理到了下一步了), PostMessage
Time of Update: 2018-12-03
CreateRemoteThread和WriteProcessMemory技術樣本程式:WinSpy另一種注入代碼到其他進程地址空間的方法是使用WriteProcessMemory API。這次你不用編寫一個獨立的DLL而是直接複製你的代碼到遠程進程(WriteProcessMemory)並用CreateRemoteThread執行之。讓我們看一下CreateRemoteThread的聲明: HANDLE CreateRemoteThread( HANDLE hProcess,
Time of Update: 2018-12-03
GetWindowRect是取得視窗在螢幕座標系下的RECT座標(包括客戶區和非客戶區),這樣可以得到視窗的大小和相對螢幕左上方(0,0)的位置。 GetClientRect取得視窗客戶區(不包括非客戶區)在客戶區座標系下的RECT座標,可以得到視窗的大小,而不能得到相對螢幕的位置,因為這個矩陣是在客戶區座標系下(相對於視窗客戶區的左上方)的。 ClientToScreen把客戶區座標系下的RECT座標轉換為螢幕座標系下的RECT座標.
Time of Update: 2018-12-03
Generic P2P Architecture, Tutorial and ExampleBy dzzxyz | 15 Mar 2004 Generic P2P architecture, tutorial and example that covers basic P2P strategy. Upon completing this tutorial, you will be proficient in basic P2P design and coding.Is your email