Share via


RxIndicateChangeOfBufferingStateForSrvOpen-Funktion (rxprocs.h)

RxIndicateChangeOfBufferingStateForSrvOpen wird aufgerufen, um eine Änderungspufferstatusanforderung (z. B. eine Oplock-Unterbrechungsanzeige) für die spätere Verarbeitung zu registrieren. Wenn die erforderlichen Voraussetzungen erfüllt sind, wird der Oplock weiter verarbeitet.

Syntax

void RxIndicateChangeOfBufferingStateForSrvOpen(
  PMRX_SRV_CALL SrvCall,
  PMRX_SRV_OPEN SrvOpen,
  PVOID         SrvOpenKey,
  PVOID         Context
);

Parameter

SrvCall

Ein Zeiger auf die SRV_CALL-Struktur.

SrvOpen

Ein Zeiger auf die SRV_OPEN-Struktur.

SrvOpenKey

Ein Zeiger auf den Schlüssel für die SRV_OPEN Schlüsselstruktur.

Context

Ein Zeiger auf den Kontext, der während der Rückrufe für die Verarbeitung der Anforderung an den Netzwerkminiumleitungs-Umleitungs-Netzwerk übergeben werden soll.

Rückgabewert

Keine

Bemerkungen

Diese Routine registriert die Änderungspufferstatusanforderung, indem sie entweder in die Registrierungsliste (Verarbeitung auf DPC-Ebene) oder in die entsprechende Dispatcher-/Handlerliste eingefügt wird.

Dies ist eine instance, bei der im Pufferzustand Änderungsanzeigen vom Server den vom Client generierten Schlüssel verwenden (die SRV_OPEN Adresse an sich ist der beste Schlüssel, der verwendet werden kann). Dies bedeutet, dass keine weitere Suche erforderlich ist.

Wenn diese Routine jedoch auf DPC-Ebene aufgerufen wird, wird die Indikation so verarbeitet, als ob die Suche durchgeführt werden muss.

Wenn die Ressource für den FCB bereits von diesem Thread abgerufen wurde, wird die Änderungsanzeige des Pufferzustands sofort ohne weitere Verzögerung verarbeitet. RxIndicateChangeOfBufferingStateForSrvOpen ruft in diesem Fall sofort RxChangeBufferingState auf.

Die von dieser Routine aufgerufenen internen Routinen können aufgrund eines Mangels an verfügbarem Arbeitsspeicher fehlschlagen (z. B. nicht ausgelagerter Poolspeicher zugeordnet werden kann), aber da es sich um eine VOID-Routine handelt, wird bei dieser Bedingung kein Fehler zurückgegeben.

Wenn eine Pufferstatusanforderung sofort verarbeitet werden kann, anstatt für die spätere Verarbeitung in die Warteschlange eingereiht zu werden, kann RxChangeBufferingState aufgerufen werden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile rxprocs.h (include Rxprocs.h, Struchdr.h, Fcb.h)
IRQL <= APC_LEVEL

Weitere Informationen

RX_CONTEXT

RxChangeBufferingState

RxIndicateChangeOfBufferingState