SerCx2CustomReceiveTransactionCreate 関数 (sercx.h)

SerCx2CustomReceiveTransactionCreate メソッドは、カスタム受信トランザクション オブジェクトを作成します。このオブジェクトは、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 がカスタム受信トランザクションの実行に使用します。

構文

NTSTATUS SerCx2CustomReceiveTransactionCreate(
  [in]  SERCX2CUSTOMRECEIVE                       CustomReceive,
  [in]  PSERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG CustomReceiveTransactionConfig,
  [in]  PWDF_OBJECT_ATTRIBUTES                    Attributes,
  [out] SERCX2CUSTOMRECEIVETRANSACTION            *CustomReceiveTransaction
);

パラメーター

[in] CustomReceive

カスタム受信オブジェクトへの SERCX2CUSTOMRECEIVE ハンドル。 シリアル コントローラー ドライバーは、以前にこのオブジェクトを作成するために、SerCx2CustomReceiveCreate メソッドを呼び出しました。

[in] CustomReceiveTransactionConfig

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG 構造体へのポインター。 このメソッドを呼び出す前に、呼び出し元は SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG_INIT 関数を呼び出して構造体を初期化する必要があります。 この構造体には、シリアル コントローラー ドライバーによって実装されるイベント コールバック ルーチンのセットへのポインターが含まれています。 SerCx2 はこれらの関数を呼び出して、カスタム データ転送メカニズムを使用してシリアル コントローラーが受信したデータを読み取る I/O トランザクションを実行します。

[in] Attributes

新しいカスタム受信トランザクション オブジェクトに割り当てる属性を記述する WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このメソッドを呼び出す前に、呼び出し元は WDF_OBJECT_ATTRIBUTES_INIT 関数を呼び出して構造体を初期化する必要があります。 このパラメーターは省略可能であり、シリアル コントローラー ドライバーがオブジェクトに属性を割り当てる必要がない場合は、WDF_NO_OBJECT_ATTRIBUTESとして指定できます。 詳細については、「解説」を参照してください。

[out] CustomReceiveTransaction

このメソッドが新しく作成したカスタム受信トランザクション オブジェクトに SERCX2CUSTOMRECEIVETRANSACTION ハンドルを書き込む場所へのポインター。 SerCx2 とシリアル コントローラー ドライバーは、このオブジェクトを参照する後続の呼び出しでこのハンドルを使用します。

戻り値

このメソッドは、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 考えられるエラー戻り値には、次の状態コードが含まれます。

リターン コード 形容
STATUS_INVALID_DEVICE_REQUEST
カスタム受信トランザクション オブジェクトは、SerCx2CustomReceiveTransactionCreate 呼び出しの前の から既に存在します。
STATUS_INFO_LENGTH_MISMATCH
CustomReceiveTransactionConfigSize 値が sizeof(SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG) 等しくありません。
STATUS_INVALID_PARAMETER
パラメーター値が無効です。 呼び出し元は、有効な EvtSerCx2CustomReceiveTransactionStart を指定し、EvtSerCx2CustomReceiveTransactionQueryProgress 関数ポインターを する必要があります。
STATUS_INSUFFICIENT_RESOURCES
カスタム受信トランザクション オブジェクトを作成するために使用できるリソースが不足しています。

備考

シリアル コントローラー ドライバーでは、このメソッドを呼び出して、カスタムの受信トランザクション オブジェクトを作成できます。 SerCx2 は、このオブジェクトを使用してカスタム受信トランザクションを管理します。これは、シリアル コントローラーが受信したデータを読み取るためにカスタム データ転送メカニズムを使用する I/O トランザクションです。

オプションとして、シリアル コントローラー ドライバーは、属性 パラメーターを使用して、カスタム受信オブジェクトのコンテキストを作成し、EvtCleanupCallback へのポインターを提供し、EvtDestroyCallback 関数を してオブジェクトを削除する準備を行うことができます。 詳細については、WDF_OBJECT_ATTRIBUTESを参照してください。

属性 パラメーターが WDF_OBJECT_ATTRIBUTES 構造体を指している場合、呼び出し元は、WDF_OBJECT_ATTRIBUTES_INIT 初期化関数が ParentObjectExecutionLevel、およびこの構造体の SynchronizationScope メンバーに書き込む値を上書きしてはなりません。

実装されたコールバック関数の指定された組み合わせが無効な場合、SerCx2CustomReceiveTransactionCreate 呼び出し は失敗し、STATUS_INVALID_PARAMETERを返します。

カスタム受信トランザクション オブジェクトの作成の詳細については、SERCX2CUSTOMRECEIVETRANSACTIONを参照してください。 カスタム受信トランザクションの詳細については、「SerCx2 Custom-Receive Transactions」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1以降で使用できます。
ターゲット プラットフォーム の 万国
ヘッダー sercx.h
IRQL PASSIVE_LEVEL

関連項目

EvtCleanupCallback を する

EvtDestroyCallback の

EvtSerCx2CustomReceiveTransactionQueryProgress

EvtSerCx2CustomReceiveTransactionStart の

SERCX2CUSTOMRECEIVE

SERCX2CUSTOMRECEIVETRANSACTION

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG_INIT

SerCx2CustomReceiveCreate

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT