EVT_SERCX2_PIO_RECEIVE_INITIALIZE_TRANSACTION コールバック関数 (sercx.h)

EvtSerCx2PioReceiveInitializeTransaction イベント コールバック関数は、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 によって呼び出され、PIO 受信トランザクションを実行するようにシリアル コントローラーを準備します。

構文

EVT_SERCX2_PIO_RECEIVE_INITIALIZE_TRANSACTION EvtSercx2PioReceiveInitializeTransaction;

void EvtSercx2PioReceiveInitializeTransaction(
  [in] SERCX2PIORECEIVE PioReceive,
  [in] ULONG Length
)
{...}

パラメーター

[in] PioReceive

PIO 受信オブジェクトへの SERCX2PIORECEIVE ハンドル。 このオブジェクトを作成するために 、以前に SerCx2PioReceiveCreate メソッドを呼び出したシリアル コントローラー ドライバー。

[in] Length

PIO 受信トランザクションで転送されるバイト数。

戻り値

なし

解説

シリアル コントローラー ドライバーでは、オプションとしてこの関数を実装できます。 実装されている場合、ドライバーは、PIO 受信オブジェクトを作成する SerCx2PioReceiveCreate メソッドの呼び出しに関数を登録します。

ドライバーは、新しい PIO 受信トランザクションに備えてシリアル コントローラーと関連ハードウェアを初期化する必要がある場合は、 EvtSerCx2PioReceiveInitializeTransaction 関数を実装する必要があります。 SerCx2 は、PIO 受信トランザクションが開始される前に、実装されている場合にこの関数を呼び出します。 この呼び出しに応答して、シリアル コントローラー ドライバーは、初期化が完了した後に SerCx2 に通知する SerCx2PioReceiveInitializeTransactionComplete メソッドを呼び出す必要があります。

詳細については、「 SerCx2 PIO-Receive トランザクション」を参照してください。

EvtSerCx2PioReceiveInitializeTransaction コールバック関数を定義するには、まず、定義するコールバック関数の種類を識別する関数宣言を指定する必要があります。 Windows には、ドライバーのコールバック関数型のセットが用意されています。 コールバック関数の種類を使用して関数を宣言すると、 ドライバーのコード分析静的ドライバー検証ツール (SDV)、およびその他の検証ツールでエラーが検出され、Windows オペレーティング システムのドライバーを記述するための要件になります。

たとえば、 という名前MyPioReceiveInitializeTransactionEvtSerCx2PioReceiveInitializeTransaction コールバック関数を定義するには、次のコード例に示すように、EVT_SERCX2_PIO_RECEIVE_INITIALIZE_TRANSACTION関数型を使用します。

EVT_SERCX2_PIO_RECEIVE_INITIALIZE_TRANSACTION  MyPioReceiveInitializeTransaction;

次に、コールバック関数を次のように実装します。

_Use_decl_annotations_
VOID
  MyPioReceiveInitializeTransaction(
    SERCX2PIORECEIVE  PioReceive,
    ULONG  Length
    )
  {...}

EVT_SERCX2_PIO_RECEIVE_INITIALIZE_TRANSACTION関数の種類は、Sercx.h ヘッダー ファイルで定義されています。 コード分析ツールの実行時にエラーをより正確に識別するには、 Use_decl_annotations 注釈を関数定義に追加してください。 Use_decl_annotations注釈を使用すると、ヘッダー ファイル内のEVT_SERCX2_PIO_RECEIVE_INITIALIZE_TRANSACTION関数型に適用される注釈が確実に使用されます。 関数宣言の要件の詳細については、「 KMDF ドライバーの関数ロール型を使用した関数の宣言」を参照してください。 Use_decl_annotationsの詳細については、「関数の動作に注釈を付ける」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 8.1 以降で使用できます。
対象プラットフォーム デスクトップ
Header sercx.h
IRQL IRQL <= DISPATCH_LEVELで呼び出されます。

こちらもご覧ください

SERCX2PIORECEIVE

SerCx2PioReceiveCreate

SerCx2PioReceiveInitializeTransactionComplete