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