From: Timo Kreuzer Date: Tue, 18 Dec 2012 15:20:20 +0000 (+0000) Subject: [WIN32K] X-Git-Tag: backups/ros-csrss@60644~104^2~88 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=020d337ca6a7addc11265af409d510584a421663 [WIN32K] - Add/fix some annotations - Simplify code in NtGdiSetMiterLimit svn path=/trunk/; revision=57944 --- diff --git a/reactos/include/psdk/ntgdi.h b/reactos/include/psdk/ntgdi.h index ef94558f7a4..c1410594e84 100644 --- a/reactos/include/psdk/ntgdi.h +++ b/reactos/include/psdk/ntgdi.h @@ -2385,6 +2385,7 @@ NtGdiGetDeviceCaps( _In_ HDC hdc, _In_ INT i); +_Success_(return!=FALSE) W32KAPI BOOL APIENTRY diff --git a/reactos/include/psdk/sal.h b/reactos/include/psdk/sal.h index 2ec6c46128c..0acf003a4f4 100644 --- a/reactos/include/psdk/sal.h +++ b/reactos/include/psdk/sal.h @@ -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) diff --git a/reactos/win32ss/gdi/eng/pdevobj.c b/reactos/win32ss/gdi/eng/pdevobj.c index b890f474ef1..77ee756570b 100644 --- a/reactos/win32ss/gdi/eng/pdevobj.c +++ b/reactos/win32ss/gdi/eng/pdevobj.c @@ -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( diff --git a/reactos/win32ss/gdi/eng/pdevobj.h b/reactos/win32ss/gdi/eng/pdevobj.h index 4f3a6496858..491abc9c53b 100644 --- a/reactos/win32ss/gdi/eng/pdevobj.h +++ b/reactos/win32ss/gdi/eng/pdevobj.h @@ -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 */ diff --git a/reactos/win32ss/gdi/eng/xlateobj.h b/reactos/win32ss/gdi/eng/xlateobj.h index 3cf240bd3c7..fa4916ee96a 100644 --- a/reactos/win32ss/gdi/eng/xlateobj.h +++ b/reactos/win32ss/gdi/eng/xlateobj.h @@ -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); - -void -DbgCmpXlate(XLATEOBJ *pxlo1, XLATEOBJ *pxlo2); +EXLATEOBJ_iXlateTrivial( + _In_ PEXLATEOBJ pexlo, + _In_ ULONG iColor); -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); diff --git a/reactos/win32ss/gdi/ntgdi/dcutil.c b/reactos/win32ss/gdi/ntgdi/dcutil.c index d7f05af8cad..7b89718d1ba 100644 --- a/reactos/win32ss/gdi/ntgdi/dcutil.c +++ b/reactos/win32ss/gdi/ntgdi/dcutil.c @@ -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, diff --git a/reactos/win32ss/gdi/ntgdi/line.c b/reactos/win32ss/gdi/ntgdi/line.c index f8e1370a32a..39a0c7124fe 100644 --- a/reactos/win32ss/gdi/ntgdi/line.c +++ b/reactos/win32ss/gdi/ntgdi/line.c @@ -540,7 +540,8 @@ NtGdiPolyDraw( /* * @implemented */ -BOOL _Success_(return != FALSE) +_Success_(return != FALSE) +BOOL APIENTRY NtGdiMoveTo( IN HDC hdc, diff --git a/reactos/win32ss/gdi/ntgdi/path.c b/reactos/win32ss/gdi/ntgdi/path.c index 0c81b0a44ce..c318bea7652 100644 --- a/reactos/win32ss/gdi/ntgdi/path.c +++ b/reactos/win32ss/gdi/ntgdi/path.c @@ -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