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初期化関数がこの構造体の ParentObjectExecutionLevelSynchronizationScope メンバーに書き込む値を上書きしないでください。

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

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

要件

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

こちらもご覧ください

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT