Поделиться через


Функция WdfIoResourceListUpdateDescriptor (wdfresource.h)

[Применяется только к KMDF]

Метод WdfIoResourceListUpdateDescriptor обновляет дескриптор ресурса в логической конфигурации списка требований к ресурсам.

Синтаксис

void WdfIoResourceListUpdateDescriptor(
  [in] WDFIORESLIST            ResourceList,
  [in] PIO_RESOURCE_DESCRIPTOR Descriptor,
  [in] ULONG                   Index
);

Параметры

[in] ResourceList

Дескриптор объекта framework resource-range-list, который представляет логическую конфигурацию аппаратных ресурсов для устройства.

[in] Descriptor

Указатель на структуру IO_RESOURCE_DESCRIPTOR , описывающую аппаратный ресурс.

[in] Index

Отсчитываемое от нуля значение, которое используется в качестве индекса в наборе дескрипторов ресурсов, которые уже находятся в логической конфигурации, заданной ResourceList .

Возвращаемое значение

None

Remarks

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Метод WdfIoResourceListUpdateDescriptor находит дескриптор ресурса, который идентифицирует параметр Index . Затем метод копирует дескриптор ресурса, который задан параметром Descriptor , в дескриптор, задающий индекс .

Дополнительные сведения о списках требований к ресурсам и логических конфигурациях см. в разделе Аппаратные ресурсы для драйверов Framework-Based.

Примеры

В следующем примере кода инициализируется новый дескриптор ресурса, а затем вызывается WdfIoResourceListUpdateDescriptor для замены второго дескриптора в логической конфигурации новым дескриптором.

IO_RESOURCE_DESCRIPTOR newDescriptor;

RtlZeroMemory(
              &newDescriptor,
              sizeof(newDescriptor)
              );

newDescriptor.Option = 0;
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.Alignment = 0x01;
newDescriptor.u.Port.MinimumAddress.QuadPart = 0;
newDescriptor.u.Port.MaximumAddress.QuadPart = 0xFFFF;

WdfIoResourceListUpdateDescriptor(
                                  Reslist,
                                  &newDescriptor,
                                  1
                                  );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfresource.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также раздел

IO_RESOURCE_DESCRIPTOR