Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La routine di callback tipizzata PPARALLEL_WRITE scrive i dati in un dispositivo parallelo. Il driver del bus fornito dal sistema per le porte parallele fornisce questa routine.
Sintassi
PPARALLEL_WRITE PparallelWrite;
NTSTATUS PparallelWrite(
[in] PVOID Context,
[in] PVOID Buffer,
[in] ULONG NumBytesToWrite,
[out] PULONG NumBytesWritten,
[in] UCHAR Channel
)
{...}
Parametri
[in] Context
Puntatore all'estensione del dispositivo dell'oggetto dispositivo fisico di un dispositivo parallelo (PDO).
[in] Buffer
Puntatore a un buffer di scrittura allocato dal chiamante.
[in] NumBytesToWrite
Specifica il numero di byte da copiare dal buffer di scrittura al dispositivo parallelo. Deve essere minore o uguale al numero di byte nel buffer di scrittura allocato dal chiamante.
[out] NumBytesWritten
Specifica il numero di byte effettivamente copiati dal buffer di scrittura allocato dal chiamante al dispositivo parallelo.
[in] Channel
Non utilizzato.
Valore restituito
| Codice restituito | Descrizione |
|---|---|
|
I dati forniti dal chiamante sono stati trasferiti correttamente al dispositivo. |
|
Un'operazione interna ha generato un errore NTSTATUS. |
Osservazioni
Per ottenere un puntatore al callback PPARALLEL_WRITE fornito dal sistema, un driver in modalità kernel usa una richiesta di IOCTL_INTERNAL_PARCLASS_CONNECT, che restituisce una struttura PARCLASS_INFORMATION. Il membro ParallelWrite della struttura PARCLASS_INFORMATION è un puntatore a questo callback.
Un client può usare questa routine solo se ha un blocco su una porta parallela. Un client ottiene un blocco su una porta parallela usando una richiesta di IOCTL_INTERNAL_LOCK_PORT.
Il callback PPARALLEL_WRITE viene eseguito nel thread del chiamante in IRQL del chiamante.
Fabbisogno
| Requisito | Valore |
|---|---|
| piattaforma di destinazione | Desktop |
| intestazione | parallel.h (include Parallel.h) |