SpbControllerSetRequestAttributes, fonction (spbcx.h)
La méthode SpbControllerSetRequestAttributes définit les attributs d’objet qui seront utilisés pour tous les objets SPBREQUEST que l’extension d’infrastructure SPB (SpbCx) remet au pilote du contrôleur SPB.
void SpbControllerSetRequestAttributes(
[in] WDFDEVICE FxDevice,
[in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
[in] FxDevice
Un handle WDFDEVICE pour l’objet d’appareil qui représente le contrôleur SPB.
[in] RequestAttributes
Pointeur vers une structure de WDF_OBJECT_ATTRIBUTES allouée par l’appelant qui contient des attributs pour les objets SPBREQUEST du contrôleur SPB.
None
Pendant l’initialisation de l’appareil, votre pilote de contrôleur SPB peut appeler cette méthode pour définir les attributs par défaut des objets SPBREQUEST. Par la suite, SpbCx affecte ces attributs à toutes les demandes d’E/S qu’il remet (ou transfère) aux appareils cibles sur le bus.
RequestAttributes pointe vers une structure WDF_OBJECT_ATTRIBUTES . L’appelant doit avoir précédemment appelé la fonction WDF_OBJECT_ATTRIBUTES_INIT pour initialiser cette structure. Après cet appel, mais avant l’appel à SpbControllerSetRequestAttributes, l’appelant peut modifier les valeurs des membres suivants de cette structure :
- EvtCleanupCallback
- EvtDestroyCallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT initialise les membres EvtCleanupCallback et EvtDestroyCallback sur NULL. Si vous modifiez ces valeurs par défaut pour inscrire une fonction de rappel EvtCleanupCallback ou EvtDestroyCallback , cette fonction est appelée chaque fois qu’une demande d’E/S arrive dans la file d’attente du contrôleur SPB, qui est gérée par SpbCx. Une telle demande d’E/S entraîne l’appel de la fonction EvtCleanupCallback ou EvtDestroyCallback , même si SpbCx ne présente jamais la demande au pilote du contrôleur SPB (car la demande est annulée une fois qu’elle arrive dans la file d’attente, mais avant qu’elle ne soit transmise au pilote).
Le pilote du contrôleur SPB doit appeler SpbControllerSetRequestAttributes avant de valider l’objet d’appareil, c’est-à-dire avant de retourner à partir du rappel EvtDriverDeviceAdd ou d’ajouter le PDO à la liste enfant du contrôleur. La liste enfant représente les appareils qui sont attachés au bus. Pour plus d’informations, consultez Énumération des appareils sur un bus.
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Universal |
En-tête | spbcx.h |
Bibliothèque | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |