IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD IOCTL (pwm.h)
Imposta il periodo di segnale di output di un controller PWM (Pulse Width Modulation) su un valore suggerito.
Buffer di input
Puntatore a un buffer contenente uno struct PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . Il valore associato è il periodo di segnale di output richiesto, espresso insecondi, per il controller. Questo valore deve essere maggiore di zero (0). Deve trovarsi nell'intervallo di periodi supportato dal controller, che è compreso tra i valori MinimumPeriod e MaximumPeriod , inclusi, che è possibile ottenere usando IOCTL_PWM_CONTROLLER_GET_INFO.
Lunghezza del buffer di input
Dimensioni del buffer di input, in byte.
Buffer di output
Puntatore a un buffer contenente uno struct PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . Il valore associato è il periodo di segnale di output effettivo del controller PWM (Pulse Width Modulation). Può essere recuperato in un secondo momento usando IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD.
Lunghezza del buffer di output
Dimensioni in byte del buffer di output.
Commenti
Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.
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
Parametri | Descrizione |
---|---|
hDevice [in] | Handle per il dispositivo. Per ottenere un handle di dispositivo, chiamare la funzione CreateFile . |
dwIoControlCode [in] | Codice di controllo per l'operazione. Usare IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD per questa operazione. |
lpInBuffer | Puntatore a un buffer contenente uno struct PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . Il valore associato è il periodo di segnale di output richiesto, espresso insecondi, per il controller. Questo valore deve essere maggiore di zero (0). Deve trovarsi nell'intervallo di periodi supportato dal controller, che è compreso tra i valori MinimumPeriod e MaximumPeriod , inclusi, che è possibile ottenere usando IOCTL_PWM_CONTROLLER_GET_INFO. |
nInBufferSize [in] | Dimensioni del buffer di input, in byte. |
lpOutBuffer [out] | Puntatore a un buffer contenente uno struct PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT . Il valore associato è il periodo di segnale di output effettivo del controller PWM (Pulse Width Modulation). Può essere recuperato in un secondo momento usando IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD. |
nOutBufferSize [in] | Dimensioni in byte del buffer di output. |
lpBytesReturned [out] |
LPDWORD
Puntatore a una variabile che riceve le dimensioni dei dati archiviati nel buffer di output, in byte. Se il buffer di output è troppo piccolo, la chiamata ha esito negativo, GetLastError restituisce ERROR_INSUFFICIENT_BUFFER e lpBytesReturned è zero. Se lpOverlapped è NULL, lpBytesReturned non può essere NULL. Anche quando un'operazione non restituisce dati di output e lpOutBuffer è NULL, DeviceIoControl usa lpBytesReturned. Dopo un'operazione di questo tipo, il valore di lpBytesReturned è privo di significato. Se lpOverlapped non è NULL, lpBytesReturned può essere NULL. Se questo parametro non è NULL e l'operazione restituisce dati, lpBytesReturned non ha significato fino al completamento dell'operazione sovrapposta. Per recuperare il numero di byte restituiti, chiamare GetOverlappedResult. Se il parametro hDevice è associato a una porta di completamento I/O, è possibile recuperare il numero di byte restituiti chiamando GetQueuedCompletionStatus. |
lpOverlapped [in] |
LPOVERLAPPED
Puntatore a una struttura OVERLAPPED . Se hDevice è stato aperto senza specificare FILE_FLAG_OVERLAPPED, lpOverlapped viene ignorato. Se hDevice è stato aperto con il flag FILE_FLAG_OVERLAPPED , l'operazione viene eseguita come operazione sovrapposta (asincrona). In questo caso , lpOverlapped deve puntare a una struttura OVERLAPPED valida che contiene un handle a un oggetto evento. In caso contrario, la funzione ha esito negativo in modi imprevedibili. Per le operazioni sovrapposte, DeviceIoControl restituisce immediatamente e l'oggetto evento viene segnalato al termine dell'operazione. In caso contrario, la funzione non restituisce finché l'operazione non è stata completata o si verifica un errore. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 [solo app desktop] |
Server minimo supportato | Windows Server 2016 [solo app desktop] |
Intestazione | pwm.h (include Pwm.h) |