mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
1.5 KiB
91 lines
1.5 KiB
|
|
/*++
|
|
|
|
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 );
|
|
}
|
|
}
|
|
|
|
|