IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL (parallel.h)
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT 请求将可选的中断服务例程和可选的 延迟端口检查 例程连接到并行端口。 只有内核模式驱动程序可以使用此请求。
连接中断请求返回驱动程序可在特定于驱动程序的 ISR 上下文中使用的信息。 该信息包括指向中断对象的指针,以及指向在 IRQL = DIRQL 处分配和释放并行端口的回调例程的指针。
主要代码
IRP_MJ_INTERNAL_DEVICE_CONTROL
输入缓冲区
AssociatedIrp.SystemBuffer 成员指向客户端分配给输入中断服务信息的 PARALLEL_INTERRUPT_SERVICE_ROUTINE 结构。 并行端口的系统提供的函数驱动程序使用相同的内存缓冲区,但将其强制转换为其他数据类型以输出信息。
输入缓冲区长度
Parameters.DeviceIoControl.InputBufferLength 成员设置为PARALLEL_INTERRUPT_SERVICE_ROUTINE结构的大小(以字节为单位)。
输出缓冲区
AssociatedIrp.SystemBuffer 成员指向并行端口函数驱动程序用于输出并行中断信息的PARALLEL_INTERRUPT_INFORMATION结构。
输出缓冲区长度
Parameters.DeviceIoControl.OutputBufferLength 成员设置为 PARALLEL_INTERRUPT_INFORMATION 结构的大小(以字节为单位)。
状态块
如果请求成功,则 信息 成员设置为 PARALLEL_INTERRUPT_INFORMATION 结构的大小(以字节为单位)。 否则,信息 成员设置为零。
状态 成员设置为内部设备控制请求针对并行端口或以下值之一返回的泛型状态值之一:
STATUS_BUFFER_TOO_SMALL
以下至少一项为 true:
Parameters.DeviceIoControl.InputBufferLength 成员的值小于PARALLEL_INTERRUPT_SERVICE_ROUTINE结构的大小(以字节为单位)。
Parameters.DeviceIoControl.OuputBufferLength 成员的值小于PARALLEL_INTERRUPT_INFORMATION结构的大小(以字节为单位)。
要求
要求 | 价值 |
---|---|
标头 | parallel.h (include Parallel.h) |
另请参阅
PARALLEL_INTERRUPT_SERVICE_ROUTINE