PPARALLEL_DESELECT_ROUTINE callback 函数 (parallel.h)
PPARALLEL_DESELECT_ROUTINE 类型的回调例程取消选择连接到并行端口的 IEEE 1284.3 菊花链设备或 IEEE 1284 链尾设备。 系统提供的用于并行端口的函数驱动程序提供此例程。
语法
PPARALLEL_DESELECT_ROUTINE PparallelDeselectRoutine;
NTSTATUS PparallelDeselectRoutine(
[in] PVOID DeselectContext,
[in] PVOID DeselectCommand
)
{...}
参数
[in] DeselectContext
指向功能设备对象的设备扩展的指针, (表示并行端口的 FDO) 。
[in] DeselectCommand
指向PARALLEL_1284_COMMAND结构的指针。 调用方指定以下成员:
ID
指定 1284.3 设备 ID (零或 1) 。
CommandFlags
指定以下标志的零个或多个按位 OR:
值 | 说明 |
---|---|
PAR_END_OF_CHAIN_DEVICE | 指定链末设备。 |
PAR_HAVE_PORT_KEEP_PORT | 指定保持分配的端口。 |
返回值
返回代码 | 说明 |
---|---|
|
设备已取消选择。 |
|
指定的设备 ID 无效。 |
|
系统提供的用于并行端口的函数驱动程序无法取消选择设备。 |
注解
为了获取指向系统提供的 PPARALLEL_DESELECT_ROUTINE 回调的指针,内核模式驱动程序使用 IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO 请求,该请求返回 PARALLEL_PNP_INFORMATION 结构。 PARALLEL_PNP_INFORMATION 结构的 DeselectDevice 成员是指向此回调的指针。
内核模式驱动程序可以使用 IOCTL_INTERNAL_DESELECT_DEVICE 请求或 PPARALLEL_CLEAR_CHIP_MODE 回调来取消选择由并行端口表示的并行端口上的设备。 若要取消选择设备,调用方应分配并行端口。 如果调用方未设置PAR_HAVE_PORT_KEEP_PORT标志,则系统提供的并行端口函数驱动程序在取消选择设备后释放并行端口。
有关详细信息,请参阅 选择和取消选择附加到 ParallelPort 的 IEEE 1284 设备。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | parallel.h (包括 Parallel.h) |
IRQL | <=DISPATCH_LEVEL |