GPIO_CLX_ProcessAddDevicePreDeviceCreate関数 (gpioclx.h)
GPIO_CLX_ProcessAddDevicePreDeviceCreate メソッドは、WdfDeviceCreate メソッドに入力パラメーターとして渡される 2 つの構造体に初期化情報を読み込みます。
構文
NTSTATUS GPIO_CLX_ProcessAddDevicePreDeviceCreate(
[in] WDFDRIVER Driver,
[in, out] PWDFDEVICE_INIT DeviceInit,
[out] PWDF_OBJECT_ATTRIBUTES FdoAttributes
);
パラメーター
[in] Driver
GPIO コントローラー ドライバーのフレームワーク ドライバー オブジェクトに対する WDFDRIVER ハンドル。
[in, out] DeviceInit
フレームワークによって割り当てられた WDFDEVICE_INIT 構造体へのポインター。 このメソッドは、初期化情報をこの構造体に読み込みます。 返されると、この構造体は、WdfDeviceCreate メソッドへの入力パラメーターとして使用する準備ができています。
[out] FdoAttributes
呼び出し元によって割り当てられた WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このメソッドは、初期化情報をこの構造体に読み込みます。 返されると、この構造体は、WdfDeviceCreate メソッドへの入力パラメーターとして使用する準備ができています。
戻り値
GPIO_CLX_ProcessAddDevicePreDeviceCreate は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 可能な戻り値には、次のエラー コードが含まれます。
リターン コード | 形容 |
---|---|
|
呼び出し元は、GpioClx の登録済みクライアントではありません。 |
|
メモリ不足。 |
備考
GPIO コントローラー ドライバーは、GPIO コントローラーを表すデバイス オブジェクト (FDO) を作成する WdfDeviceCreate メソッドの呼び出しの前に、EvtDriverDeviceAdd コールバック関数でこのメソッドを呼び出す必要があります。 それ以外の場合、GPIO フレームワーク拡張機能 (GpioClx) は、新しいフレームワーク デバイス オブジェクトの I/O 要求やプロセス割り込みを処理できません。
例
次のコード例は、"XYZ" GPIO コントローラー デバイスの GPIO コントローラー ドライバーの EvtDriverDeviceAdd コールバック関数を示しています。
NTSTATUS
XyzEvtDriverDeviceAdd(
_In_ WDFDRIVER Driver,
_Inout_ PWDFDEVICE_INIT DeviceInit
)
{
WDFDEVICE Device;
WDF_OBJECT_ATTRIBUTES FdoAttributes;
NTSTATUS Status;
Status = GPIO_CLX_ProcessAddDevicePreDeviceCreate(Driver,
DeviceInit,
&FdoAttributes);
if (!NT_SUCCESS(Status)) {
goto ExitDeviceAdd;
}
//
// Call the framework to create the device and attach it to the lower stack.
//
Status = WdfDeviceCreate(&DeviceInit, &FdoAttributes, &Device);
if (!NT_SUCCESS(Status)) {
goto ExitDeviceAdd;
}
Status = GPIO_CLX_ProcessAddDevicePostDeviceCreate(Driver, Device);
if (!NT_SUCCESS(Status)) {
goto ExitDeviceAdd;
}
ExitDeviceAdd:
return Status;
}
前のコード例では、WdfDeviceCreate 呼び出しによって、GPIO コントローラー デバイスを表すフレームワーク デバイス オブジェクトが作成されます。 この呼び出しの 2 つの入力パラメーターは、構造体の WDFDEVICE_INIT と WDF_OBJECT_ATTRIBUTES を指します。 これらの構造体は、WdfDeviceCreate 呼び出しの前にある GPIO_CLX_ProcessAddDevicePreDeviceCreate 呼び出しによって変更されます。 WdfDeviceCreate 呼び出しからの出力パラメーター Deviceは、WdfDeviceCreate 呼び出しに続く GPIO_CLX_ProcessAddDevicePostDeviceCreate 呼び出しへの入力パラメーターです。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | gpioclx.h |
ライブラリ | Msgpioclxstub.lib |
IRQL | PASSIVE_LEVEL |
関連項目
EvtDriverDeviceAdd の