WdfIoResourceListRemoveByDescriptor 函式 (wdfresource.h)
[僅適用於 KMDF]
WdfIoResourceListRemoveByDescriptor 方法會從資源需求清單的邏輯設定中移除資源描述元。
語法
void WdfIoResourceListRemoveByDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor
);
參數
[in] ResourceList
架構資源範圍清單物件的句柄,代表裝置硬體資源的邏輯設定。
[in] Descriptor
描述硬體資源的 IO_RESOURCE_DESCRIPTOR 結構的指標。
傳回值
無
備註
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
WdfIoResourceListRemoveByDescriptor 方法會移除符合描述元參數的資源描述元。 若要尋找相符專案,此方法會比較指定的資源描述元與邏輯組態中的資源描述元,byte 的位元組。
當 WdfIoResourceListRemoveByDescriptor 移除具有索引值 n 的資源描述元時,下一個資源描述元的索引值會從 n+1 變更為 n。
如需資源需求清單和邏輯設定的詳細資訊,請參閱 Framework-Based 驅動程式的硬體資源。
範例
下列程式代碼範例會在邏輯組態中搜尋包含指定埠地址的資源描述元,並移除該資源描述元。
IO_RESOURCE_DESCRIPTOR descriptor;
ULONG resCount, j;
//
// Get the number of resource descriptors that
// are in this logical configuration.
//
resCount = WdfIoResourceListGetCount(reslist);
for (j = 0; j < resCount; j++) {
PIO_RESOURCE_DESCRIPTOR descriptor;
//
// Get the next resource descriptor.
//
descriptor = WdfIoResourceListGetDescriptor(
reslist,
j
);
//
// Stop if this descriptor is the port descriptor that
// we're looking for, and remove the descriptor.
//
if (descriptor->Type == CmResourceTypePort) {
if ((descriptor->u.port.MinimumAddress) == PORT_RANGE_A) {
WdfIoResourceListRemoveByDescriptor(
Reslist,
descriptor
);
break;
}
}
}
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
標頭 | wdfresource.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |