Update ntgdi.h:
- Change some return types from VOID to NTSTATUS. This was done recently on Windows, but there shouldn't be a compatibility issue with returning an NTSTATUS value instead of the random contents of the eax register.
- Change 2 parameters from VOID* to DRIVER_INFO_2W* and 2 parameters from VOID* to POINTL*
- Add annotations

svn path=/trunk/; revision=66641
This commit is contained in:
Timo Kreuzer 2015-03-10 00:10:33 +00:00
parent 6ff50b28b0
commit a3df492617
7 changed files with 1172 additions and 732 deletions

File diff suppressed because it is too large Load diff

View file

@ -606,12 +606,15 @@ EngLockSurface(
return psurf ? &psurf->SurfObj : NULL;
}
VOID
__kernel_entry
NTSTATUS
APIENTRY
NtGdiEngUnlockSurface(IN SURFOBJ *pso)
NtGdiEngUnlockSurface(
_In_ SURFOBJ *pso)
{
UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
VOID

View file

@ -206,12 +206,13 @@ NtGdiEngCreatePalette(
return NULL;
}
VOID
NTSTATUS
APIENTRY
NtGdiEngDeleteClip(
CLIPOBJ *pco)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
BOOL
@ -223,12 +224,13 @@ NtGdiEngDeletePalette(
return FALSE;
}
VOID
NTSTATUS
APIENTRY
NtGdiEngDeletePath(
IN PATHOBJ *ppo)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
BOOL
@ -431,7 +433,7 @@ NtGdiEngTransparentBlt(
return FALSE;
}
VOID
NTSTATUS
APIENTRY
NtGdiFONTOBJ_vGetInfo(
IN FONTOBJ *pfo,
@ -439,6 +441,7 @@ NtGdiFONTOBJ_vGetInfo(
OUT FONTINFO *pfi)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
XFORMOBJ*
@ -537,13 +540,14 @@ NtGdiHT_Get8BPPFormatPalette(
return FALSE;
}
VOID
NTSTATUS
APIENTRY
NtGdiPATHOBJ_vGetBounds(
IN PATHOBJ *ppo,
OUT PRECTFX prectfx)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
BOOL
@ -556,15 +560,16 @@ NtGdiPATHOBJ_bEnum(
return FALSE;
}
VOID
NTSTATUS
APIENTRY
NtGdiPATHOBJ_vEnumStart(
IN PATHOBJ *ppo)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
VOID
NTSTATUS
APIENTRY
NtGdiPATHOBJ_vEnumStartClipLines(
IN PATHOBJ *ppo,
@ -573,6 +578,7 @@ NtGdiPATHOBJ_vEnumStartClipLines(
IN LINEATTRS *pla)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
BOOL
@ -620,12 +626,13 @@ NtGdiSTROBJ_bGetAdvanceWidths(
return FALSE;
}
VOID
NTSTATUS
APIENTRY
NtGdiSTROBJ_vEnumStart(
IN STROBJ *pstro)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
DWORD
@ -643,8 +650,8 @@ NtGdiXFORMOBJ_bApplyXform(
IN XFORMOBJ *pxo,
IN ULONG iMode,
IN ULONG cPoints,
IN PVOID pvIn,
OUT PVOID pvOut)
_In_reads_(cPoints) PPOINTL pptIn,
_Out_writes_(cPoints) PPOINTL pptOut)
{
UNIMPLEMENTED;
return FALSE;

View file

@ -679,7 +679,7 @@ NtGdiOpenDCW(
ULONG iType,
BOOL bDisplay,
HANDLE hspool,
VOID *pDriverInfo2,
DRIVER_INFO_2W *pDriverInfo2,
VOID *pUMdhpdev)
{
UNICODE_STRING ustrDevice;

View file

@ -105,14 +105,13 @@ IntGdiCleanDC(HDC hDC)
return TRUE;
}
BOOL
APIENTRY
NtGdiResetDC(
IN HDC hdc,
IN LPDEVMODEW pdm,
OUT PBOOL pbBanding,
IN OPTIONAL VOID *pDriverInfo2,
IN OPTIONAL DRIVER_INFO_2W *pDriverInfo2,
OUT VOID *ppUMdhpdev)
{
UNIMPLEMENTED;

View file

@ -146,11 +146,14 @@ GdiFlushUserBatch(PDC dc, PGDIBATCHHDR pHdr)
*
* Flushes the calling thread's current batch.
*/
VOID
__kernel_entry
NTSTATUS
APIENTRY
NtGdiFlush(VOID)
NtGdiFlush(
VOID)
{
SynchonizeDriver(GCAPS2_SYNCFLUSH);
SynchonizeDriver(GCAPS2_SYNCFLUSH);
return STATUS_SUCCESS;
}
/*

View file

@ -19,7 +19,7 @@ APIENTRY
NtGdiDdDestroySurface(HANDLE hSurface, BOOL bRealDestroy)
{
PGD_DXDDDESTROYSURFACE pfnDdDestroySurface = (PGD_DXDDDESTROYSURFACE)gpDxFuncs[DXG_INDEX_DxDdDestroySurface].pfn;
if (pfnDdDestroySurface == NULL)
{
DPRINT1("Warning: no pfnDdDestroySurface");
@ -42,7 +42,7 @@ NtGdiDdFlip(HANDLE hSurfaceCurrent,
PDD_FLIPDATA puFlipData)
{
PGD_DXDDFLIP pfnDdDdFlip = (PGD_DXDDFLIP)gpDxFuncs[DXG_INDEX_DxDdFlip].pfn;
if (pfnDdDdFlip == NULL)
{
DPRINT1("Warning: no pfnDdDdFlip");
@ -63,7 +63,7 @@ NtGdiDdLock(HANDLE hSurface,
HDC hdcClip)
{
PGD_DXDDLOCK pfnDdLock = (PGD_DXDDLOCK)gpDxFuncs[DXG_INDEX_DxDdLock].pfn;
if (pfnDdLock == NULL)
{
DPRINT1("Warning: no pfnDdLock");
@ -79,11 +79,11 @@ NtGdiDdLock(HANDLE hSurface,
/************************************************************************/
DWORD
APIENTRY
NtGdiDdUnlock(HANDLE hSurface,
NtGdiDdUnlock(HANDLE hSurface,
PDD_UNLOCKDATA puUnlockData)
{
PGD_DXDDUNLOCK pfnDdUnlock = (PGD_DXDDUNLOCK)gpDxFuncs[DXG_INDEX_DxDdUnlock].pfn;
if (pfnDdUnlock == NULL)
{
DPRINT1("Warning: no pfnDdUnlock");
@ -104,7 +104,7 @@ NtGdiDdBlt(HANDLE hSurfaceDest,
PDD_BLTDATA puBltData)
{
PGD_DDBLT pfnDdBlt = (PGD_DDBLT)gpDxFuncs[DXG_INDEX_DxDdBlt].pfn;
if (pfnDdBlt == NULL)
{
DPRINT1("Warning: no pfnDdBlt");
@ -124,7 +124,7 @@ NtGdiDdSetColorKey(HANDLE hSurface,
PDD_SETCOLORKEYDATA puSetColorKeyData)
{
PGD_DXDDSETCOLORKEY pfnDdSetColorKey = (PGD_DXDDSETCOLORKEY)gpDxFuncs[DXG_INDEX_DxDdSetColorKey].pfn;
if (pfnDdSetColorKey == NULL)
{
DPRINT1("Warning: no pfnDdSetColorKey");
@ -147,7 +147,7 @@ NtGdiDdAddAttachedSurface(HANDLE hSurface,
PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData)
{
PGD_DDADDATTACHEDSURFACE pfnDdAddAttachedSurface = (PGD_DDADDATTACHEDSURFACE)gpDxFuncs[DXG_INDEX_DxDdAddAttachedSurface].pfn;
if (pfnDdAddAttachedSurface == NULL)
{
DPRINT1("Warning: no pfnDdAddAttachedSurface");
@ -167,7 +167,7 @@ NtGdiDdGetBltStatus(HANDLE hSurface,
PDD_GETBLTSTATUSDATA puGetBltStatusData)
{
PGD_DXDDGETBLTSTATUS pfnDdGetBltStatus = (PGD_DXDDGETBLTSTATUS)gpDxFuncs[DXG_INDEX_DxDdGetBltStatus].pfn;
if (pfnDdGetBltStatus == NULL)
{
DPRINT1("Warning: no pfnDdGetBltStatus");
@ -187,7 +187,7 @@ NtGdiDdGetFlipStatus(HANDLE hSurface,
PDD_GETFLIPSTATUSDATA puGetFlipStatusData)
{
PGD_DXDDGETFLIPSTATUS pfnDdGetFlipStatus = (PGD_DXDDGETFLIPSTATUS)gpDxFuncs[DXG_INDEX_DxDdGetFlipStatus].pfn;
if (pfnDdGetFlipStatus == NULL)
{
DPRINT1("Warning: no pfnDdGetFlipStatus");
@ -208,7 +208,7 @@ NtGdiDdUpdateOverlay(HANDLE hSurfaceDestination,
PDD_UPDATEOVERLAYDATA puUpdateOverlayData)
{
PGD_DXDDUPDATEOVERLAY pfnDdUpdateOverlay = (PGD_DXDDUPDATEOVERLAY)gpDxFuncs[DXG_INDEX_DxDdUpdateOverlay].pfn;
if (pfnDdUpdateOverlay == NULL)
{
DPRINT1("Warning: no pfnDdUpdateOverlay");
@ -230,7 +230,7 @@ NtGdiDdSetOverlayPosition(HANDLE hSurfaceSource,
PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData)
{
PGD_DXDDSETOVERLAYPOSITION pfnDdSetOverlayPosition = (PGD_DXDDSETOVERLAYPOSITION)gpDxFuncs[DXG_INDEX_DxDdSetOverlayPosition].pfn;
if (pfnDdSetOverlayPosition == NULL)
{
DPRINT1("Warning: no pfnDdSetOverlayPosition");
@ -257,7 +257,7 @@ NtGdiDdAlphaBlt(HANDLE hSurfaceDest,
PDD_BLTDATA puBltData)
{
PGD_DDALPHABLT pfnDdAlphaBlt = (PGD_DDALPHABLT)gpDxFuncs[DXG_INDEX_DxDdAlphaBlt].pfn;
if (pfnDdAlphaBlt == NULL)
{
DPRINT1("Warning: no pfnDdAlphaBlt");
@ -278,7 +278,7 @@ NtGdiDdAttachSurface(HANDLE hSurfaceFrom,
)
{
PGD_DDATTACHSURFACE pfnDdAttachSurface = (PGD_DDATTACHSURFACE)gpDxFuncs[DXG_INDEX_DxDdAttachSurface].pfn;
if (pfnDdAttachSurface == NULL)
{
DPRINT1("Warning: no pfnDdAttachSurface");
@ -296,16 +296,17 @@ NtGdiDdAttachSurface(HANDLE hSurfaceFrom,
But it say it return either DDHAL_DRIVER_NOTHANDLED or DDHAL_DRIVER_HANDLED
so I guess it is a typo in MSDN for this prototype for the info contradicts itself.
*/
DWORD
NTSTATUS
APIENTRY
NtGdiDdUnattachSurface(HANDLE hSurface,
HANDLE hSurfaceAttached)
{
PGD_DXDDUNATTACHSURFACE pfnDdUnattachSurface = (PGD_DXDDUNATTACHSURFACE)gpDxFuncs[DXG_INDEX_DxDdUnattachSurface].pfn;
PGD_DXDDUNATTACHSURFACE pfnDdUnattachSurface = (PGD_DXDDUNATTACHSURFACE)gpDxFuncs[DXG_INDEX_DxDdUnattachSurface].pfn;
if (pfnDdUnattachSurface == NULL)
{
DPRINT1("Warning: no pfnDdUnattachSurface");
return DDHAL_DRIVER_NOTHANDLED;
//return DDHAL_DRIVER_NOTHANDLED;
return STATUS_NOT_IMPLEMENTED;
}
DPRINT1("Calling on dxg.sys pfnDdUnattachSurface");