92 lines
1.6 KiB
C
92 lines
1.6 KiB
C
|
||
/*++
|
||
|
||
Copyright (c) 1997 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
MountSup.c
|
||
|
||
Abstract:
|
||
|
||
This module implements the support routines in Ntfs for reparse points.
|
||
|
||
Author:
|
||
|
||
Felipe Cabrera [cabrera] 30-Jun-1997
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#include "NtfsProc.h"
|
||
|
||
#define Dbg DEBUG_TRACE_FSCTRL
|
||
|
||
//
|
||
// Define a tag for general pool allocations from this module
|
||
//
|
||
|
||
#undef MODULE_POOL_TAG
|
||
#define MODULE_POOL_TAG ('PFtN')
|
||
|
||
|
||
|
||
#ifdef ALLOC_PRAGMA
|
||
#pragma alloc_text(PAGE, NtfsInitializeReparsePointIndex)
|
||
#endif
|
||
|
||
|
||
|
||
VOID
|
||
NtfsInitializeReparsePointIndex (
|
||
IN PIRP_CONTEXT IrpContext,
|
||
IN PFCB Fcb,
|
||
IN PVCB Vcb
|
||
)
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This routine opens the mount points index for the volume. If the index does not
|
||
exist it is created and initialized.
|
||
|
||
Arguments:
|
||
|
||
Fcb - Pointer to Fcb for the object id file.
|
||
|
||
Vcb - Volume control block for volume being mounted.
|
||
|
||
Return Value:
|
||
|
||
None
|
||
|
||
--*/
|
||
|
||
{
|
||
UNICODE_STRING IndexName = CONSTANT_UNICODE_STRING( L"$R" );
|
||
|
||
PAGED_CODE();
|
||
|
||
NtfsAcquireExclusiveFcb( IrpContext, Fcb, NULL, 0 );
|
||
|
||
try {
|
||
|
||
NtOfsCreateIndex( IrpContext,
|
||
Fcb,
|
||
IndexName,
|
||
CREATE_OR_OPEN,
|
||
0,
|
||
COLLATION_NTOFS_ULONGS,
|
||
NtOfsCollateUlongs,
|
||
NULL,
|
||
&Vcb->ReparsePointTableScb );
|
||
} finally {
|
||
|
||
NtfsReleaseFcb( IrpContext, Fcb );
|
||
}
|
||
}
|
||
|
||
|