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以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | gpioclx.h |
Library | Msgpioclxstub.lib |
IRQL | PASSIVE_LEVEL |