共用方式為


WdfIoResourceListInsertDescriptor 函式 (wdfresource.h)

[僅適用於 KMDF]

WdfIoResourceListInsertDescriptor 方法會將資源描述元插入資源需求清單中的 邏輯組態

語法

NTSTATUS WdfIoResourceListInsertDescriptor(
  [in] WDFIORESLIST            ResourceList,
  [in] PIO_RESOURCE_DESCRIPTOR Descriptor,
  [in] ULONG                   Index
);

參數

[in] ResourceList

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

[in] Descriptor

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

[in] Index

以零起始的值,用來做為資源描述元集合的索引,該描述元已在 resourceList 指定的邏輯組態中。 若要將資源描述元新增至邏輯組態的結尾,請指定 WDF_INSERT_AT_END 或 WdfIoResourceListGetCount 傳回值。

傳回值

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

傳回碼 描述
STATUS_INVALID_PARAMETER
指定了無效的參數。
STATUS_ACCESS_DENIED
驅動程式不允許將描述項新增至邏輯組態。
STATUS_INSUFFICIENT_RESOURCES
架構無法配置空間來儲存描述元。
STATUS_ARRAY_BOUNDS_EXCEEDED
Index 參數指定的值太大。
 

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

言論

WdfIoResourceListInsertDescriptor 方法會將 描述元 參數指向的邏輯組態插入 ResourceList 參數所指定的邏輯組態中,Index 值所識別的資源描述項前面。

若要將資源描述元新增至邏輯組態的結尾,請為 Index 值指定 WdfIoResourceListGetCount WDF_INSERT_AT_END 或傳回值。 或者,使用 WdfIoResourceListAppendDescriptor 方法。

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

如需資源需求清單和邏輯組態的詳細資訊,請參閱 Framework-Based 驅動程式的硬體資源。

例子

下列程式代碼範例會初始化資源描述元,並將描述元加入邏輯組態的結尾。

IO_RESOURCE_DESCRIPTOR descriptor;

RtlZeroMemory(&descriptor, sizeof(descriptor));

descriptor.Option = 0;
descriptor.Type = CmResourceTypePort;
descriptor.ShareDisposition = CmResourceShareDeviceExclusive;
descriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
descriptor.u.Port.Length = 1;
descriptor.u.Port.Alignment = 0x01;
descriptor.u.Port.MinimumAddress.QuadPart = 0;
descriptor.u.Port.MaximumAddress.QuadPart = 0xFFFF;

status = WdfIoResourceListInsertDescriptor(
                                           logConfig,
                                           &descriptor,
                                           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)

另請參閱

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListAppendDescriptor