共用方式為


PPARALLEL_TRY_SELECT_ROUTINE回呼函式 (parallel.h)

PPARALLEL_TRY_SELECT_ROUTINE型回呼例程會選取連結至平行埠的 IEEE 1284.3 菊鏈裝置或 IEEE 1284 鏈結裝置。 平行埠的系統提供函式驅動程式會提供此例程。

語法

PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;

NTSTATUS PparallelTrySelectRoutine(
  [in] PVOID TrySelectContext,
  [in] PVOID TrySelectCommand
)
{...}

參數

[in] TrySelectContext

平行埠功能裝置物件的裝置延伸指標(FDO)。

[in] TrySelectCommand

PARALLEL_1284_COMMAND 結構的指標。 撥話端指定下列成員:

標識碼

指定 1284.3 裝置標識碼。

CommandFlags

指定下列旗標的位 OR 為零或多個:

價值 描述
PAR_END_OF_CHAIN_DEVICE 指定鏈結結束裝置。
PAR_HAVE_PORT_KEEP_PORT 指定呼叫端已配置埠,並保留配置埠。

傳回值

傳回碼 描述
STATUS_SUCCESS
已選取裝置。
STATUS_INVALID_PARAMETER
裝置標識碼無效。
STATUS_PENDING
呼叫端未指定PAR_HAVE_PORT_KEEP_PORT,而且已配置平行埠。
STATUS_UNSUCCESSFUL
呼叫端已配置平行埠,但系統提供的平行埠函式驅動程式無法選取指定的平行裝置。

言論

若要取得系統提供的 PPARALLEL_TRY_SELECT_ROUTINE 回呼指標,內核模式驅動程式會使用傳回 PARALLEL_PNP_INFORMATION 結構的 IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO 要求。 TrySelectDevice PARALLEL_PNP_INFORMATION 結構的成員是這個回呼的指標。

內核模式驅動程式可以使用 IOCTL_INTERNAL_SELECT_DEVICE 要求或 PPARALLEL_TRY_SELECT_ROUTINE 回呼,在平行埠上選取平行裝置。 如果已配置平行埠,平行埠函式驅動程式會將選取要求排入佇列。 不過,PPARALLEL_TRY_SELECT_ROUTINE 回呼不會將選取要求排入佇列,如果無法配置埠,則例程會立即傳回。

注意 如果用戶端只使用 PPARALLEL_TRY_SELECT_ROUTINE 回呼來嘗試選取平行裝置,而其他用戶端則爭用平行埠,則平行埠的系統提供函式驅動程式可能永遠不會將埠配置給用戶端。 若要確保成功,客戶端必須使用 IOCTL_INTERNAL_SELECT_DEVICE 要求。 (平行埠函式驅動程式佇列,並後續處理埠配置要求和裝置選取要求的順序,以接收選取裝置要求的順序。
 
如需詳細資訊,請參閱 選取和取消選取附加至 ParallelPort的 IEEE 1284 裝置。

要求

要求 價值
目標平臺 桌面
標頭 parallel.h (include Parallel.h)
IRQL <=DISPATCH_LEVEL

另請參閱

PARALLEL_1284_COMMAND

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

IOCTL_INTERNAL_SELECT_DEVICE

IOCTL_INTERNAL_DESELECT_DEVICE

PARALLEL_PNP_INFORMATION

PPARALLEL_DESELECT_ROUTINE