SerCx2CustomTransmitTransactionCreate 関数 (sercx.h)

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

構文

NTSTATUS SerCx2CustomTransmitTransactionCreate(
  [in]  SERCX2CUSTOMTRANSMIT                       CustomTransmit,
  [in]  PSERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG CustomTransmitTransactionConfig,
  [in]  PWDF_OBJECT_ATTRIBUTES                     Attributes,
  [out] SERCX2CUSTOMTRANSMITTRANSACTION            *CustomTransmitTransaction
);

パラメーター

[in] CustomTransmit

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

[in] CustomTransmitTransactionConfig

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

[in] Attributes

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

[out] CustomTransmitTransaction

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

戻り値

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

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
カスタム-transmit-transaction オブジェクトは、以前 の SerCx2CustomTransmitTransactionCreate 呼び出しから既に存在します。
STATUS_INFO_LENGTH_MISMATCH
CustomTransmitTransactionConfig Size-> 値が sizeof(SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG) と等しくありません。
STATUS_INVALID_PARAMETER
パラメーター値が無効です。 呼び出し元は、有効な EvtSerCx2CustomTransmitTransactionStart 関数ポインターを指定 する必要があります。
STATUS_INSUFFICIENT_RESOURCES
カスタム送信トランザクション オブジェクトを作成するために使用できるリソースが不足しています。

注釈

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

オプションとして、シリアル コントローラー ドライバーは Attributes パラメーターを使用してカスタム送信オブジェクトのコンテキストを作成し、削除のためにオブジェクトを準備するために呼び出される EvtCleanupCallback 関数と EvtDestroyCallback 関数へのポインターを指定できます。 詳細については、「 WDF_OBJECT_ATTRIBUTES」を参照してください。

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

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

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

要件

要件
サポートされている最小のクライアント Windows 8.1 以降で使用できます。
対象プラットフォーム ユニバーサル
Header sercx.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

EvtCleanupCallback

EvtDestroyCallback

EvtSerCx2CustomTransmitTransactionStart

SERCX2CUSTOMTRANSMIT

SERCX2CUSTOMTRANSMITTRANSACTION

SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG

SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG_INIT

SerCx2CustomTransmitCreate

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT