SerCxDeviceInitConfig 関数 (sercx.h)

SerCxDeviceInitConfig メソッドは、シリアル フレームワーク拡張機能 (SerCx) を作成しているフレームワーク デバイス オブジェクト (FDO または PDO) の I/O パイプラインにアタッチするために、シリアル コントローラー ドライバーによって呼び出されます。

構文

NTSTATUS SerCxDeviceInitConfig(
  [in, out] PWDFDEVICE_INIT DeviceInit
);

パラメーター

[in, out] DeviceInit

構成する WDFDEVICE_INIT 構造体へのポインター。

戻り値

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

リターン コード 説明
STATUS_INSUFFICIENT_RESOURCES
システム リソース (通常はメモリ) を割り当てませんでした。

注釈

このメソッドは、SerCx の構成情報を、作成するフレームワーク デバイス オブジェクト (PDO または FDO) の WDFDEVICE_INIT 構造体に関連付けます。 WdfDeviceCreate メソッドを呼び出してデバイス オブジェクトを作成する前に、SerCxDeviceInitConfig を呼び出します。

コントローラー ドライバーの EvtDriverDeviceAdd コールバック関数は、初期化 されたWDFDEVICE_INIT 構造体へのポインターを入力パラメーターとして受け取ります。

SerCx は、シリアル コントローラー ドライバーが必要に応じてオーバーライドできる既定のセキュリティ記述子を設定します。 たとえば、この既定のセキュリティ記述子を使用すると、ユーザー モード ドライバーは、シリアル コントローラー上のポートに接続されている周辺機器に I/O 要求を送信できます。 セキュリティ記述子でこの設定を変更するには、シリアル コントローラー ドライバーは WdfDeviceInitAssignSDDLString メソッドを呼び出すことができます。 この呼び出しは 、SerCxDeviceInitConfig 呼び出しの後、 WdfDeviceCreate メソッドの呼び出しの前に行う必要があります。

次のコード例では、コントローラー ドライバーの EvtDriverDeviceAdd コールバック関数は、初期化された WDFDEVICE_INIT 構造体を SerCxDeviceInitConfig メソッドに渡します。 SerCxDeviceInitConfig の呼び出しは、シリアル コントローラー デバイス (UART) の FDO を作成する WdfDeviceCreate 呼び出しの前に行う必要があります。

//
// FxDeviceInit is a pointer to an initialized WDFDEVICE_INIT structure.
// Drivers receive a pointer to this structure as an input parameter to an
// EvtDriverDeviceAdd callback function, or as a return value from the
// WdfControlDeviceInitAllocate method.
//

status = SerCxDeviceInitConfig(FxDeviceInit);

if (!NT_SUCCESS(status))
{
    return status;
}

// 
// Set WDF and SerCx device-level configuration options.
//

...

//
// Call the WdfDeviceCreate method.
//

...

要件

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

こちらもご覧ください

EvtDriverDeviceAdd

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString