GetFullPathName

The GetFullPathName function retrieves the full path and filename of a specified file.

DWORD GetFullPathName(
  LPCTSTR lpFileName,  // pointer to name of file to find path for
  DWORD nBufferLength, // size, in characters, of path buffer
  LPTSTR lpBuffer,     // pointer to path buffer
  LPTSTR *lpFilePart   // pointer to filename in path
);
 

Parameters

lpFileName
Pointer to a null-terminated string that specifies a valid filename. This string can use either short (the 8.3 form) or long filenames.
nBufferLength
Specifies the size, in characters, of the buffer for the drive and path.
lpBuffer
Pointer to a buffer that contains the null-terminated string for the name of the drive and path.
lpFilePart
Pointer to a variable that receives the address (in lpBuffer) of the final filename component in the path.

Return Values

If the GetFullPathName function succeeds, the return value is the length, in characters, of the string copied to lpBuffer, not including the terminating null character.

If the lpBuffer buffer is too small, the return value is the size of the buffer, in characters, required to hold the path.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The GetFullPathName function merges the name of the current drive and directory with the specified filename to determine the full path and filename of the specified file. It also calculates the address of the filename portion of the full path and filename. This function does not verify that the resulting path and filename are valid or that they refer to an existing file on the associated volume.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winbase.h.
  Import Library: Use kernel32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

File I/O Overview, File Functions, GetShortPathName, GetTempPath, SearchPath