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 |