Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTFSD
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


STATUS_REPARSE

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Hi,
Can anybody please explain the meaning of STATUS_REPARSE ?
I am getting this return value for IRP_MJ_CREATE is issued immediately after
ejecting and then re-inserting the floppy into the drive.
After ejecting the floppy, I had got return value denoting disk error.
I reinserted the floppy and again tried to refresh the listing of files in
NT explorer. The first IRP_MJ_CREATE returned STATUS_REPARSE. Next
IRP_MJ_CREATE got STATUS_SUCCESS.

Thanks in advance.

Josie

Comments

  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    Joseph,

    This means the FSD detected that the media changed by pinging the underlying
    storage driver stack. In this scenario, the FSD returns STATUS_REPARSE to
    the "IO Manager," or "IOM," to tell the IOM to re-parse the file path. This
    causes the IOM to re-traverse the VPB thereby finding the new FSD device
    that represents the new media. The IOM then re-issues the create IRP with
    the new parameters.

    There are actually two flavors of STATUS_REPARSE. If the FSD sets
    irp->IoStatus.Information to IO_REPARSE and replaces the file object in the
    IO stack location, then the IOM will re-parse the entire path. This is
    useful for implementing symbolic links, and is demonstrated in a reparse
    sample in the NT 4.0 DDK.

    If the FSD requests the other flavor of STATUS_REPARSE by specifying
    IO_REMOUNT in irp->IoStatus.Information, then the IOM will simply
    re-traverse the VPB instead of parsing the entire path. This is
    demonstrated in the sample file systems included with the IFS Kit. This is
    the type of STATUS_REPARSE you're observing.

    Regards,

    Rob

    -----Original Message-----
    From: Joseph _Arun [mailto:[email protected]]
    Sent: Thursday, April 20, 2000 6:29 AM
    To: File Systems Developers
    Subject: [ntfsd] STATUS_REPARSE



    Hi,
    Can anybody please explain the meaning of STATUS_REPARSE ?
    I am getting this return value for IRP_MJ_CREATE is issued immediately after
    ejecting and then re-inserting the floppy into the drive.

    After ejecting the floppy, I had got return value denoting disk error.
    I reinserted the floppy and again tried to refresh the listing of files in
    NT explorer. The first IRP_MJ_CREATE returned STATUS_REPARSE. Next
    IRP_MJ_CREATE got STATUS_SUCCESS.

    Thanks in advance.

    Josie
  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    *cough*

    Sorry in my haste, I said, "replaces the file object in the IO stack
    location," in the second paragraph. I meant, "replaces the filename in the
    file object in the IO stack location."

    -----Original Message-----
    From: Rob Fuller
    Sent: Thursday, April 20, 2000 10:23 AM
    To: 'File Systems Developers'
    Subject: RE: [ntfsd] STATUS_REPARSE


    Joseph,

    This means the FSD detected that the media changed by pinging the underlying
    storage driver stack. In this scenario, the FSD returns STATUS_REPARSE to
    the "IO Manager," or "IOM," to tell the IOM to re-parse the file path. This
    causes the IOM to re-traverse the VPB thereby finding the new FSD device
    that represents the new media. The IOM then re-issues the create IRP with
    the new parameters.

    There are actually two flavors of STATUS_REPARSE. If the FSD sets
    irp->IoStatus.Information to IO_REPARSE and replaces the file object in the
    IO stack location, then the IOM will re-parse the entire path. This is
    useful for implementing symbolic links, and is demonstrated in a reparse
    sample in the NT 4.0 DDK.

    If the FSD requests the other flavor of STATUS_REPARSE by specifying
    IO_REMOUNT in irp->IoStatus.Information, then the IOM will simply
    re-traverse the VPB instead of parsing the entire path. This is
    demonstrated in the sample file systems included with the IFS Kit. This is
    the type of STATUS_REPARSE you're observing.

    Regards,

    Rob

    -----Original Message-----
    From: Joseph _Arun [mailto:[email protected]]
    Sent: Thursday, April 20, 2000 6:29 AM
    To: File Systems Developers
    Subject: [ntfsd] STATUS_REPARSE



    Hi,
    Can anybody please explain the meaning of STATUS_REPARSE ?
    I am getting this return value for IRP_MJ_CREATE is issued immediately after
    ejecting and then re-inserting the floppy into the drive.

    After ejecting the floppy, I had got return value denoting disk error.
    I reinserted the floppy and again tried to refresh the listing of files in
    NT explorer. The first IRP_MJ_CREATE returned STATUS_REPARSE. Next
    IRP_MJ_CREATE got STATUS_SUCCESS.

    Thanks in advance.

    Josie
  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    STATUS_REPARSEAn to refine this alittle more, I suspect you ment the
    filename in the file object, not in the IO stack location; semantics :)
    -----Original Message-----
    From: [email protected]
    [mailto:[email protected]]On Behalf Of Rob Fuller
    Sent: Thursday, April 20, 2000 8:25 AM
    To: File Systems Developers
    Subject: [ntfsd] RE: STATUS_REPARSE


    *cough*

    Sorry in my haste, I said, "replaces the file object in the IO stack
    location," in the second paragraph. I meant, "replaces the filename in the
    file object in the IO stack location."
    -----Original Message-----
    From: Rob Fuller
    Sent: Thursday, April 20, 2000 10:23 AM
    To: 'File Systems Developers'
    Subject: RE: [ntfsd] STATUS_REPARSE


    Joseph,

    This means the FSD detected that the media changed by pinging the
    underlying storage driver stack. In this scenario, the FSD returns
    STATUS_REPARSE to the "IO Manager," or "IOM," to tell the IOM to re-parse
    the file path. This causes the IOM to re-traverse the VPB thereby finding
    the new FSD device that represents the new media. The IOM then re-issues
    the create IRP with the new parameters.

    There are actually two flavors of STATUS_REPARSE. If the FSD sets
    irp->IoStatus.Information to IO_REPARSE and replaces the file object in the
    IO stack location, then the IOM will re-parse the entire path. This is
    useful for implementing symbolic links, and is demonstrated in a reparse
    sample in the NT 4.0 DDK.

    If the FSD requests the other flavor of STATUS_REPARSE by specifying
    IO_REMOUNT in irp->IoStatus.Information, then the IOM will simply
    re-traverse the VPB instead of parsing the entire path. This is
    demonstrated in the sample file systems included with the IFS Kit. This is
    the type of STATUS_REPARSE you're observing.

    Regards,

    Rob

    -----Original Message-----
    From: Joseph _Arun [mailto:[email protected]]
    Sent: Thursday, April 20, 2000 6:29 AM
    To: File Systems Developers
    Subject: [ntfsd] STATUS_REPARSE


    Hi,
    Can anybody please explain the meaning of STATUS_REPARSE ?
    I am getting this return value for IRP_MJ_CREATE is issued immediately
    after ejecting and then re-inserting the floppy into the drive.

    After ejecting the floppy, I had got return value denoting disk error.
    I reinserted the floppy and again tried to refresh the listing of
    files in NT explorer. The first IRP_MJ_CREATE returned STATUS_REPARSE. Next
    IRP_MJ_CREATE got STATUS_SUCCESS.

    Thanks in advance.

    Josie
  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    Hi Rob and Jamey,
    Thanks a lot for the information.
    Josie

    > ----------
    > From: Rob Fuller
    > Reply To: File Systems Developers
    > Sent: Thursday, April 20, 2000 8:53 PM
    > To: File Systems Developers
    > Subject: [ntfsd] RE: STATUS_REPARSE
    >
    > Joseph,
    >
    > This means the FSD detected that the media changed by pinging the
    > underlying storage driver stack. In this scenario, the FSD returns
    > STATUS_REPARSE to the "IO Manager," or "IOM," to tell the IOM to re-parse
    > the file path. This causes the IOM to re-traverse the VPB thereby finding
    > the new FSD device that represents the new media. The IOM then re-issues
    > the create IRP with the new parameters.
    >
    > There are actually two flavors of STATUS_REPARSE. If the FSD sets
    > irp->IoStatus.Information to IO_REPARSE and replaces the file object in
    > the IO stack location, then the IOM will re-parse the entire path. This
    > is useful for implementing symbolic links, and is demonstrated in a
    > reparse sample in the NT 4.0 DDK.
    >
    > If the FSD requests the other flavor of STATUS_REPARSE by specifying
    > IO_REMOUNT in irp->IoStatus.Information, then the IOM will simply
    > re-traverse the VPB instead of parsing the entire path. This is
    > demonstrated in the sample file systems included with the IFS Kit. This
    > is the type of STATUS_REPARSE you're observing.
    >
    > Regards,
    >
    > Rob
    >
    > -----Original Message-----
    > From: Joseph _Arun [mailto:[email protected]]
    > Sent: Thursday, April 20, 2000 6:29 AM
    > To: File Systems Developers
    > Subject: [ntfsd] STATUS_REPARSE
    >
    >
    >
    > Hi,
    > Can anybody please explain the meaning of STATUS_REPARSE ?
    > I am getting this return value for IRP_MJ_CREATE is issued
    > immediately after ejecting and then re-inserting the floppy into the
    > drive.
    >
    > After ejecting the floppy, I had got return value denoting disk
    > error.
    > I reinserted the floppy and again tried to refresh the listing of
    > files in NT explorer. The first IRP_MJ_CREATE returned STATUS_REPARSE.
    > Next IRP_MJ_CREATE got STATUS_SUCCESS.
    >
    > Thanks in advance.
    >
    > Josie
    >
    >
  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    I don't think so.. "replaces the filename in the file object in the IO stack
    location." looks good to me (atmost refined to "current IO stack location").

    Originally he said: "replaces the file object in the IO stack location"
    which is grossly wrong, since FO remains the same, just the full-path needs
    to be reparsed.

    I have never checked this, but the IO manger might allocate a new FO in
    response to this REPARSE request (just might, no reason to actually do so,
    since same FO can be used... well not sure about that either.. ). FSD cannot
    change the FO on its own.

    Shweta.

    An to refine this alittle more, I suspect you ment the filename in the file
    object, not in the IO stack location; semantics :)
    -----Original Message-----
    From: [email protected]
    [mailto:[email protected]]On Behalf Of Rob Fuller
    Sent: Thursday, April 20, 2000 8:25 AM
    To: File Systems Developers
    Subject: [ntfsd] RE: STATUS_REPARSE


    *cough*

    Sorry in my haste, I said, "replaces the file object in the IO stack
    location," in the second paragraph. I meant, "replaces the filename in the
    file object in the IO stack location."
    -----Original Message-----
    From: Rob Fuller
    Sent: Thursday, April 20, 2000 10:23 AM
    To: 'File Systems Developers'
    Subject: RE: [ntfsd] STATUS_REPARSE


    Joseph,

    This means the FSD detected that the media changed by pinging the underlying
    storage driver stack. In this scenario, the FSD returns STATUS_REPARSE to
    the "IO Manager," or "IOM," to tell the IOM to re-parse the file path. This
    causes the IOM to re-traverse the VPB thereby finding the new FSD device
    that represents the new media. The IOM then re-issues the create IRP with
    the new parameters.

    There are actually two flavors of STATUS_REPARSE. If the FSD sets
    irp->IoStatus.Information to IO_REPARSE and replaces the file object in the
    IO stack location, then the IOM will re-parse the entire path. This is
    useful for implementing symbolic links, and is demonstrated in a reparse
    sample in the NT 4.0 DDK.

    If the FSD requests the other flavor of STATUS_REPARSE by specifying
    IO_REMOUNT in irp->IoStatus.Information, then the IOM will simply
    re-traverse the VPB instead of parsing the entire path. This is
    demonstrated in the sample file systems included with the IFS Kit. This is
    the type of STATUS_REPARSE you're observing.

    Regards,

    Rob

    -----Original Message-----
    From: Joseph _Arun [mailto:[email protected]]
    Sent: Thursday, April 20, 2000 6:29 AM
    To: File Systems Developers
    Subject: [ntfsd] STATUS_REPARSE


    Hi,
    Can anybody please explain the meaning of STATUS_REPARSE ?
    I am getting this return value for IRP_MJ_CREATE is issued immediately after
    ejecting and then re-inserting the floppy into the drive.

    After ejecting the floppy, I had got return value denoting disk error.
    I reinserted the floppy and again tried to refresh the listing of files in
    NT explorer. The first IRP_MJ_CREATE returned STATUS_REPARSE. Next
    IRP_MJ_CREATE got STATUS_SUCCESS.

    Thanks in advance.

    Josie

    ______________________________________________
    FREE Personalized Email at Mail.com
    Sign up at http://www.mail.com/?sr=signup
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 7 Dec 2020 LIVE ONLINE
Internals & Software Drivers 25 Jan 2021 LIVE ONLINE
Developing Minifilters 8 March 2021 LIVE ONLINE