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
並列ポートを表す機能デバイス オブジェクトのデバイス拡張へのポインター。
戻り値
リターン コード | 説明 |
---|---|
|
並列ポートが割り当てられました。 |
|
並列ポートが割り当てられなかった。 |
注釈
カーネル モード ドライバーは、PARALLEL_INTERRUPT_INFORMATION構造体を返すIOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPTを使用して割り込みサービス ルーチンを接続します。 この構造体には、システム提供のPPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックへのポインターである TryAllocatePortAtInterruptLevel メンバーが含まれます。
PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックは非ブロッキングであり、割り当て要求をキューに入れず、直ちにを返します。
ドライバーは、ドライバー提供の ISR と組み合わせて 、PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックを使用します。 ドライバーの ISR が呼び出されたときにドライバーに並列ポートが割り当てられていない場合、ドライバーはこのコールバックを使用できます。
ISR で並列ポートを割り当てる方法の詳細については、「 割り込みサービス ルーチンを ParallelPort に接続する」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | 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