Partager via


PPARALLEL_WRITE fonction de rappel (parallel.h)

La routine de rappel typée 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 de l’appareil parallèle de l’objet d’appareil physique d’un appareil parallèle (PDO).

[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 sur 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 par l’appelant sur l’appareil parallèle.

[in] Channel

Non utilisé.

Valeur de retour

Retourner le code Description
STATUS_SUCCESS
Les données fournies par l’appelant ont été transférées avec succès sur 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 dispose d’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 au niveau du runtime d’intégration de l’appelant.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête parallel.h (include Parallel.h)

Voir aussi

PPARALLEL_READ

IOCTL_INTERNAL_LOCK_PORT