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 为零。 如果 lpOverlapped 为 NULL,则 lpBytesReturned 不能为 NULL。 即使操作不返回输出数据且 lpOutBuffer 为 NULL,DeviceIoControl 也会使用 lpBytesReturned。 执行此类操作后,lpBytesReturned 的值毫无意义。 如果 lpOverlapped 不为 NULL,则 lpBytesReturned 可以为 NULL。 如果此参数不为 NULL 且操作返回数据,则 lpBytesReturned 在重叠操作完成之前毫无意义。 若要检索返回的字节数,请调用 GetOverlappedResult。 如果 hDevice 参数与 I/O 完成端口相关联,可以通过调用 GetQueuedCompletionStatus 检索返回的字节数。 |
lpOverlapped [in] |
指向 OVERLAPPED 结构的指针。
如果在未指定 FILE_FLAG_OVERLAPPED 的情况下打开 hDevice,则忽略 lpOverlapped。 如果使用 FILE_FLAG_OVERLAPPED 标志打开 hDevice,则此操作将作为重叠(异步)操作执行。 在这种情况下,lpOverlapped 必须指向包含事件对象句柄的有效 OVERLAPPED 结构。 否则,函数会以不可预知的方式失败。 对于重叠操作,DeviceIoControl 会立即返回,并在操作完成时向事件对象发出信号。 否则,在操作完成或发生错误之前,函数不会返回。 |
如果缓冲区大小小于最低结构版本的大小,则使用 IOCTL 完成状态STATUS_BUFFER_TOO_SMALL来完成请求。 否则,驱动程序会假定可以放入提供的输出缓冲区的最高结构版本,并成功完成请求。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
标头 | pwm.h (包括 Pwm.h) |