Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применяется только к KMDF]
Метод WdfCmResourceListAppendDescriptor добавляет дескриптор ресурса в конец указанного списка ресурсов.
Синтаксис
NTSTATUS WdfCmResourceListAppendDescriptor(
[in] WDFCMRESLIST List,
[in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);
Параметры
[in] List
Дескриптор объекта списка ресурсов платформы, который представляет список аппаратных ресурсов для устройства.
[in] Descriptor
Указатель на структуру CM_PARTIAL_RESOURCE_DESCRIPTOR , описывающую аппаратный ресурс.
Возвращаемое значение
WdfCmResourceListAppendDescriptor возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:
| Код возврата | Описание |
|---|---|
|
Указан недопустимый параметр. |
|
Драйверу не разрешено добавлять дескрипторы в логическую конфигурацию, указанную параметром List . Например, драйверу не удалось изменить логическую конфигурацию, полученную функцией обратного вызова EvtDevicePrepareHardware или EvtDeviceReleaseHardware . |
|
Платформе не удалось выделить место для хранения дескриптора, указанного параметром Дескриптора . |
Системная ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Платформа копирует содержимое структуры 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) |