GetFileSize
The GetFileSize
function retrieves the size, in bytes, of the specified file.
DWORD GetFileSize(
HANDLE hFile, |
// handle of file
to get size of |
LPDWORD lpFileSizeHigh |
// address of
high-order word for file size |
); |
|
Parameters
hFile
Specifies an
open handle of the file whose size is being returned. The handle must have been
created with either GENERIC_READ or GENERIC_WRITE access to the file.
lpFileSizeHigh
Points to the
variable where the high-order word of the file size is returned. This parameter
can be NULL if the application does not require the high-order word.
Return Values
If the
function succeeds, the return value is the low-order doubleword of the file
size, and, if lpFileSizeHigh is non-NULL, the function puts the high-order
doubleword of the file size into the variable pointed to by that parameter.
If the
function fails and lpFileSizeHigh is NULL, the return value is
0xFFFFFFFF. To get extended error information, call GetLastError
If the
function fails and lpFileSizeHigh is non-NULL, the return value is
0xFFFFFFFF and GetLastError will return a value other than NO_ERROR.
Remarks
You cannot
use the GetFileSize function with a handle of a nonseeking device such
as a pipe or a communications device. To determine the file type for hFile,
use the GetFileType
The GetFileSize
function obtains the uncompressed size of a file. Use the GetCompressedFileSize
Note that if
the return value is 0xFFFFFFFF and lpFileSizeHigh is non-NULL, an
application must call GetLastError
//
// Case One: calling the function with
//
lpFileSizeHigh == NULL
// Try to obtain hFile's size
dwSize = GetFileSize (hFile, NULL) ;
// If we failed ...
if (dwSize == 0xFFFFFFFF) {
// Obtain
the error code.
dwError =
GetLastError() ;
// Deal
with that failure.
.
.
.
} // End
of error handler
//
// Case Two: calling the function with
//
lpFileSizeHigh != NULL
// Try to obtain hFile's huge size.
dwSizeLow = GetFileSize (hFile, & dwSizeHigh) ;
// If we failed ...
if (dwSizeLow == 0xFFFFFFFF
&&
(dwError =
GetLastError()) != NO_ERROR ){
// Deal
with that failure.
.
.
.
} // End
of error handler.
See Also