- 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_ HDC hdc,
_In_ INT i); _In_ INT i);
_Success_(return!=FALSE)
W32KAPI W32KAPI
BOOL BOOL
APIENTRY 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_maybenull_
//#define _Deref_pre_notnull_ //#define _Deref_pre_notnull_
//#define _Deref_pre_null_ //#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_c_(size)
//#define _Deref_pre_opt_bytecap_x_(size) //#define _Deref_pre_opt_bytecap_x_(size)
//#define _Deref_pre_opt_bytecount_(size) //#define _Deref_pre_opt_bytecount_(size)

View file

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

View file

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

View file

@ -9,7 +9,12 @@
struct _EXLATEOBJ; 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 typedef struct _EXLATEOBJ
{ {
@ -38,23 +43,51 @@ typedef struct _EXLATEOBJ
}; };
} EXLATEOBJ, *PEXLATEOBJ; } EXLATEOBJ, *PEXLATEOBJ;
extern EXLATEOBJ gexloTrivial;
_Notnull_
PFN_XLATE PFN_XLATE
FORCEINLINE FORCEINLINE
XLATEOBJ_pfnXlate(XLATEOBJ *pxlo) XLATEOBJ_pfnXlate(
_In_ XLATEOBJ *pxlo)
{ {
return ((PEXLATEOBJ)pxlo)->pfnXlate; 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 ULONG
FASTCALL 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. // Wine returns an error here. We set the default.
if ((iStretchMode <= 0) || (iStretchMode > MAXSTRETCHBLTMODE)) iStretchMode = WHITEONBLACK; if ((iStretchMode <= 0) || (iStretchMode > MAXSTRETCHBLTMODE)) iStretchMode = WHITEONBLACK;
pdcattr->jStretchBltMode = iStretchMode; pdcattr->jStretchBltMode = iStretchMode;
} }
return oSMode; return oSMode;
@ -355,7 +355,8 @@ NtGdiGetDCDword(
return Ret; return Ret;
} }
BOOL _Success_(return != FALSE) _Success_(return != FALSE)
BOOL
APIENTRY APIENTRY
NtGdiGetAndSetDCDword( NtGdiGetAndSetDCDword(
_In_ HDC hdc, _In_ HDC hdc,

View file

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

View file

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