共用方式為


WdfIoResourceListRemoveByDescriptor 函式 (wdfresource.h)

[僅適用於 KMDF]

WdfIoResourceListRemoveByDescriptor 方法會從資源需求清單 邏輯組態移除資源描述項。

語法

void WdfIoResourceListRemoveByDescriptor(
  [in] WDFIORESLIST            ResourceList,
  [in] PIO_RESOURCE_DESCRIPTOR Descriptor
);

參數

[in] ResourceList

架構資源範圍清單物件的句柄,代表裝置硬體資源的邏輯組態。

[in] Descriptor

描述硬體資源的 IO_RESOURCE_DESCRIPTOR 結構的指標。

傳回值

沒有

言論

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

WdfIoResourceListRemoveByDescriptor 方法會移除符合 描述元 參數的資源描述項。 若要尋找相符專案,此方法會比較指定的資源描述元與邏輯組態中的資源描述元,位元組的位元組。

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;
        }
    }
}

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
標頭 wdfresource.h (包括 Wdf.h)
連結庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf)

另請參閱

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListRemove