PPARALLEL_DESELECT_ROUTINE コールバック関数 (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
次のフラグの 0 個以上のビットごとの OR を指定します。
値 | 説明 |
---|---|
PAR_END_OF_CHAIN_DEVICE | チェーン終了デバイスを指定します。 |
PAR_HAVE_PORT_KEEP_PORT | ポートを割り当てたままにすることを指定します。 |
戻り値
リターン コード | 説明 |
---|---|
|
デバイスの選択が解除されました。 |
|
指定されたデバイス ID が無効です。 |
|
並列ポート用のシステム提供のファンクション ドライバーで、デバイスの選択を解除できませんでした。 |
注釈
システム提供のPPARALLEL_DESELECT_ROUTINE コールバックへのポインターを取得するために、カーネル モード ドライバーは、PARALLEL_PNP_INFORMATION構造体を返すIOCTL_INTERNAL_GET_PARALLEL_PNP_INFO要求を使用します。 PARALLEL_PNP_INFORMATION構造体の DeselectDevice メンバーは、このコールバックへのポインターです。
カーネル モード ドライバーは、 IOCTL_INTERNAL_DESELECT_DEVICE 要求または PPARALLEL_CLEAR_CHIP_MODE コールバックを使用して、並列ポートで表される並列ポート上のデバイスの選択を解除できます。 デバイスの選択を解除するには、呼び出し元に並列ポートが割り当てられている必要があります。 呼び出し元が PAR_HAVE_PORT_KEEP_PORT フラグを設定していない場合、システム提供の並列ポート用の関数ドライバーは、デバイスの選択を解除した後、並列ポートを解放します。
詳細については、「 ParallelPort に接続されている IEEE 1284 デバイスの選択と選択解除」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | parallel.h (Parallel.h を含む) |
IRQL | <=DISPATCH_LEVEL |