функция обратного вызова PPARALLEL_WRITE (parallel.h)
Подпрограмма обратного вызова PPARALLEL_WRITE типа записывает данные на параллельное устройство. Эта процедура предоставляется системным драйвером шины для параллельных портов.
Синтаксис
PPARALLEL_WRITE PparallelWrite;
NTSTATUS PparallelWrite(
[in] PVOID Context,
[in] PVOID Buffer,
[in] ULONG NumBytesToWrite,
[out] PULONG NumBytesWritten,
[in] UCHAR Channel
)
{...}
Параметры
[in] Context
Указатель на расширение устройства физического объекта физического устройства (PDO) параллельного устройства.
[in] Buffer
Указатель на буфер записи, выделенный вызывающим объектом.
[in] NumBytesToWrite
Указывает количество байтов для копирования из буфера записи на параллельное устройство. Должно быть меньше или равно количеству байтов в буфере записи, выделенном вызывающим объектом.
[out] NumBytesWritten
Указывает количество байтов, которые фактически были скопированы из буфера записи, выделенного вызывающим объектом, на параллельное устройство.
[in] Channel
Не используется.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Данные, предоставленные вызывающим абонентом, успешно переданы на устройство. |
|
Внутренняя операция привела к ошибке NTSTATUS. |
Комментарии
Чтобы получить указатель на предоставляемый системой PPARALLEL_WRITE обратном вызове, драйвер режима ядра использует запрос IOCTL_INTERNAL_PARCLASS_CONNECT , который возвращает структуру PARCLASS_INFORMATION . Элемент ParallelWrite структуры PARCLASS_INFORMATION является указателем на этот обратный вызов.
Клиент может использовать эту подпрограмму только в том случае, если у него есть блокировка на параллельном порту. Клиент получает блокировку на параллельном порту с помощью запроса IOCTL_INTERNAL_LOCK_PORT .
Обратный вызов PPARALLEL_WRITE выполняется в потоке вызывающего объекта в irQL вызывающего объекта.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | parallel.h (включая Parallel.h) |