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


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

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

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

Синтаксис

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

Параметры

[in] ResourceList

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

[in] Descriptor

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

[in] Index

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

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

Никакой

Замечания

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

Метод WdfIoResourceListUpdateDescriptor находит дескриптор ресурса, который определяет параметр Index. Затем метод копирует дескриптор ресурса, который параметр дескриптора указывает в дескриптор, который индекс указывает.

Дополнительные сведения о списках требований к ресурсам и логических конфигурациях см. в разделе Аппаратные ресурсы для драйверов 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