This file lists the directories and files associated with the
NT Shell Disk Quota project.  Directories are shown in upper case; files
in lower case.  [BrianAu - 09/24/96]


Directory tree:

    \NT\SHELL\DSKQUOTA\
                    COMMON
                    CONTROL
                    PROXY
                    UI


DSKQUOTA - Top level directory for DSKQUOTA project.

    dirs
        Required by BUILD.

    files.txt
        This file.

    makefil0
        Use with NMAKE to run the MIDL and MC compilers.  This generates
        the proxy/stub code for IDiskQuotaUser and generates the
        binary message file for dqmsg.mc.  If you make changes to either
        dqmsg.mc or iuser.idl, run this.


    COMMON - Contains sources common to control, proxy and ui components

        autolock.h
            A mutex lock mechanism that automatically releases the mutex 
            when the object goes out of scope.

        debug.cpp
        debug.h
            DebugMsg and Assert macros and associated functions.

        dqguids.h
            GUIDS that public clients need to know about.

        dqiuser.h
            Header generated by MIDL compiler from proxy\iuser.idl

        dqmsg.h
            Header generated by MC compiler from dqmsg.mc.

        dqmsg.mc
            Message compiler source file.  Contains message strings.

        dqmsg.rc
            Required to build MC compiler products.

        dqpublic.h
            Principle public header.  This where all public interfaces
            are declared.

        dskquota.cpp
            Contains DllMain, DllCanUnloadNow etc.  Also global variable
            definitions.

        dskquota.def
            Linker definition file for dskquota.dll.

        dskquota.h
            A client of the IDiskQuotaControl object interface need only
            include this header.  

        dskquota.rc
            Main resource file.  Handles inclusion of all required resources.

        dskquota.rcv
            Version resource for dskquota.dll.

        dskquota.reg
            REGINI script for setting up registry for dskquota.dll

        dynarray.cpp
        dynarray.h
            Dynamic arrays based on the DPA and DSA implementations in 
            comctl32.

        except.h
            Declarations for C++ exception classes.

        factory.cpp
        factory.h
            OLE class factory for creating initial IDiskQuotaControl interface.

        guidsp.h
            Private GUIDs.  Not for public use.

        makefile
            The makefile BUILD requires.

        makefile.inc
            Make instructions to build the message resource binary from dqmsg.mc.

        msg00001.bin
            Product of the MC compiler from dqmsg.mc.

        olealloc.cpp
        olealloc.h
            Overloads global new and delete.  Provides heap allocation tracking.

        precomp.hxx
            Precompiled header.

        private.h
            General private stuff.  Sort of a complement to dqpublic.h.

        regparam.cpp
        regparam.h
            Classes for handling registry settings used by the DLL.
            Provides support for automatic value validations, and addition
            of missing registry entries.

        shellinc.h
            Includes required shell headers.

        sources
            Required by BUILD.

        utils.cpp
        utils.h
            General stuff that doesn't fit anywhere else.


    CONTROL - Contains sources specific to "control" component.
              The "control" component is a set of OLE objects that perform
              the actual management of quota information without
              any UI elements.

        connect.cpp
        connect.h
            Implementation for OLE connection point interfaces.
            Used by quota controller for user name change notifications.

        control.cpp
        control.h
            Implementation for IDiskQuotaControl interface.  This is the
            quota control object that the client instantiates.  A control
            object is instantiated for each volume inspected.

        fsobject.cpp
        fsobject.h
            Abstraction hierarchy for file system objects.  Abstractions
            are provided for volume vs. directory and remote vs. local.
            This is to hide any peculiarities from the quota controller.

        makefile
            Required by BUILD.

        precomp.hxx
            Precompiled header.

        sidcache.cpp
        sidcache.h
            Implementation for the SID/Name cache.  Manages the cache's
            data and index files.

        sidname.cpp
        sidname.h
            Implementation for the SID/Name resolver.  This object uses a
            background thread to resolve user SID's to their account name
            and place the results in the SID/name cache.  It also services
            user name requests by first looking in the cache.

        sources
            Required by BUILD.

        user.cpp
        user.h
            Implementation for IDiskQuotaUser interface.  Each object 
            represents a user record in the disk's quota info file.

        userbat.cpp
        userbat.h
            Implementation for IDiskQuotaUserBatch interface.  Provides
            a method for batching updates to multiple user objects for
            improved performance.

        userenum.cpp
        userenum.h
            Implementation for IEnumDiskQuotaUsers interface.  Provides
            an OLE enumerator object for retrieving user objects from
            a quota controller object.

    PROXY - Contains sources specific to "proxy" component.
            The proxy component "dksquopx.dll" is required to marshal the
            IDiskQuotaUser interface across thread boundaries.  This is
            to support the SID/Name resolver's multi-threaded operation.

        dlldata.c
        iuser.h
        iuser_i.c
        iuser_p.c
            Generated by MIDL compiler from iuser.idl.

        iuser.idl
            MIDL interface definition for IDiskQuotaUser interface.

        dskquopx.def
            Linker definition file for dskquopx.dll

        dskquopx.rc
            Resource file for dskquopx.dll

        dskquopx.rcv
            Version resource for dskquopx.dll

        dskquopx.reg
            REGINI script for setting up registry for dskquopx.dll

        makefile
            Required by BUILD.

        sources
            Required by BUILD.


    UI - Contains sources specific to "ui" component.
        
        afxres.h
            To keep the MSVC App Studio happy.

        check.ico
            Check mark icon used in the details view and user property
            page.  Will probably go away.  Looks sort of cheezy.

        details.cpp
        details.h
            Code for the "details" view of quota information.  

        dragdrop.cpp
        dragdrop.h
            Code for dragging and dropping the contents of the details listview
            into applications like Excel and Word.

        extinit.cpp
        extinit.h
            Implementation of IShellExtInit required for any shell extension
            (volume property page).

        makefile
            Required by BUILD.

        muser.ico
            Multiple user icon used in user property page for multi-user
            selection.  "Borrowed" from musrmgr.exe.

        onepie.ico
            Miniature blue/red pie used for "quota" icon.  Will probably change.

        precomp.hxx
            Precompiled header.

        prshtext.cpp
        prshtext.h
            Implementation of IShellPropSheetExt required for a property 
            sheet extension (volume property page).  

        reptgen.cpp
        reptgen.h
            Renders report for drag/drop and clipboard transfers from the
            contents of the Details view.  Report is created on an IStream
            object in response to IDataObject::GetData().

        resource.h
            Resource header generated by App Studio.

        sources
            Required by BUILD.

        traffic.avi
            AVI clip containing images for volume property sheet's traffic
            light.

        traffic.bmp
        trafficy.bmp
        trafficg.bmp
        trafficr.bmp
            Bitmaps used to create traffic.avi.

        ui.rc
            Main UI resource file generated by App Studio.

        ui.rc2
            Manually created resource file for inclusion of AVI clip resource.

        undo.cpp
        undo.h
            Code for "undo" feature.  Allows user to reverse user modifications
            and deletions.  Provides only single-level undo.

        user.ico
            Single user icon used in user property page for single-user
            selection.  "Borrowed" from musrmgr.exe.

        userprop.cpp
        userprop.h
            User property page implementation.  Displayed when you select an
            item in the "details" view.

        volprop.cpp
        volprop.h
            Volume "Quota" property page implementation.

        xbytes.cpp
        xbytes.h
            Implementation for the edit-control/combo-box controls used in 
            the property pages for setting byte values.  

