IOCTL_PWM_CONTROLLER_GET_INFO IOCTL (pwm.h)
Recupera informações sobre um controlador PWM (Pulse Width Modulation). Essas informações não são alteradas depois que o controlador é inicializado.
Buffer de entrada
Não é usado com esta operação, defina como NULL.
Comprimento do buffer de entrada
Não usado com esta operação; definido como zero.
Buffer de saída
Um ponteiro para um buffer que contém um struct PWM_CONTROLLER_INFO . Isso representa as informações estáticas que caracterizam um controlador PWM (Pulse Width Modulation).
Comprimento do buffer de saída
O tamanho do buffer de saída deve ser exatamente igual ao tamanho do struct PWM_CONTROLLER_INFO solicitado. Cada versão de PWM_CONTROLLER_INFO mais recente tem um tamanho de byte maior que o da versão anterior.
Comentários
Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.
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
Parâmetros | Descrição |
---|---|
hDevice [in] | Um identificador para o dispositivo. Para obter um identificador de dispositivo, chame a função CreateFile . |
dwIoControlCode [in] | O código de controle da operação. Use IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD para esta operação. |
lpInBuffer | Não é usado com esta operação, defina como NULL. |
nInBufferSize [in] | Não usado com esta operação; definido como zero. |
lpOutBuffer [out] | Um ponteiro para um buffer que contém um struct PWM_CONTROLLER_INFO . Isso representa as informações estáticas que caracterizam um controlador PWM (Pulse Width Modulation). |
nOutBufferSize [in] | O tamanho do buffer de saída deve ser exatamente igual ao tamanho do struct PWM_CONTROLLER_INFO solicitado. Cada versão de PWM_CONTROLLER_INFO mais recente tem um tamanho de byte maior que o da versão anterior. |
lpBytesReturned [out] |
Um ponteiro para uma variável que recebe o tamanho dos dados armazenados no buffer de saída, em bytes.
Se o buffer de saída for muito pequeno, a chamada falhará, GetLastError retornará ERROR_INSUFFICIENT_BUFFER e lpBytesReturned será zero. Se lpOverlapped for NULL, lpBytesReturned não poderá ser NULL. Mesmo quando uma operação não retorna dados de saída e lpOutBuffer for NULL, DeviceIoControl usará lpBytesReturned. Após essa operação, o valor de lpBytesReturned não terá sentido. Se lpOverlapped não for NULL, lpBytesReturned poderá ser NULL. Se esse parâmetro não for NULL e a operação retornar dados, lpBytesReturned não terá sentido até que a operação sobreposta seja concluída. Para recuperar o número de bytes retornados, chame GetOverlappedResult. Se o parâmetro hDevice estiver associado a uma porta de conclusão de E/S, você poderá recuperar o número de bytes retornados chamando GetQueuedCompletionStatus. |
lpOverlapped [in] |
Um ponteiro para uma estrutura OVERLAPPED.
Se hDevice tiver sido aberto sem especificar FILE_FLAG_OVERLAPPED, lpOverlapped será ignorado. Se hDevice tiver sido aberto com o sinalizador FILE_FLAG_OVERLAPPED, a operação será executada como uma operação sobreposta (assíncrona). Nesse caso, lpOverlapped deve apontar para uma estrutura OVERLAPPED válida que contenha um identificador para um objeto de evento. Caso contrário, a função falhará de maneiras imprevisíveis. Em operações sobrepostas, DeviceIoControl retorna imediatamente e o objeto do evento é sinalizado quando a operação é concluída. Caso contrário, a função não será retornada até que a operação seja concluída ou ocorra um erro. |
Se o tamanho do buffer for menor que o tamanho da versão de estrutura mais baixa, a solicitação será concluída usando uma status de conclusão ioctl de STATUS_BUFFER_TOO_SMALL. Caso contrário, o driver pressupõe a versão de estrutura mais alta que pode caber no buffer de saída fornecido e conclui a solicitação com êxito.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2016 [somente aplicativos da área de trabalho] |
Cabeçalho | pwm.h (inclua Pwm.h) |