The FOBX Structure

A file object extension (FOBX) structure is an RDBSS extension to the FILE_OBJECT structure. The FOBX structure is pointed to by the FileObjectExtension field in the file object. An FOBX structure contains the following:

  • A signature and reference count

  • A backpointer to the associated FCB structure

  • A backpointer to the associated SRV_OPEN structure

  • Context information about this open structure

  • Additional storage requested by the network mini-redirector or the creator of the FOBX structure

The FOBX structure contains all of the information that is needed, per file object, which is not normally stored by the I/O system. Information about file objects is stored by the I/O system in fixed-size file system objects. The FOBX structure handles the other information needed on file objects by network mini-redirectors.

The FOBX structure for any file object is referenced by the FsContext2 field in the file object. Even though the FOBX structure is ordinarily a terminus in the RDBSS structure, the FOBX structure is currently reference counted anyway.

The FOBX flags are split into two groups:

  • Flags visible to network mini-redirectors

  • Flags used internally by RDBSS and invisible to network mini-redirectors

The flags visible to network mini-redirectors consist of the lower 16 bits of the possible FOBX flags. The upper 16 bits are reserved for use internally by RDBSS.