Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма GetDmaAdapter возвращает структуру DMA_ADAPTER для целевого устройства.
Синтаксис
GET_DMA_ADAPTER GetDmaAdapter;
_DMA_ADAPTER * GetDmaAdapter(
[in] PVOID Context,
[in] _DEVICE_DESCRIPTION *DeviceDescriptor,
[out] PULONG NumberOfMapRegisters
)
{...}
Параметры
[in] Context
Указатель на сведения о контексте для интерфейса. Вызывающий объект передает значение, передаваемое как элемент контекста контекста элемента структуры BUS_INTERFACE_STANDARD для интерфейса.
[in] DeviceDescriptor
Указатель на структуру DEVICE_DESCRIPTION, описывающую атрибуты физического устройства.
[out] NumberOfMapRegisters
Указатель на выходные данные — максимальное количество регистров карты, которые драйвер может выделить для любой операции передачи DMA. Вызывающий объект должен выделить переменную LONG для получения этих данных.
Возвращаемое значение
Подпрограмма GetDmaAdapter возвращает указатель на структуру DMA_ADAPTER при успешном выполнении. Если структура адаптера не может быть выделена, подпрограмма возвращает null.
Замечания
Если драйвер выполняется в IRQL = PASSIVE_LEVEL, он должен получить объект адаптера DMA устройства, вызвав функцию IoGetDmaAdapter. IoGetDmaAdapter определяет, поддерживает ли драйвер шины интерфейс BUS_INTERFACE_STANDARD; Если это так, IoGetDmaAdapter вызывает подпрограмму, на которую указывает элемент GetDmaAdapter этого интерфейса, чтобы получить объект адаптера. В противном случае IoGetDmaAdapter вызывает эквивалентную устаревшую подпрограмму.
Однако если драйвер должен получить объект адаптера во время выполнения в IRQL ≥ DISPATCH_LEVEL, он не может сделать это с помощью функции IoGetDmaAdapter. В таком случае драйвер должен запрашивать интерфейс BUS_INTERFACE_STANDARD, пока он по-прежнему находится в IRQL = PASSIVE_LEVEL путем выдачи запроса IRP_MN_QUERY_INTERFACE.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Настольный |
заголовка | wdm.h (include Ntddk.h, Wdm.h) |
IRQL | PASSIVE_LEVEL |