IOCTL_PWM_CONTROLLER_GET_INFO IOCTL (pwm.h)
Recupera informazioni su un controller PWM (Pulse Width Modulation). Queste informazioni non cambiano dopo l'inizializzazione del controller.
Buffer di input
Non usato con questa operazione; impostare su NULL.
Lunghezza del buffer di input
Non usato con questa operazione; impostato su zero.
Buffer di output
Puntatore a un buffer che contiene uno struct PWM_CONTROLLER_INFO . Rappresenta le informazioni statiche che caratterizzano un controller PWM (Pulse Width Modulation).
Lunghezza del buffer di output
Le dimensioni del buffer di output devono essere esattamente uguali alle dimensioni dello struct PWM_CONTROLLER_INFO richiesto. Ogni versione PWM_CONTROLLER_INFO più recente ha una dimensione di byte maggiore di quella della versione precedente.
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_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
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_GET_ACTUAL_PERIOD per questa operazione. |
lpInBuffer | Non usato con questa operazione; impostare su NULL. |
nInBufferSize [in] | Non usato con questa operazione; impostato su zero. |
lpOutBuffer [out] | Puntatore a un buffer che contiene uno struct PWM_CONTROLLER_INFO . Rappresenta le informazioni statiche che caratterizzano un controller PWM (Pulse Width Modulation). |
nOutBufferSize [in] | Le dimensioni del buffer di output devono essere esattamente uguali alle dimensioni dello struct PWM_CONTROLLER_INFO richiesto. Ogni versione PWM_CONTROLLER_INFO più recente ha una dimensione di byte maggiore di quella della versione precedente. |
lpBytesReturned [out] |
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] |
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. |
Se la dimensione del buffer è inferiore alla dimensione della versione più bassa della struttura, la richiesta viene completata usando lo stato di completamento IOCTL di STATUS_BUFFER_TOO_SMALL. In caso contrario, il driver presuppone la versione della struttura più elevata che può essere inserita nel buffer di output fornito e completa correttamente la richiesta.
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) |