implement GetFontAssocStatus.

do correct implement of GetFontData, if the lpvBuffer are NULL in user mode, gdi32.dll always send in cbData as 0 to win32k.sys

svn path=/trunk/; revision=28706
This commit is contained in:
Magnus Olsen 2007-08-31 14:38:48 +00:00
parent 58b517d1c1
commit 4d772974cc
2 changed files with 30 additions and 5 deletions

View file

@ -385,7 +385,7 @@ GetEnhMetaFilePaletteEntries@12
GetEnhMetaFilePixelFormat@12 GetEnhMetaFilePixelFormat@12
GetEnhMetaFileW@4 GetEnhMetaFileW@4
GetFontAssocStatus@4 GetFontAssocStatus@4
GetFontData@20=NtGdiGetFontData@20 GetFontData@20
GetFontLanguageInfo@4 GetFontLanguageInfo@4
GetFontResourceInfoW@16 GetFontResourceInfoW@16
GetFontUnicodeRanges@8 GetFontUnicodeRanges@8

View file

@ -1689,15 +1689,20 @@ GetEUDCTimeStamp(VOID)
} }
/* /*
* @unimplemented * @implemented
*/ */
ULONG ULONG
STDCALL STDCALL
GetFontAssocStatus(HDC hdc) GetFontAssocStatus(HDC hdc)
{ {
UNIMPLEMENTED; ULONG retValue = 0;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0; if (hdc)
{
retValue = NtGdiQueryFontAssocInfo(hdc);
}
return retValue;
} }
/* /*
@ -2912,3 +2917,23 @@ GetCharABCWidths(HDC hdc,
/* FIXME some part need be done in user mode */ /* FIXME some part need be done in user mode */
return NtGdiGetCharABCWidths(hdc, uFirstChar, uLastChar, lpabc); return NtGdiGetCharABCWidths(hdc, uFirstChar, uLastChar, lpabc);
} }
/*
* @implemented
*
*/
DWORD
STDCALL
GetFontData(HDC hdc,
DWORD dwTable,
DWORD dwOffset,
LPVOID lpvBuffer,
DWORD cbData)
{
if (!lpvBuffer)
{
cbData = 0;
}
return NtGdiGetFontData(hdc, dwTable, dwOffset, lpvBuffer, cbData);
}