Функция SpbControllerSetRequestAttributes (spbcx.h)
Метод SpbControllerSetRequestAttributes задает атрибуты объектов, которые будут использоваться для всех объектов SPBREQUEST, которые расширение платформы SPB (SpbCx) передает драйверу контроллера SPB.
Синтаксис
void SpbControllerSetRequestAttributes(
[in] WDFDEVICE FxDevice,
[in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
Параметры
[in] FxDevice
Дескриптор WDFDEVICE для объекта устройства, представляющего контроллер SPB.
[in] RequestAttributes
Указатель на структуру, выделенную вызывающим объектом WDF_OBJECT_ATTRIBUTES, которая содержит атрибуты для объектов SPBREQUEST контроллера SPBREQUEST.
Возвращаемое значение
Никакой
Замечания
Во время инициализации устройства драйвер контроллера SPB может вызвать этот метод, чтобы задать атрибуты по умолчанию для объектов SPBREQUEST. После этого SpbCx назначает эти атрибуты любым запросам ввода-вывода, которые он передает (или пересылает) на целевые устройства на шине.
RequestAttributes указывает на структуру WDF_OBJECT_ATTRIBUTES. Вызывающий объект должен ранее вызвать функцию WDF_OBJECT_ATTRIBUTES_INIT для инициализации этой структуры. После этого вызова, но перед вызовом SpbControllerSetRequestAttributes, вызывающий объект может изменить значения следующих элементов этой структуры:
- EvtCleanupCallback
- EvtDeskallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT инициализирует элементы EvtCleanupCallback и EvtDeskallback, чтобы NULL. Если изменить эти значения по умолчанию, чтобы зарегистрировать функцию обратного вызова EvtCleanupCallback или EvtDeskallback обратного вызова, эта функция вызывается каждый раз, когда запрос ввода-вывода поступает в очередь контроллера SPB, которая управляется SpbCx. Такой запрос ввода-вывода приводит к вызову функции EvtCleanupCallback или EvtDeskallback, даже если SpbCx никогда не предоставляет запрос драйверу контроллера SPB (так как запрос отменяется после поступления в очередь, но до его передачи драйверу).
Драйвер контроллера SPB должен вызывать SpbControllerSetRequestAttributes, прежде чем он фиксирует объект устройства, то есть, прежде чем он возвращается из обратного вызова EvtDriverDeviceAdd или добавляет PDO в дочерний список контроллера. Дочерний список представляет устройства, подключенные к шине. Дополнительные сведения см. в разделе Перечисление устройств вшины.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
целевая платформа | Всеобщий |
заголовка | spbcx.h |
библиотеки | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |