次の方法で共有


SERCX2_CONFIG構造体 (sercx.h)

SERCX2_CONFIG 構造体には、シリアル フレームワーク拡張機能 (SerCx2) のバージョン 2 の構成情報が含まれています。

構文

typedef struct _SERCX2_CONFIG {
  ULONG                                            Size;
  PFN_SERCX2_FILEOPEN                              EvtSerCx2FileOpen;
  PFN_SERCX2_FILECLOSE                             EvtSerCx2FileClose;
  PFN_SERCX2_SET_WAIT_MASK                         EvtSerCx2SetWaitMask;
  PFN_SERCX2_PURGE_FIFOS                           EvtSerCx2PurgeFifos;
  PFN_SERCX2_CONTROL                               EvtSerCx2Control;
  PFN_SERCX2_APPLY_CONFIG                          EvtSerCx2ApplyConfig;
  PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE  EvtSerCx2SelectNextReceiveTransactionType;
  PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
  PWDF_OBJECT_ATTRIBUTES                           RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;

メンバーズ

Size

この構造体のサイズ (バイト単位)。 SerCx2InitializeDevice メソッドは、このメンバーを使用して、呼び出し元が使用している構造体のバージョンを決定します。 この構造体のサイズは、Sercx.h ヘッダー ファイルの将来のバージョンで変更される可能性があります。

EvtSerCx2FileOpen

EvtSerCx2FileOpen イベント コールバック関数 ドライバーによって実装されるポインター。 このメンバーは省略可能であり、ドライバーが関数を実装していないことを示す NULLに設定できます。 ただし、この関数を実装するドライバーは、EvtSerCx2FileClose 関数も実装する必要があります。

EvtSerCx2FileClose

EvtSerCx2FileClose イベント コールバック関数 ドライバーによって実装されるポインター。 このメンバーは省略可能であり、ドライバーが関数を実装していないことを示す NULLに設定できます。

EvtSerCx2SetWaitMask

EvtSerCx2SetWaitmask イベント コールバック関数 ドライバーによって実装されるポインター。 このメンバーは、有効な関数を指している必要があります。

EvtSerCx2PurgeFifos

EvtSerCx2PurgeFifos ドライバーによって実装された イベント コールバック関数へのポインター。 このメンバーは、有効な関数を指している必要があります。

EvtSerCx2Control

EvtSerCx2Control イベント コールバック関数 ドライバーによって実装されるポインター。 このメンバーは、有効な関数を指している必要があります。

EvtSerCx2ApplyConfig

EvtSerCx2ApplyConfig イベント コールバック関数 ドライバーによって実装されるポインター。 このメンバーは、有効な関数を指している必要があります。

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextReceiveTransactionType イベント コールバック関数 ドライバーによって実装されるポインター。 このメンバーは省略可能であり、ドライバーが関数を実装していないことを示す NULLに設定できます。

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SelectNextTransmitTransactionType イベント コールバック関数 ドライバー実装へのポインター。 このメンバーは省略可能であり、ドライバーが関数を実装していないことを示す NULLに設定できます。

RequestAttributes

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

備考

SerCx2InitializeDevice メソッドは、SERCX2_CONFIG 構造体へのポインターを入力パラメーターとして受け取ります。 SerCx2InitializeDevice呼び出す前に、SERCX2_CONFIG_INIT 関数を呼び出してこの構造体を初期化します。

RequestAttributes メンバーが WDF_OBJECT_ATTRIBUTES 構造体を指している場合、呼び出し元は、WDF_OBJECT_ATTRIBUTES_INIT 初期化関数が ParentObjectExecutionLevelおよび SynchronizationScope この構造体のメンバーに書き込む値を上書きしないでください。

ドライバーは、ドライバーが受け取るフレームワーク要求オブジェクトのコンテキスト領域に情報を格納する必要がある場合があります。 通常、ドライバーは WdfDeviceInitSetRequestAttributes メソッドを呼び出して、要求オブジェクトに必要な属性を指定します。 これらの属性には、各要求オブジェクトのコンテキスト領域の名前とサイズが含まれます。 さらに、SerCx2 の現在の実装では、要求コンテキストを必要とするシリアル コントローラー ドライバーは、RequestAttributes ドライバーが SerCx2InitializeDeviceに渡す SERCX2_CONFIG 構造体のメンバーと同じ属性 指定する必要があります。 つまり、SerCx2InitializeDevice 呼び出しと、WdfDeviceInitSetRequestAttributes 呼び出しで、同じ要求属性を 2 回指定する必要があります。 詳細については、「SerCx2 Custom-Receive トランザクションの と serCx2 Custom-Transmit トランザクションする」を参照してください。

要求コンテキストを必要としないドライバーは、WdfDeviceInitSetRequestAttributes呼び出す必要がなく、RequestAttributes SERCX2_CONFIG 構造体のメンバーをWDF_NO_OBJECT_ATTRIBUTESに設定できます。

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1 以降でサポートされています。
ヘッダー sercx.h

関連項目

EvtSerCx2ApplyConfig の

EvtSerCx2Control の

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos の

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask の

SERCX2_CONFIG_INIT

SerCx2InitializeDevice の

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT