共用方式為


WdfCmResourceListAppendDescriptor 函式 (wdfresource.h)

[僅適用於 KMDF]

WdfCmResourceListAppendDescriptor 方法會將資源描述元新增至指定資源清單的結尾。

語法

NTSTATUS WdfCmResourceListAppendDescriptor(
  [in] WDFCMRESLIST                    List,
  [in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);

參數

[in] List

架構資源清單物件的句柄,代表裝置的硬體資源清單。

[in] Descriptor

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

傳回值

如果作業成功,WdfCmResourceListAppendDescriptor 會傳回STATUS_SUCCESS。 否則,此方法可能會傳回下列其中一個值:

傳回碼 描述
STATUS_INVALID_PARAMETER
指定了無效的參數。
STATUS_ACCESS_DENIED
驅動程式不允許將描述項新增至 List 參數所指定的邏輯組態。 例如,驅動程式無法修改其 EvtDevicePrepareHardwareEvtDeviceReleaseHardware 回呼函式收到的邏輯組態。
STATUS_INSUFFICIENT_RESOURCES
架構無法配置空間來儲存指定 描述元 參數的描述項。
 

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

言論

架構會將 CM_PARTIAL_RESOURCE_DESCRIPTOR 結構的內容複製到內部記憶體,因此呼叫 WdfCmResourceListAppendDescriptor 的驅動程式例程 可以在本機配置結構。 在驅動程式呼叫 WdfCmResourceListAppendDescriptor,就可以重複使用 CM_PARTIAL_RESOURCE_DESCRIPTOR 結構。

如需資源清單的詳細資訊,請參閱 Framework-Based 驅動程式的硬體資源

例子

下列程式代碼範例會將資源描述元新增至 EvtDeviceResourcesQuery 回呼函式所接收的資源清單結尾。

NTSTATUS
PdoEvtDeviceResourcesQuery(
    IN WDFDEVICE  Device,
    IN WDFCMRESLIST  Resources
    )
{
    CM_PARTIAL_RESOURCE_DESCRIPTOR newDescriptor;
...
    newDescriptor.Type = CmResourceTypePort;
    newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
    newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
    newDescriptor.u.Port.Length = 1;
    newDescriptor.u.Port.Start = 0;

    status = WdfCmResourceListAppendDescriptor(
                                               Resources,
                                               &newDescriptor
                                               );
...

}

要求

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

另請參閱

CM_PARTIAL_RESOURCE_DESCRIPTOR

EvtDevicePrepareHardware

EvtDeviceReleaseHardware

EvtDeviceResourcesQuery

WdfCmResourceListInsertDescriptor