Partager via


PPARALLEL_WRITE fonction de rappel (parallel.h)

La routine de rappel de type PPARALLEL_WRITE écrit des données sur un appareil parallèle. Le pilote de bus fourni par le système pour les ports parallèles fournit cette routine.

Syntaxe

PPARALLEL_WRITE PparallelWrite;

NTSTATUS PparallelWrite(
  [in]  PVOID Context,
  [in]  PVOID Buffer,
  [in]  ULONG NumBytesToWrite,
  [out] PULONG NumBytesWritten,
  [in]  UCHAR Channel
)
{...}

Paramètres

[in] Context

Pointeur vers l’extension d’appareil de l’objet d’appareil physique (PDO) d’un appareil parallèle.

[in] Buffer

Pointeur vers une mémoire tampon d’écriture allouée par l’appelant.

[in] NumBytesToWrite

Spécifie le nombre d’octets à copier à partir de la mémoire tampon d’écriture vers l’appareil parallèle. Doit être inférieur ou égal au nombre d’octets dans la mémoire tampon d’écriture allouée par l’appelant.

[out] NumBytesWritten

Spécifie le nombre d’octets qui ont été réellement copiés à partir de la mémoire tampon d’écriture allouée à l’appelant vers l’appareil parallèle.

[in] Channel

Non utilisé.

Valeur retournée

Code de retour Description
STATUS_SUCCESS
Les données fournies par l’appelant ont été correctement transférées vers l’appareil.
STATUS_Xxx
Une opération interne a entraîné une erreur NTSTATUS.

Remarques

Pour obtenir un pointeur vers le rappel PPARALLEL_WRITE fourni par le système, un pilote en mode noyau utilise une requête IOCTL_INTERNAL_PARCLASS_CONNECT , qui retourne une structure PARCLASS_INFORMATION . Le membre ParallelWrite de la structure PARCLASS_INFORMATION est un pointeur vers ce rappel.

Un client ne peut utiliser cette routine que s’il a un verrou sur un port parallèle. Un client obtient un verrou sur un port parallèle à l’aide d’une demande de IOCTL_INTERNAL_LOCK_PORT .

Le rappel PPARALLEL_WRITE s’exécute dans le thread de l’appelant à l’IRQL de l’appelant.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête parallel.h (include Parallel.h)

Voir aussi

PPARALLEL_READ

IOCTL_INTERNAL_LOCK_PORT