Freigeben über


SpbTargetGetFileObject-Funktion (spbcx.h)

Die SpbTargetGetFileObject Methode akzeptiert als Eingabeparameter ein SPBTARGET-Handle für ein geöffnetes Zielgerät und gibt ein WDFFILEOBJECT-Handle an dieses Ziel zurück.

Syntax

WDFFILEOBJECT SpbTargetGetFileObject(
  [in] SPBTARGET Target
);

Parameter

[in] Target

Ein SPBTARGET Handle auf einem Zielgerät auf dem Bus.

Rückgabewert

SpbTargetGetFileObject gibt ein WDFFILEOBJECT-Handle an ein geöffnetes Zielgerät im Bus zurück. Die Methode gibt NULL zurück, wenn die Verbindung mit dem Ziel von einem EvtSpbTargetDisconnect Ereignisrückruf geschlossen wurde.

Bemerkungen

Der Controllertreiber kann diese Methode aufrufen, um ein WDFFILEOBJECT-Handle für ein geöffnetes Zielgerät auf dem Bus abzurufen. Der SPB-Controllertreiber kann dieses Handle dann als Eingabeparameter für WDF-Methoden verwenden, die ein solches Handle erfordern.

SpbTargetGetFileObject gibt NULL nur zurück, wenn das WDFFILEOBJECT-Handle für das Ziel geschlossen wurde, aber bevor er geschlossen wurde, hat der SPB-Controllertreiber einen zusätzlichen Verweis auf das SBPTARGET -Objekt verwendet, um seine Lebensdauer zu erweitern.

Wenn die Verbindung geschlossen wurde und der SPB-Controllertreiber keine Verweise auf das SPBTARGET-Objekt enthält, ist das SBPTARGET-Handle nicht mehr gültig. Das Übergeben eines ungültigen Handles an SpbTargetGetFileObject führt zu einer Fehlerüberprüfung.

Nachdem SpbTargetGetFileObject ein WDFFILEOBJECT-Handle zurückgibt, besteht keine Garantie dafür, dass die Zielverbindung geöffnet bleibt, es sei denn, ein anderes Objekt (z. B. eine aktive E/A-Anforderung) enthält einen Verweis auf das WDFFILEOBJECT-Objekt, um zu verhindern, dass sie unerwartet geschlossen wird. Diese Methode ist am nützlichsten und daher höchstwahrscheinlich aufgerufen, wenn die Zielverbindung garantiert geöffnet ist. In der Regel treten solche Aufrufe während EvtSpbTargetConnect und EvtSpbTargetDisconnect Rückrufe und während der Verarbeitung von E/A-Anforderungen auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Universal
Header- spbcx.h
Library Spbcxstubs.lib
IRQL- <= DISPATCH_LEVEL

Siehe auch

EvtSpbTargetConnect

EvtSpbTargetDisconnect

SPBTARGET-