Функция 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) |