- Add/fix some annotations
- Simplify code in NtGdiSetMiterLimit

svn path=/trunk/; revision=57944
This commit is contained in:
Timo Kreuzer 2012-12-18 15:20:20 +00:00
parent 2a61a8dcec
commit 020d337ca6
8 changed files with 68 additions and 35 deletions

View file

@ -2385,6 +2385,7 @@ NtGdiGetDeviceCaps(
_In_ HDC hdc,
_In_ INT i);
_Success_(return!=FALSE)
W32KAPI
BOOL
APIENTRY

View file

@ -519,7 +519,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
//#define _Deref_pre_maybenull_
//#define _Deref_pre_notnull_
//#define _Deref_pre_null_
//#define _Deref_pre_opt_bytecap_(size)
#define _Deref_pre_opt_bytecap_(size) _SAL11_Name(_Pre_opt_bytecap_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size))])
//#define _Deref_pre_opt_bytecap_c_(size)
//#define _Deref_pre_opt_bytecap_x_(size)
//#define _Deref_pre_opt_bytecount_(size)

View file

@ -472,7 +472,7 @@ leave:
PPDEVOBJ
NTAPI
EngpGetPDEV(
PUNICODE_STRING pustrDeviceName)
_In_ PUNICODE_STRING pustrDeviceName)
{
UNICODE_STRING ustrCurrent;
PPDEVOBJ ppdev;
@ -775,7 +775,7 @@ NtGdiGetDeviceCaps(
return 0;
}
_Success_(return!=FALSE)
BOOL
APIENTRY
NtGdiGetDeviceCapsAll(

View file

@ -160,22 +160,24 @@ extern PPDEVOBJ gppdevPrimary;
PPDEVOBJ
NTAPI
EngpGetPDEV(PUNICODE_STRING pustrDevice);
EngpGetPDEV(
_In_ PUNICODE_STRING pustrDevice);
VOID
NTAPI
PDEVOBJ_vRelease(PPDEVOBJ ppdev);
PDEVOBJ_vRelease(
_Inout_ PPDEVOBJ ppdev);
PSURFACE
NTAPI
PDEVOBJ_pSurface(
PPDEVOBJ ppdev);
_In_ PPDEVOBJ ppdev);
VOID
NTAPI
PDEVOBJ_vGetDeviceCaps(
PPDEVOBJ ppdev,
PDEVCAPS pDevCaps);
_In_ PPDEVOBJ ppdev,
_Out_ PDEVCAPS pDevCaps);
INIT_FUNCTION
NTSTATUS
@ -184,6 +186,8 @@ InitPDEVImpl(VOID);
PSIZEL
FASTCALL
PDEVOBJ_sizl(PPDEVOBJ, PSIZEL);
PDEVOBJ_sizl(
_In_ PPDEVOBJ ppdev,
_In_ PSIZEL psizl);
#endif /* !__WIN32K_PDEVOBJ_H */

View file

