次の方法で共有


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を使用して割り込みサービス ルーチンを接続します。 この構造体には、システム提供のPPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) コールバックへのポインターである TryAllocatePortAtInterruptLevel メンバーが含まれます。

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 要求は無効になっています。
 

要件

要件
対象プラットフォーム デスクトップ
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

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_FREE_ROUTINE (ISR)

PARALLEL_INTERRUPT_INFORMATION