Freigeben über


EVT_SERCX_FILECLOSE Rückruffunktion (sercx.h)

Die EvtSerCxFileClose Ereignisrückruffunktion benachrichtigt den seriellen Controllertreiber, dass das Dateiobjekt, das das serielle Controllergerät darstellt, freigegeben wurde.

Syntax

EVT_SERCX_FILECLOSE EvtSercxFileclose;

void EvtSercxFileclose(
  [in] WDFDEVICE Device
)
{...}

Parameter

[in] Device

Ein WDFDEVICE-Handle für das Framework-Geräteobjekt, das den seriellen Controller darstellt.

Rückgabewert

Nichts

Bemerkungen

Diese Funktion sollte das serielle Controllergerät aus dem Zustand entfernen, in dem es bereit ist, Daten zu empfangen und zu übertragen. Diese Funktion sollte Unterbrechungen deaktivieren, wenn Unterbrechungen aktiviert sind. Jeder Speicher, der nur für die Lebensdauer des Dateiobjekts zugewiesen wird, sollte entweder in dieser Funktion oder in der EvtSerCxFileCleanup Funktion zugeordnet werden.

Wenn der serielle Controllertreiber eine EvtSerCxFileCleanup--Funktion implementiert, ruft die serielle Frameworkerweiterung (SerCx) diese Funktion auf, bevor sie die EvtSerCxFileClose--Funktion aufruft. SerCx ruft die EvtSerCxFileCleanup Funktion auf, wenn ein Client das letzte Handle für das Dateiobjekt schließt, das das serielle Controllergerät darstellt. Nach diesem Aufruf empfängt der Treiber keine neuen Anforderungen für E/A-Vorgänge. SerCx ruft die EvtSerCxFileClose Funktion auf, wenn das Dateiobjekt losgelassen wird, was nur auftritt, nachdem alle ausstehenden E/A-Anforderungen abgeschlossen oder abgebrochen wurden.

Um eine EvtSerCxFileClose Rückruffunktion zu registrieren, muss der Treiber die SerCxInitialize-Methode aufrufen.

Weitere Informationen finden Sie unter Framework File Objects.

Beispiele

Der Funktionstyp für diesen Rückruf wird wie folgt in Sercx.h deklariert.

typedef VOID
  EVT_SERCX_FILECLOSE(
    __in WDFDEVICE Device
    );

Um eine EvtSerCxFileClose Rückruffunktion zu definieren, die MyEvtSerCxFileCloseheißt, müssen Sie zunächst eine Funktionsdeklaration angeben, die statische Treiberüberprüfung (SDV) und andere Überprüfungstools erforderlich ist.

EVT_SERCX_FILECLOSE MyEvtSerCxFileClose;

Implementieren Sie dann die Rückruffunktion wie folgt.

VOID
  MyEvtSerCxFileClose(
    __in WDFDEVICE Device
    )
{ ... }

Weitere Informationen zu SDV-Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für KMDF-Treiber.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Desktop
Header- sercx.h
IRQL- Bei IRQL-<= DISPATCH_LEVEL aufgerufen

Siehe auch

EvtSerCxFileCleanup

SerCxInitialize