PMRX_CHANGE_BUFFERING_STATE_CALLDOWN funzione di callback (mrx.h)
La routineMRxCompleteBufferingStateChangeRequest viene chiamata da RDBSS per notificare al mini-reindirizzamento di rete che è stata completata una richiesta di modifica dello stato del buffer.
Sintassi
PMRX_CHANGE_BUFFERING_STATE_CALLDOWN PmrxChangeBufferingStateCalldown;
NTSTATUS PmrxChangeBufferingStateCalldown(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PMRX_SRV_OPEN SrvOpen,
[in] IN PVOID MRxContext
)
{...}
Parametri
[in, out] RxContext
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che richiede l'operazione.
[in, out] SrvOpen
Puntatore a un parametro di contesto da usare dalla routine di callback del mini-reindirizzamento di rete.
[in] MRxContext
Puntatore alla struttura SRV_OPEN e alla struttura FCB associata da modificare.
Valore restituito
MRxCompleteBufferingStateChangeRequest restituisce STATUS_SUCCESS sull'esito positivo o su un valore NTSTATUS appropriato, ad esempio quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_NOT_SUPPORTED | Un'opzione nella modifica della richiesta di buffering non è supportata. |
Commenti
Prima di chiamare MRxCompleteBufferingStateChangeRequest, RDBSS:
Acquisisce un blocco esclusivo sulla struttura FCB.
Imposta il membro FcbState di SrvOpen-Fcb> su FCB_STATE_BUFFERSTATE_CHANGING.
Modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext :
- pRelevantSrvOpen è impostato sulla struttura SRV_OPEN.
- pFcb è impostato sulla struttura FCB.
- pFobx è impostato sulla struttura FOBX.
Se il buffer di blocco è abilitato, MRxCompleteBufferingStateChangeRequest dovrà scaricare i blocchi di intervallo di byte nel server. L'elenco delle aree bloccate viene passato al mini-reindirizzamento di rete nella struttura LowIoContext.ParamsFor.Locks.LockList della struttura RX_CONTEXT.
Il reindirizzamento Server Message Block (SMB) usa MRxCompleteBufferingStateChangeRequest per inviare una risposta di interruzione di oplock o per chiudere l'handle in un'interruzione di oplock se il file non è più in uso. I blocchi dell'intervallo di byte che devono essere scaricati nel server vengono passati al mini-reindirizzamento di rete nel membro LowIoContext.ParamsFor.Locks.LockList della struttura RX_CONTEXT. Il nuovo livello di oplock viene passato nel parametro MrxContext .
RDBSS ignora il valore restituito da MRxCompleteBufferingStateChangeRequest.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | mrx.h (include Mrx.h) |