@ -9,7 +9,12 @@
struct _EXLATEOBJ;
typedef ULONG (FASTCALL *PFN_XLATE)(struct _EXLATEOBJ *pexlo, ULONG iColor);
_Function_class_(FN_XLATE)
typedef
ULONG
(FASTCALL *PFN_XLATE)(
_In_ struct _EXLATEOBJ *pexlo,
_In_ ULONG iColor);
typedef struct _EXLATEOBJ
{
@ -38,23 +43,51 @@ typedef struct _EXLATEOBJ
};
} EXLATEOBJ, *PEXLATEOBJ;
extern EXLATEOBJ gexloTrivial;
_Notnull_
PFN_XLATE
FORCEINLINE
XLATEOBJ_pfnXlate(XLATEOBJ *pxlo)
XLATEOBJ_pfnXlate(
_In_ XLATEOBJ *pxlo)
{
return ((PEXLATEOBJ)pxlo)->pfnXlate;
}
extern EXLATEOBJ gexloTrivial;
VOID
NTAPI
EXLATEOBJ_vInitialize(
_Out_ PEXLATEOBJ pexlo,
_In_ PPALETTE ppalSrc,
_In_ PPALETTE ppalDst,
_In_ COLORREF crSrcBackColor,
_In_ COLORREF crDstBackColor,
_In_ COLORREF crDstForeColor);
VOID
NTAPI
EXLATEOBJ_vInitXlateFromDCs(
_Out_ PEXLATEOBJ pexlo,
_In_ PDC pdcSrc,
_In_ PDC pdcDst);
VOID
NTAPI
EXLATEOBJ_vInitSrcMonoXlate(
_Out_ PEXLATEOBJ pexlo,
_In_ PPALETTE ppalDst,
_In_ COLORREF crBackgroundClr,
_In_ COLORREF crForegroundClr);
VOID
NTAPI
EXLATEOBJ_vCleanup(
_Inout_ PEXLATEOBJ pexlo);
_Always_(_Post_satisfies_(return==iColor))
ULONG
FASTCALL
EXLATEOBJ_iXlateTrivial(PEXLATEOBJ pexlo, ULONG iColor);
EXLATEOBJ_iXlateTrivial(
_In_ PEXLATEOBJ pexlo,
_In_ ULONG iColor);
void
DbgCmpXlate(XLATEOBJ *pxlo1, XLATEOBJ *pxlo2);
VOID NTAPI EXLATEOBJ_vInitialize(PEXLATEOBJ pexlo, PPALETTE ppalSrc, PPALETTE ppalDst, ULONG, ULONG, ULONG);
VOID NTAPI EXLATEOBJ_vInitXlateFromDCs(PEXLATEOBJ pexlo, PDC pdcSrc, PDC pdcDst);
VOID NTAPI EXLATEOBJ_vInitSrcMonoXlate(PEXLATEOBJ pexlo, PPALETTE ppalDst, ULONG Color0, ULONG Color1);
VOID NTAPI EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo);

View file

@ -113,7 +113,7 @@ GreSetStretchBltMode(HDC hDC, int iStretchMode)
// Wine returns an error here. We set the default.
if ((iStretchMode <= 0) || (iStretchMode > MAXSTRETCHBLTMODE)) iStretchMode = WHITEONBLACK;
pdcattr->jStretchBltMode = iStretchMode;
}
return oSMode;
@ -355,7 +355,8 @@ NtGdiGetDCDword(
return Ret;
}
BOOL _Success_(return != FALSE)
_Success_(return != FALSE)
BOOL
APIENTRY
NtGdiGetAndSetDCDword(
_In_ HDC hdc,

View file

@ -540,7 +540,8 @@ NtGdiPolyDraw(
/*
* @implemented
*/
BOOL _Success_(return != FALSE)
_Success_(return != FALSE)
BOOL
APIENTRY
NtGdiMoveTo(
IN HDC hdc,

View file

@ -2585,7 +2585,7 @@ NtGdiSetMiterLimit(
{
DC *pDc;
gxf_long worker, worker1;
NTSTATUS Status = STATUS_SUCCESS;
BOOL bResult = TRUE;
if (!(pDc = DC_LockDc(hdc)))
{
@ -2601,26 +2601,19 @@ NtGdiSetMiterLimit(
{
_SEH2_TRY
{
ProbeForWrite(pdwOut,
sizeof(DWORD),
1);
ProbeForWrite(pdwOut, sizeof(DWORD), 1);
*pdwOut = worker1.l;
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
Status = _SEH2_GetExceptionCode();
SetLastNtError(_SEH2_GetExceptionCode());
bResult = FALSE;
}
_SEH2_END;
if (!NT_SUCCESS(Status))
{
SetLastNtError(Status);
DC_UnlockDc(pDc);
return FALSE;
}
}
DC_UnlockDc(pDc);
return TRUE;
return bResult;
}
BOOL