DeviceIoControl是直接傳送控制代碼到指定的設備驅動程式,使相應的移動設備以執行相應的操作的函式。
基本介紹
- 外文名:DeviceIoControl
- 簡介:傳送控制代碼到指定設備驅動程式
- 參數表:參數類型及說明
- Long:非零表示成功,零表示失敗
Syntax,VB聲明,說明,註解,
Syntax
BOOL WINAPI DeviceIoControl(
_In_ HANDLE hDevice,
_In_ DWORD dwIoControlCode,
_In_opt_ LPVOID lpInBuffer,
_In_ DWORD nInBufferSize,
_Out_opt_ LPVOID lpOutBuffer,
_In_ DWORD nOutBufferSize,
_Out_opt_ LPDWORD lpBytesReturned,
_Inout_opt_ LPOVERLAPPED lpOverlapped);
VB聲明
Declare Function DeviceIoControl Lib "kernel32" Alias "DeviceIoControl" (ByVal hDevice As Long, ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesReturned As Long, lpOverlapped As OVERLAPPED) As Long
說明
對設備執行指定的操作
返回值
Long,非零表示成功,零表示失敗。會設定GetLastError
參數表
參數類型及說明
hDevice Long,設備句柄
dwIoControlCode Long,應用程式調用驅動程式的控制命令,就是IOCTL_XXX IOCTLs。
lpInBuffer Any,應用程式傳遞給驅動程式的數據緩衝區地址。
nInBufferSize Long,應用程式傳遞給驅動程式的數據緩衝區大小,位元組數。
lpOutBuffer Any,驅動程式返回給應用程式的數據緩衝區地址。
nOutBufferSize Long,驅動程式返回給應用程式的數據緩衝區大小,位元組數。
lpBytesReturned Long,驅動程式實際返回給應用程式的數據位元組數地址。
lpOverlapped OVERLAPPED,這個結構用於重疊操作。針對同步操作,請用ByVal As Long傳遞零值
註解
不僅可用於windows 95 和 windows nt,在window xp下也可以使用,但並非所有的操作都得到了幾種作業系統的同時支持
vc下的DeviceIoControl 函式定義
DeviceIoControl Function Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.