Funzione SpbTargetGetFileObject (spbcx.h)
Il metodo SpbTargetGetFileObject accetta, come parametro di input, un handle SPBTARGET in un dispositivo di destinazione aperto e restituisce un handle WDFFILEOBJECT a questa destinazione.
Sintassi
WDFFILEOBJECT SpbTargetGetFileObject(
[in] SPBTARGET Target
);
Parametri
[in] Target
Handle SPBTARGET per un dispositivo di destinazione nel bus.
Valore restituito
SpbTargetGetFileObject restituisce un handle WDFFILEOBJECT a un dispositivo di destinazione aperto nel bus. Il metodo restituisce NULL se la connessione alla destinazione è stata chiusa da un callback dell'evento EvtSpbTargetDisconnect .
Commenti
Il driver del controller può chiamare questo metodo per ottenere un handle WDFFILEOBJECT a un dispositivo di destinazione aperto nel bus. Il driver del controller SPB può quindi usare questo handle come parametro di input per i metodi WDF che richiedono un handle di questo tipo.
SpbTargetGetFileObject restituisce NULL solo se l'handle WDFFILEOBJECT alla destinazione è stato chiuso ma, prima della chiusura, il driver del controller SPB ha preso un riferimento aggiuntivo sull'oggetto SBPTARGET per estendere la durata.
Se la connessione è stata chiusa e il driver del controller SPB non contiene riferimenti all'oggetto SPBTARGET, l'handle SBPTARGET non è più valido. Se si passa un handle non valido a SpbTargetGetFileObject , viene generato un controllo di bug.
Dopo che SpbTargetGetFileObject restituisce un handle WDFFILEOBJECT, non esiste alcuna garanzia che la connessione di destinazione rimanga aperta, a meno che un altro oggetto (ad esempio, una richiesta di I/O attiva) contenga un riferimento all'oggetto WDFFILEOBJECT per impedirne la chiusura imprevista. Questo metodo è più utile e, pertanto, è molto probabile che venga chiamata, quando la connessione di destinazione è garantita l'apertura. In genere, tali chiamate si verificano durante i callback EvtSpbTargetConnect e EvtSpbTargetDisconnect e durante l'elaborazione delle richieste di I/O.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8. |
Piattaforma di destinazione | Universale |
Intestazione | spbcx.h |
Libreria | Spbcxstubs.lib |
IRQL | <= DISPATCH_LEVEL |