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 為零或多個:
值 | Description |
---|---|
PAR_END_OF_CHAIN_DEVICE | 指定鏈結結束裝置。 |
PAR_HAVE_PORT_KEEP_PORT | 指定呼叫端已配置埠,並保留配置的埠。 |
傳回值
傳回碼 | Description |
---|---|
|
已選取裝置。 |
|
裝置標識碼無效。 |
|
呼叫端未指定PAR_HAVE_PORT_KEEP_PORT,且已配置平行埠。 |
|
呼叫端已配置平行埠,但系統提供的平行埠函式驅動程式無法選取指定的平行裝置。 |
備註
若要取得系統提供的PPARALLEL_TRY_SELECT_ROUTINE回呼指標,核心模式驅動程式會使用傳回PARALLEL_PNP_INFORMATION結構的IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO要求。 PARALLEL_PNP_INFORMATION 結構的 TrySelectDevice 成員是這個回呼的指標。
核心模式驅動程式可以使用 IOCTL_INTERNAL_SELECT_DEVICE 要求或 PPARALLEL_TRY_SELECT_ROUTINE 回呼,在平行埠上選取平行裝置。 如果已配置平行埠,則平行埠函式驅動程式會將選取要求排入佇列。 不過, PPARALLEL_TRY_SELECT_ROUTINE 回呼不會將選取要求排入佇列,而且如果無法配置埠,則例程會立即傳回。
注意 如果用戶端只使用 PPARALLEL_TRY_SELECT_ROUTINE 回呼來嘗試選取平行裝置,而其他用戶端正爭用平行埠,則系統提供的平行埠函式驅動程式可能永遠不會將埠配置給用戶端。 為了確保成功,客戶端必須使用 IOCTL_INTERNAL_SELECT_DEVICE 要求。 (平行埠函式驅動程式佇列,以及後續處理埠配置要求和裝置選取要求的順序。)
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | parallel.h (包括 Parallel.h) |
IRQL | <=DISPATCH_LEVEL |
另請參閱
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應