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 メソッドを呼び出す必要があります。
詳細については、「 フレームワーク ファイル オブジェクト」を参照してください。
例
このコールバックの関数型は、次のように Sercx.h で宣言されています。
typedef NTSTATUS
EVT_SERCX_FILEOPEN(
__in WDFDEVICE Device
);
という名前MyEvtSerCxFileOpen
の EvtSerCxFileOpen コールバック関数を定義するには、まず、静的ドライバー検証ツール (SDV) やその他の検証ツールで必要な関数宣言を次のように指定する必要があります。
EVT_SERCX_FILEOPEN MyEvtSerCxFileOpen;
次に、次のようにコールバック関数を実装します。
NTSTATUS
MyEvtSerCxFileOpen(
__in WDFDEVICE Device
)
{ ... }
関数宣言の SDV 要件の詳細については、「 KMDF ドライバーの関数ロール型を使用した関数の宣言」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | sercx.h |
IRQL | IRQL <= DISPATCH_LEVEL で呼び出されます |