VC硬碟讀寫功能封裝

2021-07-01 20:07:14 字數 873 閱讀 2084

硬碟讀寫功能主要運用在三個方面,分別是mbr操作,資料恢復以及繞過windows安全機制。以下是私藏多年的硬碟讀寫功能封裝的**。為了效率起見,讀寫最好一次性讀/寫512位元組,也就是一磁軌為佳。

#include #include const wchar_t wdisk[22] = l"\\\\.\\physicaldrive0";

const wchar_t wdrev[10] = l"\\\\.\\a:";

//讀盤

bool winapi disk_readsectors(int idisk, dword dwstart, dword dwstarthigh, dword dwoffsetsectors, dword dwsize, lpbyte lpreadbuff)

//寫盤

bool winapi disk_writesectors(int idisk, dword dwstart, dword dwstarthigh, dword dwoffsetsectors, dword dwsize, lpbyte lpwritebuff)

//讀驅動器

bool winapi drev_readsectors(wchar_t wdrev, dword dwstart, dword dwstarthigh, dword dwoffsetsectors, dword dwsize, lpbyte lpreadbuff)

//寫驅動器

bool winapi drev_writesectors(wchar_t wdrev, dword dwstart, dword dwstarthigh, dword dwoffsetsectors, dword dwsize, lpbyte lpwritebuff)

硬碟燈讀寫

對硬碟寫操作執行硬碟燈測試 起初方法是在一段時間內高頻率的進行fwrite操作,現象是硬碟燈高頻閃爍,但是亮度很暗 關於fwrite函式 fwrite是帶緩衝的,write不帶緩衝。如果檔案的大小是8k。若用write,且只分配了2k的快取,則要將此檔案讀入需要做4次系統呼叫。若用fwrite,則系...

Linux硬碟讀寫測試

linux伺服器想要知道硬碟的讀寫是否能滿足服務的需要,我們可以使用linux自帶的dd命令測試硬碟的讀寫速度,方法如下 登入ssh,輸入以下命令即可,根據測試資料的大小等待返回的時間不同 linux硬碟寫入速度 time dd if dev zero of var test bs 2k count...

VC讀寫INI檔案

在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入ini檔案中,程式初始化時再讀入.具體應用如下 一.將資訊寫入.ini檔案中.1.所用的winapi函式原型為 其中各引數的意義 lpctstr lpstring 是鍵值,也就是變數的值,不過必須為l...