Função SpbControllerSetRequestAttributes (spbcx.h)
O método SpbControllerSetRequestAttributes define atributos de objeto que serão usados para todos os objetos SPBREQUEST que a extensão da estrutura SPB (SpbCx) fornece ao driver do controlador SPB.
Sintaxe
void SpbControllerSetRequestAttributes(
[in] WDFDEVICE FxDevice,
[in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
Parâmetros
[in] FxDevice
Um identificador WDFDEVICE para o objeto de dispositivo que representa o controlador SPB.
[in] RequestAttributes
Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES alocada pelo chamador que contém atributos para os objetos SPBREQUEST do controlador SPB.
Retornar valor
Nenhum
Comentários
Durante a inicialização do dispositivo, o driver do controlador SPB pode chamar esse método para definir os atributos padrão para objetos SPBREQUEST. Depois disso, o SpbCx atribui esses atributos a quaisquer solicitações de E/S que ele entrega (ou encaminha) para dispositivos de destino no barramento.
RequestAttributes aponta para uma estrutura WDF_OBJECT_ATTRIBUTES . O chamador deve ter chamado anteriormente a função WDF_OBJECT_ATTRIBUTES_INIT para inicializar essa estrutura. Após essa chamada, mas antes da chamada para SpbControllerSetRequestAttributes, o chamador pode alterar os valores dos seguintes membros dessa estrutura:
- EvtCleanupCallback
- EvtDestroyCallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT inicializa os membros EvtCleanupCallback e EvtDestroyCallback para NULL. Se você alterar esses valores padrão para registrar uma função de retorno de chamada EvtCleanupCallback ou EvtDestroyCallback , essa função será chamada sempre que uma solicitação de E/S chegar na fila do controlador SPB, que é gerenciada pelo SpbCx. Essa solicitação de E/S faz com que a função EvtCleanupCallback ou EvtDestroyCallback seja chamada mesmo que o SpbCx nunca apresente a solicitação ao driver do controlador SPB (porque a solicitação é cancelada depois que ela chega na fila, mas antes de ser passada para o driver).
O driver do controlador SPB deve chamar SpbControllerSetRequestAttributes antes de confirmar o objeto do dispositivo, ou seja, antes de retornar do retorno de chamada EvtDriverDeviceAdd ou adicionar o PDO à lista filho do controlador. A lista filho representa os dispositivos anexados ao barramento. Para obter mais informações, consulte Enumerando os dispositivos em um barramento.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Universal |
Cabeçalho | spbcx.h |
Biblioteca | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |