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 を含む) |