Compartir a través de


IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD IOCTL (pwm.h)

Establece el período de señal de salida de un controlador de modulación de ancho de pulso (PWM) en un valor sugerido.

Búfer de entrada

Puntero a un búfer que contiene una estructura de PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . El valor asociado es el período de señal de salida solicitado, en picosegundos, para el controlador. Este valor debe ser mayor que cero (0). Debe estar en el intervalo de períodos admitidos por el controlador, que está entre los valores MinimumPeriod y MaximumPeriod , ambos incluidos, que puede obtener mediante IOCTL_PWM_CONTROLLER_GET_INFO.

Longitud del búfer de entrada

Tamaño del búfer de entrada, en bytes.

Búfer de salida

Puntero a un búfer que contiene una estructura de PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . El valor asociado es el período de señal de salida efectivo del controlador de modulación de ancho de pulso (PWM). Más adelante se puede recuperar mediante IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD.

Longitud del búfer de salida

Tamaño del búfer de salida, en bytes.

Comentarios

Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.

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
Parámetros Descripción
hDevice [in] Identificador del dispositivo. Para obtener un identificador de dispositivo, llame a la función CreateFile .
dwIoControlCode [in] Código de control de la operación. Use IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD para esta operación.
lpInBuffer Puntero a un búfer que contiene una estructura de PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . El valor asociado es el período de señal de salida solicitado, en picosegundos, para el controlador. Este valor debe ser mayor que cero (0). Debe estar en el intervalo de períodos admitidos por el controlador, que está entre los valores MinimumPeriod y MaximumPeriod , ambos incluidos, que puede obtener mediante IOCTL_PWM_CONTROLLER_GET_INFO.
nInBufferSize [in] Tamaño del búfer de entrada, en bytes.
lpOutBuffer [out] Puntero a un búfer que contiene una estructura de PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . El valor asociado es el período de señal de salida efectivo del controlador de modulación de ancho de pulso (PWM). Más adelante se puede recuperar mediante IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD.
nOutBufferSize [in] Tamaño del búfer de salida, en bytes.
lpBytesReturned [out] LPDWORD

Puntero a una variable que recibe el tamaño de los datos almacenados en el búfer de salida, en bytes.

Si el búfer de salida es demasiado pequeño, se produce un error en la llamada, GetLastError devuelve ERROR_INSUFFICIENT_BUFFER y lpBytesReturned es cero.

Si lpOverlapped es NULL, lpBytesReturned no puede ser NULL. Incluso cuando una operación no devuelve datos de salida y lpOutBuffer es NULL, DeviceIoControl usa lpBytesReturned. Después de esta operación, el valor de lpBytesReturned no tiene sentido.

Si lpOverlapped no es NULL, lpBytesReturned puede ser NULL. Si este parámetro no es NULL y la operación devuelve datos, lpBytesReturned no tiene sentido hasta que se haya completado la operación superpuesta. Para recuperar el número de bytes devueltos, llame a GetOverlappedResult. Si el parámetro hDevice está asociado a un puerto de finalización de E/S, puede recuperar el número de bytes devueltos llamando a GetQueuedCompletionStatus.

lpOverlapped [in] LPOVERLAPPED

Puntero a una estructura OVERLAPPED.

Si hDevice se abrió sin especificar FILE_FLAG_OVERLAPPED, se omite lpOverlapped.

Si hDevice se abrió con la marca FILE_FLAG_OVERLAPPED, la operación se realiza como una operación superpuesta (asincrónica). En este caso, lpOverlapped debe apuntar a una estructura SUPERPUESTA válida que contenga un identificador para un objeto de evento. De lo contrario, se producirá un error en la función de formas impredecibles.

En el caso de las operaciones superpuestas, se devuelve inmediatamente DeviceIoControl y se señala el objeto de evento cuando se ha completado la operación. De lo contrario, la función no se devuelve hasta que se haya completado la operación o hasta que se produzca un error.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Encabezado pwm.h (include Pwm.h)

Consulte también

DeviceIoControl