BUG: GetModuleFileName Behaves Incorrectly on External FSDMGR-Based File Systems (290755)



The information in this article applies to:

  • Microsoft Windows CE Platform Builder 2.12
  • Microsoft Windows CE Platform Builder 3.0

This article was previously published under Q290755

SYMPTOMS

A call to the function GetModuleFileName() on a file that was loaded from an external FSDMGR-based file system fails. Additionally, if you call GetModuleFileName(NULL) from a program running on an external FSDMGR-based file system, it fails.

CAUSE

Windows CE assumes that the call to GetModuleFileName() contains a valid OID, thus causing the problem.

RESOLUTION

To work around this problem do the following:
  1. In GetFileInformationByHandle, set the dwOID member of BY_HANDLE_FILE_INFO to INVALID_HANDLE_VALUE. For example:
    lpFileInformationByHandle->dwOID = (DWORD)INVALID_HANDLE_VALUE;
    					
  2. In FindFirstFile and FindNextFile, set the dwOID member of WIN32_FIND_DATA to INVALID_HANDLE_VALUE.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:8/18/2005
Keywords:kbbug kbfix KB290755