PPARALLEL_TRY_ALLOCATE_ROUTINE型指定 (ISR) コールバック ルーチンは、IRQL = DIRQL で並列ポートの割り当てを試みます。 並列ポート用のシステム提供のファンクション ドライバーは、このルーチンを提供します。
構文
PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;
BOOLEAN PparallelTryAllocateRoutine(
[in] PVOID TryAllocateContext
)
{...}
パラメーター
[in] TryAllocateContext
並列ポートを表す機能デバイス オブジェクトのデバイス拡張へのポインター。
戻り値
| リターン コード | 形容 |
|---|---|
|
並列ポートが割り当てられています。 |
|
並列ポートが割り当てられなかった。 |
備考
カーネル モード ドライバーは、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 に接続するを参照してください。
必要条件
| 要件 | 価値 |
|---|---|
| ターゲット プラットフォーム の | デスクトップ |
| ヘッダー | 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