IOCTL_PWM_PIN_STOP IOCTL (pwm.h)

Arresta la generazione del segnale PWM (Pulse Width Modulation) su un pin o un canale. Per verificare se è stato avviato un pin, usare IOCTL_PWM_PIN_IS_STARTED.

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

Non usato con questa operazione; impostare su NULL.

Lunghezza del buffer di output

Non usato con questa operazione; impostato su zero.

Commenti

Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.

BOOL 
   WINAPI 
   DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                    (DWORD)        IOCTL_PWM_PIN_STOP, // dwIoControlCode(LPDWORD)      NULL,      // input buffer
                    (DWORD)        0,   // size of input buffer
                    (LPDWORD)      NULL,      // output buffer
                    (DWORD)        0,  // 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_PIN_STOP per questa operazione.
lpInBuffer Non usato con questa operazione; impostare su NULL.
nInBufferSize [in] Non usato con questa operazione; impostato su zero
lpOutBuffer [out] Non usato con questa operazione; impostare su NULL.
nOutBufferSize [in] Non usato con questa operazione; impostato su zero.
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.

 

L'emissione di questo IOCTL su un pin o un canale già arrestato non ha alcun effetto, ma ha esito positivo.

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)

Vedi anche

Deviceiocontrol