次の方法で共有


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 ポートを割り当てたままにすることを指定します。

戻り値

リターン コード 説明
STATUS_SUCCESS
デバイスの選択が解除されました。
STATUS_INVALID_PARAMETER
指定されたデバイス ID が無効です。
STATUS_UNSUCCESSFUL
並列ポート用のシステム提供のファンクション ドライバーで、デバイスの選択を解除できませんでした。

注釈

システム提供の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

こちらもご覧ください

IOCTL_INTERNAL_SELECT_DEVICE

PPARALLEL_TRY_SELECT_ROUTINE

IOCTL_INTERNAL_DESELECT_DEVICE

PARALLEL_PNP_INFORMATION