Функция 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 контроллера SPB.
Возвращаемое значение
None
Remarks
Во время инициализации устройства драйвер контроллера SPB может вызвать этот метод, чтобы задать атрибуты по умолчанию для объектов SPBREQUEST. После этого SpbCx назначает эти атрибуты всем запросам ввода-вывода, которые доставляются (или пересылают) целевым устройствам в шине.
RequestAttributes указывает на структуру WDF_OBJECT_ATTRIBUTES . Вызывающий объект ранее должен вызвать функцию WDF_OBJECT_ATTRIBUTES_INIT для инициализации этой структуры. После этого вызова, но до вызова SpbControllerSetRequestAttributes, вызывающий объект может изменять значения следующих элементов этой структуры:
- EvtCleanupCallback
- EvtDeкистройCallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT инициализирует элементы EvtCleanupCallback и EvtDegradCallbackзначением NULL. Если изменить эти значения по умолчанию, чтобы зарегистрировать функцию обратного вызова EvtCleanupCallback или EvtDegradCallback , эта функция вызывается каждый раз, когда запрос ввода-вывода поступает в очередь контроллера SPB, которая управляется SpbCx. Такой запрос ввода-вывода приводит к вызову функции EvtCleanupCallback или EvtDegradCallback , даже если SpbCx никогда не представляет запрос драйверу контроллера SPB (так как запрос отменяется после поступления в очередь, но до передачи драйверу).
Драйвер контроллера SPB должен вызвать SpbControllerSetRequestAttributes перед фиксацией объекта устройства, то есть перед тем, как он возвратится из обратного вызова EvtDriverDeviceAdd или добавляет PDO в дочерний список контроллера. Дочерний список представляет устройства, подключенные к шине. Дополнительные сведения см. в разделе Перечисление устройств в шине.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | spbcx.h |
Библиотека | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |