Compartir a través de


Función SpbControllerSetRequestAttributes (spbcx.h)

El método SpbControllerSetRequestAttributes establece atributos de objeto que se usarán para todos los objetos SPBREQUEST que la extensión del marco de SPB (SpbCx) entrega al controlador del controlador SPB.

Sintaxis

void SpbControllerSetRequestAttributes(
  [in] WDFDEVICE              FxDevice,
  [in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);

Parámetros

[in] FxDevice

Un controlador WDFDEVICE para el objeto de dispositivo que representa el controlador SPB.

[in] RequestAttributes

Puntero a una estructura de WDF_OBJECT_ATTRIBUTES asignada por el autor de la llamada que contiene atributos para los objetos SPBREQUEST del controlador SPB.

Valor devuelto

None

Observaciones

Durante la inicialización del dispositivo, el controlador del controlador SPB puede llamar a este método para establecer los atributos predeterminados para los objetos SPBREQUEST. A partir de entonces, SpbCx asigna estos atributos a las solicitudes de E/S que entrega (o reenvía) a los dispositivos de destino en el bus.

RequestAttributes apunta a una estructura WDF_OBJECT_ATTRIBUTES . El llamador debe haber llamado previamente a la función WDF_OBJECT_ATTRIBUTES_INIT para inicializar esta estructura. Después de esta llamada, pero antes de la llamada a SpbControllerSetRequestAttributes, el autor de la llamada puede cambiar los valores de los siguientes miembros de esta estructura:

  • EvtCleanupCallback
  • EvtDestroyCallback
  • ContextSizeOverride
  • ContextTypeInfo
SpbControllerSetRequestAttributes usará estos valores como atributos predeterminados para los objetos SPBREQUEST. Sin embargo, el controlador no puede cambiar los valores de atributo predeterminados contenidos en los miembros ExecutionLevel, SynchronizationScope y ParentObject . Estos miembros deben permanecer sin cambios de los valores a los que inicializa la función WDF_OBJECT_ATTRIBUTES_INIT .

WDF_OBJECT_ATTRIBUTES_INIT inicializa los miembros EvtCleanupCallback y EvtDestroyCallback en NULL. Si cambia estos valores predeterminados para registrar una función de devolución de llamada EvtCleanupCallback o EvtDestroyCallback , se llama a esta función cada vez que llega una solicitud de E/S a la cola del controlador SPB, que se administra mediante SpbCx. Esta solicitud de E/S hace que se llame a la función EvtCleanupCallback o EvtDestroyCallback incluso si SpbCx nunca presenta la solicitud al controlador del controlador SPB (porque la solicitud se cancela después de llegar a la cola, pero antes de pasarla al controlador).

El controlador del controlador SPB debe llamar a SpbControllerSetRequestAttributes antes de confirmar el objeto de dispositivo, es decir, antes de que vuelva de la devolución de llamada EvtDriverDeviceAdd o agregue el PDO a la lista secundaria del controlador. La lista secundaria representa los dispositivos conectados al bus. Para obtener más información, vea Enumerar los dispositivos en un bus.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Universal
Encabezado spbcx.h
Library Spbcxstubs.lib
IRQL PASSIVE_LEVEL

Consulte también

EvtDriverDeviceAdd

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT