Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 1991-2000 Microsoft Corporation
Module Name:
file.hxx
Abstract:
This module contains the declaration for the FSN_FILE class. FSN_FILE is derived from the abstract FSNODE class. It offers an interface which supports manipulation of the external (i.e. non data) portion of files.
Author:
David J. Gilman (davegi) 09-Jan-1991
Environment:
ULIB, User Mode
--*/
#if ! defined( _FSN_FILE_ )
#define _FSN_FILE_
#include "fsnode.hxx"
#include "filestrm.hxx"
//
// Forward references
//
DECLARE_CLASS( FSN_FILE ); DECLARE_CLASS( FSN_FILTER );
class FSN_FILE : public FSNODE {
friend FSN_FILTER; friend SYSTEM;
public:
DECLARE_CAST_MEMBER_FUNCTION( FSN_FILE );
NONVIRTUAL ULIB_EXPORT BOOLEAN Copy ( IN OUT PPATH NewFile, OUT PCOPY_ERROR ErrorCode DEFAULT NULL, IN ULONG CopyFlags DEFAULT 0, IN LPPROGRESS_ROUTINE CallBack DEFAULT NULL, IN VOID * Data DEFAULT NULL, IN PBOOL Cancel DEFAULT NULL ) CONST;
VIRTUAL BOOLEAN DeleteFromDisk( IN BOOLEAN Force DEFAULT FALSE );
NONVIRTUAL ULONG64 QuerySize ( ) CONST;
ULIB_EXPORT PFILE_STREAM QueryStream ( IN STREAMACCESS Access, IN DWORD Attributes DEFAULT 0 );
protected:
DECLARE_CONSTRUCTOR( FSN_FILE );
private:
};
INLINE ULONG64 FSN_FILE::QuerySize ( ) CONST
/*++
Routine Description:
Return the size of the file in bytes.
Arguments:
None.
Return Value:
ULONG - returns the file size
--*/
{ ULARGE_INTEGER x;
x.LowPart = _FileData.nFileSizeLow; x.HighPart = _FileData.nFileSizeHigh;
return x.QuadPart; }
#endif // _FSN_FILE_
|