GetLogicalDriveStrings(0,NULL)得到的是什么值呀??
谢谢

解决方案 »

  1.   

    GetLogicalDriveStringsThe GetLogicalDriveStrings function fills a buffer with strings that specify valid drives in the system.
    DWORD GetLogicalDriveStrings(
      DWORD nBufferLength,
      LPTSTR lpBuffer
    );Parameters
    nBufferLength 
    [in] Maximum size of the buffer pointed to by lpBuffer, in TCHARs. This size does not include the terminating null character. If this parameter is zero, lpBuffer is not used. 
    lpBuffer 
    [out] Pointer to a buffer that receives a series of null-terminated strings, one for each valid drive in the system, that end with a second null character. The following example shows the buffer contents with <null> representing the terminating null character. 
    c:\<null>d:\<null><null>
    Return Values
    If the function succeeds, the return value is the length, in characters, of the strings copied to the buffer, not including the terminating null character. Note that an ANSI-ASCII null character uses one byte, but a Unicode null character uses two bytes.If the buffer is not large enough, the return value is greater than nBufferLength. It is the size of the buffer required to hold the drive strings.If the function fails, the return value is zero. To get extended error information, use the GetLastError function.Res
    Each string in the buffer may be used wherever a root directory is required, such as for the GetDriveType and GetDiskFreeSpace functions.
    Windows Server 2003 and Windows XP:  This function returns a concatenation of the drives in the Global and Local MS-DOS Device namespaces. If a drive exists in both namespaces, this function will return the entry in the Local MS-DOS Device namespace. For more information, see Defining an MS DOS Device Name.Windows Me/98/95:  GetLogicalDriveStringsW is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.
    Requirements
    Client: Included in Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, and Windows 95.
    Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT Server.
    Unicode: Implemented as Unicode and ANSI versions. Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode.
    Header: Declared in Winbase.h; include Windows.h.
    Library: Use Kernel32.lib.
    See Also
      

  2.   

    GetLogicalDriveStrings(0,NULL)返回一个整形值.
    如果是零,说明你出错.
    如果大于零,则表示如果你想要得到所有的逻辑盘符,你必须要准备这么大的一个BUFFER,然后再叫它一次.