GetFileTitle

The GetFileTitle function returns the name of the file identified by the lpszFile parameter.

short GetFileTitle(
  LPCTSTR lpszFile,  // pointer to full path and filename for file
  LPTSTR lpszTitle,  // pointer to buffer that receives filename
  WORD cbBuf         // length of buffer
);
 

Parameters

lpszFile
Pointer to the name and location of a file.
lpszTitle
Pointer to a buffer into which the function is to copy the name of the file.
cbBuf
Specifies the length, in characters, of the buffer pointed to by the lpszTitle parameter.

Return Values

If the function succeeds, the return value is zero.

If the filename is invalid, the return value is a negative number.

If the buffer pointed to by the lpszTitle parameter is too small, the return value is a positive integer that specifies the required buffer size, in bytes (ANSI version) or 16-bit characters (Unicode version). The required buffer size includes the terminating null character.

Remarks

The GetFileTitle function returns an error value if the buffer pointed to by the lpszFile parameter contains any of the following elements:

To get the buffer size needed for the name of a file, call the function with lpszTitle set to NULL and cbBuf set to zero. The function will return the required size.

GetFileTitle returns the string that the system would use to display the filename to the user. The display name includes an extension only if that is the user's preference for displaying filenames. This means that the returned string may not accurately identify the file if it is used in calls to file system functions.

If the lpszTitle buffer is too small, GetFileTitle returns the size required to hold the display name. There is no guaranteed connection between the required size and the characters originally specified in the lpszFile buffer. In porting 16-bit Windows-based applications to Win32, you will need to update any code that relies on such behavior in previous versions of the system. The most common case is code that deliberately calls GetFileTitle with lpszTitle set to NULL and cbBuf set to zero, and then uses the return value as an index into the lpszFile string. This technique is no longer supported. You can usually achieve similar results (and superior performance) with run-time library functions such as strrchr, wcsrchr, and _mbsrchr.

QuickInfo

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

See Also

Common Dialog Box Library Overview, Common Dialog Box Functions, GetOpenFileName, GetSaveFileName