Hello, Joe.

Thanks for your reply.

>> MSDN says, that GetFullPathNameW() is present since
>> Windows  95, so i thought function GetFullPathNameW() can be
>> used  when  _WIN32_WINNT  is  not defined.

> I'm unable to locate the MSDN documentation that indicates this.

I can't find it in WWW, seems like Microsoft don't published
old  documentation  anymore.  I  have  offline documentation
(MSDN July 2001) that says:

;-------------------------------------X8
Platform SDK: Files and I/O
GetFullPathName
The GetFullPathName function retrieves the full path and file name of a 
specified file. 

DWORD GetFullPathName(
  LPCTSTR lpFileName,  // file name
  DWORD nBufferLength, // size of path buffer
  LPTSTR lpBuffer,     // path buffer
  LPTSTR *lpFilePart   // address of file name in path
);

Parameters

lpFileName  [in]  Pointer  to  a null-terminated string that
specifies  a  valid  file  name.  This string can use either
short (the 8.3 form) or long file names.

nBufferLength  [in]  Specifies  the  size, in TCHARs, of the
buffer for the drive and path.

lpBuffer  [out]  Pointer  to  a  buffer  that  receives  the
null-terminated string for the name of the drive and path.

lpFilePart  [out]  Pointer  to  a  buffer  that receives the
address  (in  lpBuffer)  of the final file name component in
the path.

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

If the lpBuffer buffer is too small to contain the path, the
return  value is the size of the buffer, in TCHARs, required
to  hold the path. Therefore, if the return value is greater
than  nBufferLength,  call  the function again with a buffer
that is large enough to hold the path. 

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

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

GetFullPathName  does  no  conversion  of the specified file
name, lpFileName. If the specified file name exists, you can
use  GetLongPathName and GetShortPathName to convert to long
and short path names, respectively. 

MAPI:  For  more information, see Syntax and Limitations for
Win32 Functions Useful in MAPI Development. 

Requirements 
  Windows NT/2000 or later: Requires Windows NT 3.1 or later.
  Windows 95/98/Me: Requires Windows 95 or later.
  Header: Declared in Winbase.h; include Windows.h.
  Library: Use Kernel32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.

See Also
File I/O Overview, File I/O Functions, GetLongPathName, GetShortPathName, 
GetTempPath, SearchPath

;-------------------------------------X8

MSDN  from  April  2003  also  said that there is support in
Windows  9X/ME,  but  it  required  Microsoft  Unicode Layer
libraries to be installed.

>> For now I've just defined  _WIN32_WINNT  as 0x500, but not sure is
>> it correct, and  will  my application works if it will be launched under
>> Windows  9X.

> This is the correct fix.  Also, most modern Windows projects already
> have the _WIN32_WINNT define set to something (e.g. 0x400, 0x500, etc).

Thanks for your help.

-- 
WBR,
 darkelf                          mailto:dark...@ukr.net

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to