IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD IOCTL (pwm.h)
將 Pulse Width Controller (PWM) 控制器的輸出訊號週期設定為建議的值。
輸入緩衝區
緩衝區的指標,其中包含 PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT 結構。 相關聯的值是控制器所要求的輸出訊號期間,以picoseconds表示。 此值必須大於零 (0) 。 它必須位於控制器支援的期間範圍內,這是 MinimumPeriod 和 MaximumPeriod 值之間的範圍,包括,您可以使用 IOCTL_PWM_CONTROLLER_GET_INFO取得此值。
輸入緩衝區長度
輸入緩衝區的大小,以位元組為單位。
輸出緩衝區
緩衝區的指標,其中包含 PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT 結構。 相關聯的值是 PulseWidth (PWM) 控制器的有效輸出訊號週期。 稍後可以使用 IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD 來擷取它。
輸出緩衝區長度
輸出緩衝區的大小 (以位元組為單位)。
備註
若要執行這項作業,請使用下列參數呼叫 DeviceIoControl 函式。
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to device (DWORD) IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD, // dwIoControlCode(LPDWORD) lpInBuffer, // input buffer (DWORD) nInBufferSize, // 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_SET_DESIRED_PERIOD 。 |
lpInBuffer | 緩衝區的指標,其中包含 PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT 結構。 相關聯的值是控制器所要求的輸出訊號期間,以picoseconds表示。 此值必須大於零 (0) 。 它必須位於控制器支援的期間範圍內,這是 MinimumPeriod 和 MaximumPeriod 值之間的範圍,包括,您可以使用 IOCTL_PWM_CONTROLLER_GET_INFO取得此值。 |
nInBufferSize [in] | 輸入緩衝區的大小,以位元組為單位。 |
lpOutBuffer [out] | 緩衝區的指標,其中包含 PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT 結構。 相關聯的值是 PulseWidth (PWM) 控制器的有效輸出訊號週期。 稍後可以使用 IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD 來擷取它。 |
nOutBufferSize [in] | 輸出緩衝區的大小 (以位元組為單位)。 |
lpBytesReturned [out] |
LPDWORD
變數的指標,接收儲存在輸出緩衝區中的數據大小,以位元組為單位。 如果輸出緩衝區太小,呼叫會失敗, GetLastError 會傳回 ERROR_INSUFFICIENT_BUFFER, 而 lpBytesReturned 為零。 如果 lpOverlapped 為 NULL, 則 lpBytesReturned 不能是 NULL。 即使作業未傳回任何輸出數據且 lpOutBuffer 為 NULL,DeviceIoControl 仍會使用 lpBytesReturned。 在這類作業之後, lpBytesReturned 的值就沒有意義。 如果 lpOverlapped 不是 NULL,lpBytesReturned 可以是 NULL。 如果此參數不是 NULL ,而且作業會傳回數據, 則 lpBytesReturned 在重疊的作業完成之前是無意義的。 若要擷取傳回的位元元組數目,請呼叫 GetOverlappedResult。 如果 hDevice 參數與 I/O 完成埠相關聯,您可以呼叫 GetQueuedCompletionStatus 來擷取傳回的位元組數目。 |
lpOverlapped [in] |
LPOVERLAPPED
重疊結構的指標。 如果 已開啟 hDevice 而不指定 FILE_FLAG_OVERLAPPED,則會忽略 lpOverlapped 。 如果使用 FILE_FLAG_OVERLAPPED 旗標開啟 hDevice ,則會以重疊的 ( 異步) 作業來執行作業。 在此情況下, lpOverlapped 必須指向包含事件物件句柄的有效 OVERLAPPED 結構。 否則,函式會以無法預測的方式失敗。 對於重疊的作業, DeviceIoControl 會立即傳回,而且當作業完成時,事件對象會發出訊號。 否則,在作業完成或發生錯誤之前,函式不會傳回 。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
標頭 | pwm.h (包含 Pwm.h) |