Condividi tramite


Funzione RxIndicateChangeOfBufferingStateForSrvOpen (rxprocs.h)

viene chiamato RxIndicateChangeOfBufferingStateForSrvOpen per registrare una richiesta di stato di buffering delle modifiche (un'indicazione di interruzione oplock, ad esempio) per un'elaborazione successiva. Se vengono soddisfatte le precondizioni necessarie, l'oplock viene elaborato ulteriormente.

Sintassi

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

Parametri

SrvCall

Puntatore alla struttura SRV_CALL.

SrvOpen

Puntatore alla struttura SRV_OPEN.

SrvOpenKey

Puntatore alla chiave per la struttura chiave SRV_OPEN.

Context

Puntatore al contesto da passare al mini-reindirizzamento di rete durante i callback per l'elaborazione della richiesta.

Valore restituito

Nessuno

Osservazioni

Questa routine registra la richiesta di stato del buffer delle modifiche inserendola nell'elenco di registrazioni (elaborazione A livello DPC) o nell'elenco di dispatcher/gestore appropriato.

Si tratta di un'istanza in cui nel buffering le indicazioni di modifica dello stato dal server usano la chiave generata dal client (l'indirizzo SRV_OPEN in sé è la chiave migliore che può essere usata). Ciò implica che non è necessaria alcuna ulteriore ricerca.

Tuttavia, se questa routine viene chiamata a livello DPC, l'indicazione viene elaborata come se fosse necessario eseguire la ricerca.

Se la risorsa per il cluster di failover è già stata acquisita da questo thread, l'indicazione di modifica dello stato del buffering viene elaborata immediatamente senza ulteriore ritardo. RxIndicateChangeOfBufferingStateForSrvOpen chiama RxChangeBufferingState immediatamente in questo caso.

Le routine interne chiamate da questa routine possono non riuscire a causa di una mancanza di memoria disponibile (non è possibile allocare memoria del pool non di paging, ad esempio), ma poiché si tratta di una routine VOID non viene restituito alcun errore quando si verifica questa condizione.

Se una richiesta di stato di buffering può essere elaborata immediatamente anziché essere accodata per l'elaborazione in un secondo momento, è possibile chiamare RxChangeBufferingState.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione rxprocs.h (include Rxprocs.h, Struchdr.h, Fcb.h)
IRQL <= APC_LEVEL

Vedere anche

RX_CONTEXT

RxChangeBufferingState

RxIndicateChangeOfBufferingState