Freigeben über


MRxCollapseOpen-Routine

Die MRxCollapseOpen-Routine wird von RDBSS aufgerufen, um anzufordern, dass der Netzwerk-Mini-Redirector eine offene Dateisystemanforderung auf eine vorhandene SRV_OPEN-Struktur reduziert.

Syntax

PMRX_CALLDOWN MRxCollapseOpen;

NTSTATUS MRxCollapseOpen(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Parameter

RxContext [in, out]
Ein Zeiger auf die RX_CONTEXT-Struktur. Dieser Parameter enthält das IRP, das den Vorgang anfordert.

Rückgabewert

MRxCollapseOpen gibt STATUS_SUCCESS nach Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B. den folgenden:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES

Es gab nicht genügend Ressourcen, um den Vorgang abzuschließen.

Hinweise

MRxCollapseOpen wird von RDBSS aufgerufen, um eine SRV_OPEN Struktur lokal zu reduzieren. Der Netzwerk-Mini-Redirector wird konsultiert, um festzustellen, ob ein Zusammenbruch möglich ist, sodass es keinen Grund gibt, den Netzwerk-Mini-Redirector zweimal aufzurufen. Wenn der Netzwerk-Mini-Redirector beschließt, die SRV_OPEN-Struktur zu reduzieren, wird dies der Fall sein und ein rückgabefähiges status zurückgegeben. Ein Rückgabewert von STATUS_SUCCESS ist ein endender Rückgabewert. Ein anderer Rückgabewert, z. B. STATUS_MORE_PROCESSING_REQUIRED, wird als nicht beendender Rückgabewert betrachtet.

Vor dem Aufrufen von MRxCollapseOpen ändert RDBSS die folgenden Member in der RX_CONTEXT-Struktur, auf die der RxContext-Parameter verweist:

pRelevantSrvOpen wird auf die SRV_OPEN-Struktur festgelegt, die reduziert werden soll.

Create.pSrvCall wird auf die SRV_CALL-Struktur festgelegt, die dem SRV_OPEN zugeordnet ist.

Wenn der Netzwerkminiumleitungsor beschließt, die SRV_OPEN-Struktur zu reduzieren, muss der SrvOpen-Member der RX_CONTEXT-Struktur auf die reduzierte SRV_OPEN-Struktur festgelegt werden.

Anforderungen

Zielplattform

Desktop

Header

Mrx.h (einschließlich Mrx.h)

Weitere Informationen

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxErstellen

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend