BUG: GetMetaFile() Fails on Long File Names (232581)



The information in this article applies to:

  • Microsoft Windows 95
  • Microsoft Windows 98

This article was previously published under Q232581

SYMPTOMS

The GetMetaFile() API, used to load a disk-based Windows metafile into memory, returns failure code when passed a long file name.

RESOLUTION

To work around this problem, use the metafile's short file name in the call to GetMetaFile(). Code similar to the following should work properly:
HMETAFILE MyGetMetaFile( LPTSTR szFileName )
{
	HMETAFILE	hWMF;
	TCHAR		szTemp[MAX_PATH];

	if( (hWMF=GetMetaFile(szFileName)) != NULL )
		return hWMF;
	if( GetShortPathName( szFileName, szTemp, MAX_PATH ) == 0 )
		return NULL;
	return GetMetaFile( szTemp );
}
				

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:4/4/2006
Keywords:kbDSWGDI2003Swept kbBug kbGDI kbMetafile KB232581