次の方法で共有


PMRX_CHKFCB_CALLDOWN コールバック関数 (mrx.h)

MRxAreFilesAliased ルーチンは RDBSS によって呼び出され、ネットワーク ミニ リダイレクターを要求して、2 つの FCB 構造体が同じファイルを表しているかどうかを判断します。

構文

PMRX_CHKFCB_CALLDOWN PmrxChkfcbCalldown;

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

パラメーター

[in] Fcb1

最初の FCB 構造体へのポインター。

[in] Fcb2

2 番目の FCB 構造体へのポインター。

戻り値

MRxAreFilesAliased は、ファイルがエイリアス化されていないことを示すSTATUS_SUCCESS、または次のような適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_MORE_PROCESSING_REQUIRED 2 つの FCB 構造体の IndexNumber.QuadPart メンバーは同じです。 この値は、比較対象の 2 つのファイルが別名であることを示します。

注釈

RDBSS は、同じと思われるが名前が異なる 2 つのファイル (MS-DOS の短い名前や長い名前など) を処理するときに、このルーチンを呼び出します。

MRxAreFilesAliased は、NET_ROOT構造体に関連付けられている FOBX 構造体のすべての構造体を消去するときに 、RxPurgeRelatedFobxs ルーチンによって呼び出されます。 このプロセスの一環として、消去要求が受信される前にクローズが保留中であったすべての FOBX 構造体を消去しようとしました。 RDBSS では、次の場合に一時的な FOBX 構造体をスキャベンジする必要があります。

  • RxPurgeRelatedFobxs ルーチンに渡される PurgeingFcb パラメーターは、清掃が行われる FCB 構造体です。 このパラメーターがディレクトリの場合、RDBSS は、そのディレクトリに存在する可能性があるファイルが閉じられるようにする必要があります。

  • RDBSS_SCAVENGER 構造体の FobxsToBeFinalized メンバーの FOBX 構造体に関連付けられている FCB 構造体は、RxPurgeRelatedFobxs に渡される PurgeingFCB パラメーターと同じ FCB 構造体を指していません。 これは、それらが同じFCB構造ではないかもしれないが、エイリアスのために実際には同じファイルであるという事実によって複雑です。 この場合、FCB 構造体がエイリアス化されているかどうかを判断するために 、MRxAreFilesAliased ルーチンが呼び出されます。

MRxAreFilesAliased は、NET_ROOT構造体に関連付けられているすべてのファイル オブジェクトを消去するときに 、RxScavengeFobxsForNetRoot ルーチンによっても呼び出されます。 これは、RxScavengeFobxsForNetRoot に渡される PurgeingFCB パラメーターと、NET_ROOT構造に関連付けられている FCB 構造体が、エイリアス化のために実際には同じファイルになる可能性があるため、複雑です。 この場合、FCB 構造体がエイリアス化されているかどうかを判断するために 、MRxAreFilesAliased ルーチンが呼び出されます。

要件

要件
対象プラットフォーム デスクトップ
Header mrx.h (Mrx.h を含む)

こちらもご覧ください

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend

RxFinalizeNetFCB

RxPurgeRelatedFobxs

RxScavengeFobxsForNetRoot