次の方法で共有


PPARALLEL_TRY_ALLOCATE_ROUTINEコールバック関数 (parallel.h)

PPARALLEL_TRY_ALLOCATE_ROUTINE型指定 (ISR) コールバック ルーチンは、IRQL = DIRQL で並列ポートの割り当てを試みます。 並列ポート用のシステム提供のファンクション ドライバーは、このルーチンを提供します。

構文

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

BOOLEAN PparallelTryAllocateRoutine(
  [in] PVOID TryAllocateContext
)
{...}

パラメーター

[in] TryAllocateContext

並列ポートを表す機能デバイス オブジェクトのデバイス拡張へのポインター。

戻り値

リターン コード 形容
TRUE
並列ポートが割り当てられています。
FALSE
並列ポートが割り当てられなかった。

備考

カーネル モード ドライバーは、PARALLEL_INTERRUPT_INFORMATION 構造体を返す IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPTを使用して割り込みサービス ルーチンを接続します。 この構造体には、TryAllocatePortAtInterruptLevel メンバーが含まれています。これは、システム提供の PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックへのポインターです。

PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックは非ブロッキングであり、割り当て要求をキューに入れず、すぐに戻ります。

ドライバーは、ドライバーが提供する ISR と組み合わせて PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックを使用します。 ドライバーの ISR が呼び出されたときにドライバーに並列ポートが割り当てられない場合、ドライバーはこのコールバックを使用できます。

ISR で並列ポートを割り当てる方法の詳細については、「割り込みサービス ルーチンを ParallelPort に接続するを参照してください。

PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックがテストされていないことに注意してください。 Microsoft では、クライアント提供の割り込みルーチンを使用することはお勧めしません。 割り込みを使用すると、システムが不安定になる可能性があります。 既定では、IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT 要求は無効になっています。
 

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー parallel.h (Parallel.h を含む)
IRQL DIRQL

関連項目

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE

IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_FREE_ROUTINE (ISR)

PARALLEL_INTERRUPT_INFORMATION