IOCTL_PWM_CONTROLLER_GET_INFO IOCTL (pwm.h)

擷取 PWM) 控制器 (脈衝寬度調節器的相關信息。 初始化控制器之後,這項資訊不會變更。

輸入緩衝區

未與這項作業搭配使用;設定為 NULL。

輸入緩衝區長度

未與這項作業搭配使用;設定為零。

輸出緩衝區

緩衝區的指標,其中包含 PWM_CONTROLLER_INFO 結構。 這代表靜態資訊,其描述脈衝寬度調節 (PWM) 控制器。

輸出緩衝區長度

輸出緩衝區的大小必須完全符合要求 PWM_CONTROLLER_INFO 結構的大小。 每個較新的PWM_CONTROLLER_INFO版本都有大於舊版的位元元組大小。

備註

若要執行這項作業,請使用下列參數呼叫 DeviceIoControl 函 式。

BOOL 
   WINAPI 
   DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                    (DWORD)        IOCTL_PWM_CONTROLLER_GET_INFO, // dwIoControlCode(LPDWORD)      NULL,      // input buffer
                    (DWORD)        0,   // size of input buffer
                    (LPDWORD)      lpOutBuffer,     // output buffer
                    (DWORD)        nOutBufferSize,  // size of output buffer
                    (LPDWORD)      lpBytesReturned, // number of bytes returned
                    (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure
參數 描述
hDevice [in] 裝置的句柄。 若要取得裝置句柄,請呼叫 CreateFile 函式。
dwIoControlCode [in] 作業的控制程序代碼。 針對此作業使用 IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD
lpInBuffer 未與這項作業搭配使用;設定為 NULL。
nInBufferSize [in] 未與這項作業搭配使用;設定為零。
lpOutBuffer [out] 緩衝區的指標,其中包含 PWM_CONTROLLER_INFO 結構。 這代表靜態資訊,其描述脈衝寬度調節 (PWM) 控制器。
nOutBufferSize [in] 輸出緩衝區的大小必須完全符合要求 PWM_CONTROLLER_INFO 結構的大小。 每個較新的PWM_CONTROLLER_INFO版本都有大於舊版的位元元組大小。
lpBytesReturned [out] 變數的指標,接收儲存在輸出緩衝區中的數據大小,以位元組為單位。

如果輸出緩衝區太小,呼叫就會失敗, GetLastError 會傳回 ERROR_INSUFFICIENT_BUFFER,而 lpBytesReturned 為零。

如果 lpOverlappedNULL則 lpBytesReturned 不能是 NULL。 即使作業未傳回任何輸出數據且 lpOutBufferNULL,DeviceIoControl 仍會使用 lpBytesReturned 在這類作業之後, lpBytesReturned 的值是無意義的。

如果 lpOverlapped 不是 NULL則 lpBytesReturned 可以是 NULL。 如果此參數不是 NULL ,而且作業會傳回數據, 則 lpBytesReturned 在重疊的作業完成之前是無意義的。 若要擷取傳回的位元元組數目,請呼叫 GetOverlappedResult。 如果 hDevice 參數與 I/O 完成埠相關聯,您可以呼叫 GetQueuedCompletionStatus 來擷取傳回的位元組數目。

lpOverlapped [in] 重疊結構的指標。

如果 開啟 hDevice 而不指定 FILE_FLAG_OVERLAPPED,則會忽略 lpOverlapped

如果 hDevice 是以 FILE_FLAG_OVERLAPPED 旗標開啟,則會以重疊的 (異步) 作業來執行。 在此情況下, lpOverlapped 必須指向包含事件物件句柄的有效 OVERLAPPED 結構。 否則,函式會以無法預期的方式失敗。

針對重疊的作業, DeviceIoControl 會立即傳回,而且當作業完成時會發出事件對象的訊號。 否則,函式不會在作業完成或發生錯誤之前傳回。

 

如果緩衝區大小小於最低結構版本的大小,則會使用STATUS_BUFFER_TOO_SMALL的 IOCTL 完成狀態來完成要求。 否則,驅動程式會假設符合所提供輸出緩衝區的最高結構版本,並順利完成要求。

規格需求

需求
最低支援的用戶端 Windows 10 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
標頭 pwm.h (包含 Pwm.h)

另請參閱

DeviceIoControl