WdfIoResourceRequirementsListInsertIoResList 関数 (wdfresource.h)
[KMDF にのみ適用]
WdfIoResourceRequirementsListInsertIoResList メソッドは、リソース要件リストに 論理構成 を挿入します。
構文
NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList,
[in] ULONG Index
);
パラメーター
[in] RequirementsList
デバイスのリソース要件リストを表すフレームワーク リソース要件リスト オブジェクトへのハンドル。
[in] IoResList
デバイスのハードウェア リソースの論理構成を表すフレームワーク リソース範囲リスト オブジェクトへのハンドル。
[in] Index
RequirementsList が指定するリソース要件リストに既に含まれている一連の論理構成のインデックスとして使用 される、0 から始まる値。 リストの末尾に構成を追加するには、WDF_INSERT_AT_ENDまたは WdfIoResourceRequirementsListGetCount から戻り値指定します。
戻り値
WdfIoResourceRequirementsListInsertIoResList 、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このメソッドは次のいずれかの値を返す可能性があります。
リターン コード | 形容 |
---|---|
|
指定されたパラメーターが無効です。 |
|
指定した resource-requirements-list オブジェクトは、指定された resource-range-list オブジェクトを所有していません。 |
|
フレームワークは、リソース範囲リスト オブジェクトを格納する領域を割り当てませんでした。 |
|
Index パラメーターに指定した値が大きすぎます。 |
ドライバーが無効なオブジェクト ハンドルを提供すると、システム バグ チェックが発生します。
備考
WdfIoResourceRequirementsListInsertIoResList メソッドは、Index 値が識別する論理構成の前に、RequirementsList パラメーターが指定するリソース要件リストに、IoResList パラメーターが指定する論理構成を挿入します。
リソース要件リストの末尾に論理構成を追加するには、WDF_INSERT_AT_ENDまたは WdfIoResourceRequirementsListGetCount からの戻り値を Index 値として 使用します。 または、WdfIoResourceRequirementsListAppendIoResList メソッドを使用します。
リソース要件の一覧の詳細については、「Framework-Based ドライバー のハードウェア リソースの」を参照してください。
例
次のコード例は、EvtDeviceResourceRequirementsQuery コールバック関数で 2 つの空の論理構成を作成し、リソース要件リストに追加する方法を示しています。
NTSTATUS
Example_EvtDeviceResourceRequirementsQuery(
IN WDFDEVICE Device,
IN WDFIORESREQLIST RequirementsList
)
{
NTSTATUS status;
WDFIORESLIST logConfig1;
WDFIORESLIST logConfig2;
status = WdfIoResourceListCreate(
RequirementsList,
WDF_NO_OBJECT_ATTRIBUTES,
&logConfig1
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceRequirementsListAppendIoResList(
RequirementsList,
logConfig1
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceListCreate(
RequirementsList,
WDF_NO_OBJECT_ATTRIBUTES,
&logConfig2
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceRequirementsListInsertIoResList(
RequirementsList,
logConfig2,
WDF_INSERT_AT_END
);
if (!NT_SUCCESS(status)) {
return status;
}
...
}
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
ヘッダー | wdfresource.h (Wdf.h を含む) |
ライブラリ | Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。 |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |