PMRX_CHKFCB_CALLDOWN funzione di callback (mrx.h)

La routine MRxAreFilesAliased viene chiamata da RDBSS per richiedere al mini redirector di rete di determinare se due strutture FCB rappresentano lo stesso file.

Sintassi

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

NTSTATUS PmrxChkfcbCalldown(
  [in] IN PFCB Fcb1,
  [in] IN PFCB Fcb2
)
{...}

Parametri

[in] Fcb1

Puntatore alla prima struttura FCB.

[in] Fcb2

Puntatore alla seconda struttura FCB.

Valore restituito

MRxAreFilesAliased restituisce STATUS_SUCCESS che indica che i file non sono aliasati o un valore NTSTATUS appropriato, ad esempio quanto segue:

Codice restituito Descrizione
STATUS_MORE_PROCESSING_REQUIRED I membri IndexNumber.QuadPart delle due strutture FCB sono identici. Questo valore indica che i due file confrontati sono alias.

Commenti

RDBSS chiama questa routine durante l'elaborazione di due file che sembrano essere uguali ma con nomi diversi, ad esempio un nome breve MS-DOS e un nome lungo.

MRxAreFilesAliased viene chiamato dalla routine RxPurgeRelatedFobxs durante l'eliminazione di tutte le strutture di una struttura FOBX associata a una struttura NET_ROOT. Come parte di questo processo, viene effettuato un tentativo di ripulire tutte le strutture FOBX che avevano una chiusura in sospeso prima della ricezione della richiesta di eliminazione. RDBSS deve scavengere tutte le strutture FOBX temporanee nei casi seguenti:

  • Il parametro PurgingFcb passato alla routine RxPurgeRelatedFobxs è la struttura FCB per cui deve verificarsi lo scavenging. Quando questo parametro è una directory, SERVIZI Desktop remoto deve assicurarsi che i file potenzialmente presenti in tale directory siano chiusi.

  • La struttura FCB associata alla struttura FOBX nel membro FobxsToBeFinalized della struttura RDBSS_SCAVENGER non punta alla stessa struttura FCB del parametro PurgingFCB passato a RxPurgeRelatedFobxs. Ciò è complicato dal fatto che potrebbero non essere le stesse strutture FCB, ma sono in realtà lo stesso file a causa dell'aliasing. In questo caso, viene chiamata la routine MRxAreFilesAliased per determinare se la struttura FCB è con alias.

MRxAreFilesAliased viene chiamato anche dalla routine RxScavengeFobxsForNetRoot durante l'eliminazione di tutti gli oggetti file associati a una struttura NET_ROOT. Ciò è complicato dal fatto che il parametro PurgingFCB passato a RxScavengeFobxsForNetRoot e la struttura FCB associata alla struttura NET_ROOT potrebbe effettivamente essere lo stesso file a causa dell'aliasing. In questo caso, viene chiamata la routine MRxAreFilesAliased per determinare se la struttura FCB è con alias.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione mrx.h (include Mrx.h)

Vedi anche

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot