Partager via


SpbTargetGetFileObject, fonction (spbcx.h)

La méthode SpbTargetGetFileObject accepte, en tant que paramètre d’entrée, un handle SPBTARGET sur un appareil cible ouvert et retourne un handle WDFFILEOBJECT à cette cible.

Syntaxe

WDFFILEOBJECT SpbTargetGetFileObject(
  [in] SPBTARGET Target
);

Paramètres

[in] Target

Un SPBTARGET handle sur un appareil cible sur le bus.

Valeur de retour

SpbTargetGetFileObject retourne un handle WDFFILEOBJECT sur un appareil cible ouvert sur le bus. La méthode retourne NULL si la connexion à la cible a été fermée par une EvtSpbTargetDisconnect rappel d’événement.

Remarques

Votre pilote de contrôleur peut appeler cette méthode pour obtenir un handle WDFFILEOBJECT sur un appareil cible ouvert sur le bus. Le pilote de contrôleur SPB peut ensuite utiliser ce handle comme paramètre d’entrée pour les méthodes WDF qui nécessitent un tel handle.

SpbTargetGetFileObject retourne NULL uniquement si le handle WDFFILEOBJECT à la cible a été fermé, mais, avant sa fermeture, le pilote du contrôleur SPB a pris une référence supplémentaire sur l’objet SBPTARGET pour prolonger sa durée de vie.

Si la connexion a été fermée et que le pilote du contrôleur SPB ne contient aucune référence à l’objet SPBTARGET, le handle SBPTARGET n’est plus valide. Le passage d’un handle non valide à SpbTargetGetFileObject provoque une vérification de bogue.

Après SpbTargetGetFileObject retourne un handle WDFFILEOBJECT, il n’existe aucune garantie que la connexion cible reste ouverte, sauf si un autre objet (par exemple, une requête d’E/S active) contient une référence à l’objet WDFFILEOBJECT pour empêcher sa fermeture inattendue. Cette méthode est la plus utile et, par conséquent, la plus susceptible d’être appelée, lorsque la connexion cible est garantie d’être ouverte. En règle générale, ces appels se produisent pendant EvtSpbTargetConnect et EvtSpbTargetDisconnect rappels, et pendant le traitement des requêtes d’E/S.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.
plateforme cible Universel
d’en-tête spbcx.h
bibliothèque Spbcxstubs.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

EvtSpbTargetConnect

EvtSpbTargetDisconnect

SPBTARGET