SerCx2PioReceiveCreate 関数 (sercx.h)
SerCx2PioReceiveCreate メソッドは PIO 受信オブジェクトを作成します。このオブジェクトは、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 が PIO 受信トランザクションの実行に使用します。
構文
NTSTATUS SerCx2PioReceiveCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_RECEIVE_CONFIG PioReceiveConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIORECEIVE *PioReceive
);
パラメーター
[in] Device
シリアル コントローラーを表すフレームワーク デバイス オブジェクトへの WDFDEVICE ハンドル。 シリアル コントローラー ドライバーは、 EvtDriverDeviceAdd コールバック関数でこのオブジェクトを作成しました。 詳細については、「 SerCx2InitializeDevice」を参照してください。
[in] PioReceiveConfig
SERCX2_PIO_RECEIVE_CONFIG構造体へのポインター。 このメソッドを呼び出す前に、呼び出し元は SERCX2_PIO_RECEIVE_CONFIG_INIT 関数を呼び出して構造体を初期化する必要があります。 この構造体には、シリアル コントローラー ドライバーによって実装されるイベント コールバック ルーチンのセットへのポインターが含まれています。 SerCx2 は、PIO 受信トランザクションを実行するためにこれらの関数を呼び出します。
[in, optional] Attributes
新しい PIO 受信オブジェクトに割り当てる属性を記述する WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このメソッドを呼び出す前に、呼び出し元は WDF_OBJECT_ATTRIBUTES_INIT 関数を呼び出して構造体を初期化する必要があります。 このパラメーターは省略可能であり、シリアル コントローラー ドライバーがオブジェクトに属性を割り当てる必要がない場合は、WDF_NO_OBJECT_ATTRIBUTESとして指定できます。 詳細については、「解説」を参照してください。
[out] PioReceive
このメソッドが新しく作成した PIO 受信オブジェクトに SERCX2PIORECEIVE ハンドルを書き込む場所へのポインター。 SerCx2 とシリアル コントローラー ドライバーは、このオブジェクトを参照する後続の呼び出しでこのハンドルを使用します。
戻り値
このメソッドは、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 考えられるエラーの戻り値には、次の状態コードが含まれます。
リターン コード | 説明 |
---|---|
|
PIO 受信オブジェクトは、以前の SerCx2PioReceiveCreate 呼び出しから既に存在します。 |
|
構成->サイズの値が sizeof(SERCX2_PIO_RECEIVE_CONFIG) と等しくありません。 |
|
実装されたコールバック関数の指定された組み合わせが無効です。 ドライバーは 、EvtSerCx2PioReceiveReadBuffer、 EvtSerCx2PioReceiveEnableReadyNotification、 および EvtSerCx2PioReceiveCancelReadyNotification 関数を実装する必要があります。 |
|
要求された操作を実行するために使用できるリソースが不足しています。 |
注釈
シリアル コントローラー ドライバーは、PIO 受信オブジェクトを作成するには、このメソッドを呼び出します。 SerCx2 では、このオブジェクトを使用して PIO 受信トランザクションを実行します。このトランザクションでは、プログラムされた I/O (PIO) を使用してシリアル コントローラーによって受信されたデータを読み取ります。
通常、シリアル コントローラー ドライバーは、その EvtDriverDeviceAdd 関数から SerCx2PioReceiveCreate を呼び出します。 ドライバーは、 SerCx2InitializeDevice メソッドを正常に呼び出した後にのみ、このメソッドを呼び出す必要があります。
オプションとして、シリアル コントローラー ドライバーは Attributes パラメーターを使用して PIO 受信オブジェクトのコンテキストを作成し、削除するオブジェクトを準備するために呼び出される EvtCleanupCallback 関数と EvtDestroyCallback 関数へのポインターを指定できます。 詳細については、「 WDF_OBJECT_ATTRIBUTES」を参照してください。
Attributes パラメーターがWDF_OBJECT_ATTRIBUTES構造体を指している場合、呼び出し元は、WDF_OBJECT_ATTRIBUTES_INIT初期化関数がこの構造体の ParentObject、ExecutionLevel、および SynchronizationScope メンバーに書き込む値を上書きしないでください。
PIO 受信オブジェクトの作成の詳細については、「 SERCX2PIORECEIVE」を参照してください。 PIO 受信トランザクションの詳細については、「 SerCx2 PIO-Receive トランザクション」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | sercx.h |
IRQL | <= DISPATCH_LEVEL |