扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

deviceiocontrol鍑芥暟鎬庝箞璋冪敤

扬州沐宇科技
2023-07-08 11:44:55
deviceiocontrol

DeviceIoControl鍑芥暟鐨勮皟鐢ㄦ柟寮忓涓嬶細

  1. 棣栧厛锛岄渶瑕佹墦寮€璁惧鎴栨枃浠讹紝鑾峰彇鍏跺彞鏌勶紙handle锛夈€傚彲浠ヤ娇鐢–reateFile鍑芥暟鏉ユ墦寮€璁惧鎴栨枃浠讹紝鑾峰彇鍙ユ焺銆?/li>
HANDLE hDevice = CreateFile(
L"\\\\.\\DeviceName",  // 璁惧鍚嶆垨鏂囦欢鍚?/span>
GENERIC_READ | GENERIC_WRITE,  // 璁块棶鏉冮檺
FILE_SHARE_READ | FILE_SHARE_WRITE,  // 鍏变韩妯″紡
NULL,  // 瀹夊叏灞炴€?/span>
OPEN_EXISTING,  // 鎵撳紑鏂瑰紡
FILE_ATTRIBUTE_NORMAL,  // 鏂囦欢灞炴€?/span>
NULL  // 妯℃澘鍙ユ焺
);
  1. 鍑嗗杈撳叆鍜岃緭鍑虹殑缂撳啿鍖猴紝浠ュ強鍏朵粬鍙傛暟銆?/li>
DWORD dwBytesReturned;  // 鐢ㄤ簬鎺ユ敹杩斿洖鐨勫瓧鑺傛暟
BYTE* lpInBuffer = NULL;  // 杈撳叆缂撳啿鍖?/span>
DWORD nInBufferSize = 0;  // 杈撳叆缂撳啿鍖哄ぇ灏?/span>
BYTE* lpOutBuffer = NULL;  // 杈撳嚭缂撳啿鍖?/span>
DWORD nOutBufferSize = 0;  // 杈撳嚭缂撳啿鍖哄ぇ灏?/span>
  1. 璋冪敤DeviceIoControl鍑芥暟鎵цIO鎺у埗鎿嶄綔銆?/li>
BOOL bResult = DeviceIoControl(
hDevice,  // 璁惧鍙ユ焺
dwIoControlCode,  // 鎺у埗鐮?/span>
lpInBuffer,  // 杈撳叆缂撳啿鍖?/span>
nInBufferSize,  // 杈撳叆缂撳啿鍖哄ぇ灏?/span>
lpOutBuffer,  // 杈撳嚭缂撳啿鍖?/span>
nOutBufferSize,  // 杈撳嚭缂撳啿鍖哄ぇ灏?/span>
&dwBytesReturned,  // 瀹為檯杩斿洖鐨勫瓧鑺傛暟
NULL  // 閲嶅彔鎿嶄綔
);
  1. 鏍规嵁杩斿洖鍊煎垽鏂搷浣滄槸鍚︽垚鍔熴€?/li>
if (bResult)
{
// 鎿嶄綔鎴愬姛
}
else
{
// 鎿嶄綔澶辫触锛屽彲浠ヤ娇鐢℅etLastError鍑芥暟鑾峰彇閿欒鐮?/span>
DWORD dwError = GetLastError();
}
  1. 鏈€鍚庯紝鍏抽棴璁惧鎴栨枃浠剁殑鍙ユ焺銆?/li>
CloseHandle(hDevice);

璇锋敞鎰忥紝浠ヤ笂浠g爜浠呬负绀轰緥锛屽疄闄呬娇鐢ㄦ椂闇€瑕佹牴鎹叿浣撶殑璁惧鎴栨枃浠惰繘琛岃皟鏁淬€?/p>

扫码添加客服微信