次の方法で共有


EVT_SERCX_FILEOPEN コールバック関数 (sercx.h)

EvtSerCxFileOpen イベント コールバック関数は、クライアントがシリアル コントローラー デバイスでファイル ハンドルを開き、デバイスを表すファイル オブジェクトが作成されたことをシリアル コントローラー ドライバーに通知します。

構文

EVT_SERCX_FILEOPEN EvtSercxFileopen;

NTSTATUS EvtSercxFileopen(
  [in] WDFDEVICE Device
)
{...}

パラメーター

[in] Device

シリアル コントローラーを表すフレームワーク デバイス オブジェクトへの WDFDEVICE ハンドル。

戻り値

EvtSerCxFileOpen 関数は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合は、適切なエラー状態コードが返されます。

備考

シリアル フレームワーク拡張機能 (SerCx) は、この関数を呼び出して、I/O 操作の要求を受け入れるようにシリアル コントローラー ハードウェアを準備します。 この関数は、データを受信および送信する準備ができている状態でコントローラーを構成する必要があります。 割り込みが必要な場合、この関数は割り込みを有効にする必要があります。 さらに、この関数は、ファイル オブジェクトの有効期間中にのみ必要なメモリを割り当てる必要があります。 たとえば、この関数は割り込みデータ バッファーを割り当てることができます。

EvtSerCxFileOpen コールバック関数を登録するには、ドライバーは、SerCxInitialize メソッドを呼び出す必要があります。

詳細については、「Framework ファイル オブジェクトの」を参照してください。

このコールバックの関数型は、次のように Sercx.h で宣言されています。

typedef NTSTATUS
  EVT_SERCX_FILEOPEN(
    __in WDFDEVICE Device
    );

という名前の EvtSerCxFileOpen コールバック関数を定義するには、まず、静的ドライバー検証ツール (SDV) およびその他の検証ツール 必要な関数宣言を次のように指定する必要があります。

EVT_SERCX_FILEOPEN MyEvtSerCxFileOpen;

次に、次のようにコールバック関数を実装します。

NTSTATUS
  MyEvtSerCxFileOpen(
    __in WDFDEVICE Device
    )
{ ... }

関数宣言の SDV 要件の詳細については、「宣言する関数を宣言する KMDF ドライバーのの関数の役割の種類を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー sercx.h
IRQL IRQL <= DISPATCH_LEVEL で呼び出されます

関連項目

SerCxInitialize