關於Non-PnP Driver Sample官方有一份詳細的README可供參考,這裡則是以Non-PnP Driver Sample來大致說明驅動程式的架構...
介紹 Windows Driver Framework是微軟於Vista開始,用來開發Windows驅動程式的一套框架與工具。與Windows Driver M...
我們先前有產生出讀取環控晶片的動態連結函庫,但是在Electron應用程式中並不能像Windows console application一樣直接引入使用。要在...
在成功執行測試程式後,我們接著介紹如何偵錯驅動程式。有許多方式可以偵錯驅動程式,我們會介紹其中兩種方式,WinDbg和WPP軟體追蹤。 WinDbg 在安裝WD...
昨天將使用React的Electron開發環境建置完成了,就可以開始動手撰寫Electron應用程式。第一步先修改Electron應用程式的UI,目前的UI還是...
今天要來將之前編寫的Electron應用程式實際執行,以及介紹如何打包Electron應用程式。 執行start腳本: pm start `` 這次...
完成了驅動程式及動態連結函庫後,接著就是應用程式的呈現,如Day01所提,會使用Electron作為基礎。今天會來介紹如何建置Electron應用程式的開發環境...
實際建置Electron的開發環境後,可以發現範例中的UI是採用靜態的HTML產生,所以我們可以藉由不同的前端框架(如React、Vue等等)來做為UI的開發工...
今天我們接著介紹另一種偵錯方式,WPP軟體追蹤。 WPP軟體追蹤 WPP 軟體追蹤類似於使用 Windows 事件記錄服務,驅動程式會在記錄檔中記錄相關資訊,而...
微軟有提供一系列的驅動程式範例,目前最新的驅動程式範例連結為microsoft/Windows-driver-samples,可直接下載或使用git clone...
昨天簡單介紹了node-ffi-npi的基本概念,今天要實際使用node-ffi-npi來呼叫我們動態連結函庫內的函式。 首先安裝node-ffi-npi:...
今天要來實際編譯並執行Non-PnP driver sample,編譯環境已經在Day03建置完成,可以直接用Visual Studio開啟解決方案檔ioctl...
動機 近來發現工作上用來讀取環控晶片的應用程式漸漸不堪使用,有時候要更改介面或是修改功能,都非常不容易。加上這隻應用程式所用到的驅動程式被列入微軟的易受攻擊的驅...
昨天簡單介紹如何存取環控晶片暫存器後,今天就把概念轉換為函式實作,一樣是暫時將函式實作在Non-Pnp驅動程式範例裡的測試程式。 testapp.c 讀寫...
能夠間隔讀取CPU風扇轉速後,我們的Electron應用程式基本的功能就完成了,但是UI的呈現略顯單調。由於我們是基於React來開發UI,所以可以使用既有的U...
昨天僅在文章後段介紹了呈現UI的HTML檔案index.html,要啟動Electron應用程式,還需要新增一些javascript檔案。 main.js...
介紹完如何編譯和使用偵錯工具後,就可以開始著手實現我們需要的功能。我們的目標是使用I/O去存取環控晶片,為了後續測試的方便,會暫時將函式實作在Non-Pnp驅動...
在Day13我們將讀取I/O的函式實作並測試成功,但是目前暫時依附在Non-PnP driver sample內,今天我們將要把這些函式獨立成另一隻驅動程式及動...
今天介紹Non-PnP dirver sample中用來安裝及測試驅動程式的windows console app,應用程式主體為testapp.c,相關函式定...
今天繼續以Non-PnP Driver Sample來介紹驅動程式的架構,昨天有提到由WDF所撰寫的驅動程式會有一個DriverEntry和一些對應特定事件發生...
在介紹讀取CPU風扇轉速相關的函式之前,需要了解讀取環控晶片Hardware Monitor暫存器的相關知識。 Hardware Monitor 環控晶片顧名思...
昨天成功在Electron應用程式使用動態連結函庫讀取CPU風扇轉速,但這個轉速數值只會在Electron應用程式UI載入後更新一次,之後就會維持同樣的轉速數值...
昨天完成驅動程式端的實作後,接著就可以進行測試程式端的函式實作,但在進行實作之前,需要先了解如何存取環控晶片的暫存器。 環控晶片暫存器 環控晶片的各種功能需要透...
完成驅動程式的實作後,就可以開始撰寫動態連結函庫(DLL)。由於我們的應用程式會需要讀取環控晶片的數值,這次會用讀取CPU風扇轉速作為範例,所以我們會新增有關讀...
在Day14介紹了如何建立專案以及設定相關專案屬性跟WPP軟體追蹤的宣告,今天我們接著介紹驅動程式主要標頭檔宣告和驅動程式主體。 SioAccess.h...
昨天介紹完讀取CPU風扇轉速的實作後,今天接著介紹安裝及移除驅動程式的函式。原則上大部分函式與流程跟Day07所介紹的相同,相同的部分就簡單帶過,這裡我們區分為...
昨天將動態連結函庫(DLL)編譯好之後,今天就來測試我們的動態連結函庫是否可用。要如何測試呢?今天會撰寫一個Windows Console Applicatio...
經過昨天的介紹,目前應該都對Hardware Monitor有初步的瞭解,今天要來介紹與讀取CPU風扇轉速相關的實作。 主要函式宣告如下: SioSdk.h...