ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
August 2009
----- 2025 -----
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
21 participants
654 discussions
Start a n
N
ew thread
[janderwald] 42606: - Remove superflouous checks - Found by amine48rz
by janderwald@svn.reactos.org
Author: janderwald Date: Tue Aug 11 10:49:30 2009 New Revision: 42606 URL:
http://svn.reactos.org/svn/reactos?rev=42606&view=rev
Log: - Remove superflouous checks - Found by amine48rz Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/adapter.c Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/adapter.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/adapter.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/adapter.c [iso-8859-1] Tue Aug 11 10:49:30 2009 @@ -91,7 +91,7 @@ IN ULONG DeviceExtensionSize) { NTSTATUS status = STATUS_UNSUCCESSFUL; - PDEVICE_OBJECT fdo = NULL; + PDEVICE_OBJECT fdo; PDEVICE_OBJECT PrevDeviceObject; PPCLASS_DEVICE_EXTENSION portcls_ext = NULL; @@ -200,27 +200,21 @@ cleanup: - if (portcls_ext) - { - - if (portcls_ext->KsDeviceHeader) - { - /* free the device header */ - KsFreeDeviceHeader(portcls_ext->KsDeviceHeader); - } - - if (portcls_ext->CreateItems) - { - /* free previously allocated create items */ - FreeItem(portcls_ext->CreateItems, TAG_PORTCLASS); - } - } - - if (fdo) - { - /* delete created fdo */ - IoDeleteDevice(fdo); - } + if (portcls_ext->KsDeviceHeader) + { + /* free the device header */ + KsFreeDeviceHeader(portcls_ext->KsDeviceHeader); + } + + if (portcls_ext->CreateItems) + { + /* free previously allocated create items */ + FreeItem(portcls_ext->CreateItems, TAG_PORTCLASS); + } + + /* delete created fdo */ + IoDeleteDevice(fdo); + return status; }
15 years, 4 months
1
0
0
0
[tkreuzer] 42605: Move stubs for user mode printer drivers from stubs.c into umpdstubs.c. Unimplement some of them, as they were wrong.
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Tue Aug 11 00:20:28 2009 New Revision: 42605 URL:
http://svn.reactos.org/svn/reactos?rev=42605&view=rev
Log: Move stubs for user mode printer drivers from stubs.c into umpdstubs.c. Unimplement some of them, as they were wrong. Added: trunk/reactos/subsystems/win32/win32k/stubs/umpdstubs.c (with props) Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c trunk/reactos/subsystems/win32/win32k/win32k.rbuild Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] Tue Aug 11 00:20:28 2009 @@ -328,7 +328,6 @@ return 0; } - DWORD APIENTRY EngSetPrinterData( @@ -382,7 +381,6 @@ return FALSE; } - INT APIENTRY EngWideCharToMultiByte( @@ -660,8 +658,6 @@ UNIMPLEMENTED; return FALSE; } - - /* * @unimplemented @@ -690,8 +686,6 @@ UNIMPLEMENTED; return EHN_ERROR; } - - /* * @unimplemented @@ -753,7 +747,6 @@ return FileTime; } - /* * @unimplemented */ @@ -821,7 +814,6 @@ /* * @unimplemented */ - BOOL APIENTRY NtGdiAnyLinkedFonts() @@ -833,485 +825,12 @@ /* * @unimplemented */ -HANDLE -APIENTRY -NtGdiBRUSHOBJ_hGetColorTransform( - IN BRUSHOBJ *Brush) -{ - UNIMPLEMENTED; - return NULL; -} - -/* - * @unimplemented - */ -PVOID APIENTRY -NtGdiBRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj, - IN ULONG ObjSize) -{ - UNIMPLEMENTED; - return NULL; -} - -/* - * @unimplemented - */ -PVOID APIENTRY -NtGdiBRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj) -{ - UNIMPLEMENTED; - return NULL; -} - -/* - * @unimplemented - */ -ULONG APIENTRY -NtGdiBRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo) -{ - UNIMPLEMENTED; - return 0; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiCLIPOBJ_bEnum( IN CLIPOBJ *ClipObj, - IN ULONG ObjSize, - OUT ULONG *EnumRects) -{ - UNIMPLEMENTED; - return FALSE; -} - - -/* - * @unimplemented - */ -ULONG APIENTRY -NtGdiCLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj, - IN BOOL ShouldDoAll, - IN ULONG ClipType, - IN ULONG BuildOrder, - IN ULONG MaxRects) -{ - UNIMPLEMENTED; - return 0; -} - - -/* - * @unimplemented - */ -PATHOBJ* APIENTRY -NtGdiCLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj) -{ - UNIMPLEMENTED; - return NULL; -} - - -/* - * @unimplemented - */ BOOL APIENTRY NtGdiEnableEudc(BOOL enable) { UNIMPLEMENTED; return FALSE; -} - - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngAssociateSurface(IN HSURF Surface, - IN HDEV Dev, - IN ULONG Hooks) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -CLIPOBJ* APIENTRY -NtGdiEngCreateClip(VOID) -{ - UNIMPLEMENTED; - return NULL; -} - - -/* - * @unimplemented - */ -VOID APIENTRY -NtGdiEngDeleteClip(CLIPOBJ *ClipRegion) -{ - UNIMPLEMENTED; -} - - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngCheckAbort(SURFOBJ *pso) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @implemented - */ -HSURF APIENTRY -NtGdiEngCreateDeviceSurface( IN DHSURF Surface, - IN SIZEL Size, - IN ULONG FormatVersion) -{ - if ( FormatVersion <= BMF_8RLE && - FormatVersion >= BMF_1BPP ) - return EngCreateDeviceSurface(Surface, Size, FormatVersion); - else - return NULL; -} - -/* - * @implemented - */ -HBITMAP APIENTRY -NtGdiEngCreateDeviceBitmap( - IN DHSURF dhsurf, - IN SIZEL sizl, - IN ULONG iFormatCompat) -{ - if ( ( sizl.cx > 0 && sizl.cy > 0 && (((LONGLONG)(sizl.cy * sizl.cx)) <= 0xFFFFFFFFULL) ) && - iFormatCompat <= BMF_8RLE && - iFormatCompat >= BMF_1BPP ) - return EngCreateDeviceBitmap(dhsurf, sizl, iFormatCompat); - else - return NULL; -} - - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngCopyBits(SURFOBJ *Dest, - SURFOBJ *Source, - CLIPOBJ *Clip, - XLATEOBJ *ColorTranslation, - RECTL *DestRect, - POINTL *SourcePoint) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @implemented - */ -HBITMAP APIENTRY -NtGdiEngCreateBitmap(IN SIZEL Size, - IN LONG Width, - IN ULONG Format, - IN ULONG Flags, - IN PVOID Bits) -{ - return EngCreateBitmap(Size, - Width, - Format, - Flags, - Bits); -} - - -/* - * @implemented - */ -HPALETTE APIENTRY -NtGdiEngCreatePalette(IN ULONG Mode, - IN ULONG NumColors, - IN ULONG *Colors, - IN ULONG Red, - IN ULONG Green, - IN ULONG Blue) -{ - return EngCreatePalette( Mode, - NumColors, - Colors, - Red, - Green, - Blue); -} - -BOOL APIENTRY -NtGdiEngTransparentBlt(IN SURFOBJ *Dest, - IN SURFOBJ *Source, - IN CLIPOBJ *Clip, - IN XLATEOBJ *ColorTranslation, - IN PRECTL DestRect, - IN PRECTL SourceRect, - IN ULONG TransparentColor, - IN ULONG Reserved) -{ - UNIMPLEMENTED; - return FALSE; -} - - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngTextOut(SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngStrokePath(SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - LINEATTRS *plineattrs, - MIX mix) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @implemented - */ -BOOL APIENTRY -NtGdiEngDeletePalette(IN HPALETTE Palette) -{ - return EngDeletePalette(Palette); -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngStrokeAndFillPath(SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pboStroke, - LINEATTRS *plineattrs, - BRUSHOBJ *pboFill, - POINTL *pptlBrushOrg, - MIX mixFill, - FLONG flOptions) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -VOID APIENTRY -NtGdiEngDeletePath(PATHOBJ *ppo) -{ - UNIMPLEMENTED; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngDeleteSurface(IN HSURF Surface) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngEraseSurface(SURFOBJ *Surface, - RECTL *Rect, - ULONG iColor) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngFillPath(SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix, - FLONG flOptions) -{ - UNIMPLEMENTED; - return FALSE; -} - -BOOL APIENTRY -NtGdiEngGradientFill(SURFOBJ *psoDest, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - TRIVERTEX *pVertex, - ULONG nVertex, - PVOID pMesh, - ULONG nMesh, - RECTL *prclExtents, - POINTL *pptlDitherOrg, - ULONG ulMode) -{ - UNIMPLEMENTED; - return FALSE; -} - -BOOL APIENTRY -NtGdiEngLineTo(SURFOBJ *Surface, - CLIPOBJ *Clip, - BRUSHOBJ *Brush, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *RectBounds, - MIX mix) -{ - UNIMPLEMENTED; - return FALSE; -} - - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngMarkBandingSurface(HSURF hsurf) -{ - UNIMPLEMENTED; - return FALSE; -} - - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngPaint(IN SURFOBJ *Surface, - IN CLIPOBJ *ClipRegion, - IN BRUSHOBJ *Brush, - IN POINTL *BrushOrigin, - IN MIX Mix) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngPlgBlt(SURFOBJ *psoTrg, - SURFOBJ *psoSrc, - SURFOBJ *psoMsk, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlBrushOrg, - POINTFIX *pptfx, - RECTL *prcl, - POINTL *pptl, - ULONG iMode) -{ - UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -BOOL APIENTRY -NtGdiEngStretchBltROP(SURFOBJ *psoDest, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode, - BRUSHOBJ *pbo, - DWORD rop4) -{ - UNIMPLEMENTED; - return FALSE; -} - -FD_GLYPHSET* APIENTRY -NtGdiEngComputeGlyphSet( INT nCodePage, - INT nFirstChar, - INT cChars) -{ - UNIMPLEMENTED; - return NULL; -} - -/* - * @unimplemented - */ -ULONG -APIENTRY -NtGdiFONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj, - IN HGLYPH *Glyphs) -{ - UNIMPLEMENTED; - return 0; -} - - -/* - * @unimplemented - */ -ULONG -APIENTRY -NtGdiFONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj, - IN ULONG Mode, - IN ULONG NumGlyphs, - IN HGLYPH *GlyphHandles, - IN PVOID *OutGlyphs) -{ - UNIMPLEMENTED; - return 0; } /* @@ -1346,7 +865,6 @@ return NULL; } - /* * @unimplemented */ @@ -1373,7 +891,6 @@ UNIMPLEMENTED; return FALSE; } - /* * @unimplemented @@ -1418,7 +935,6 @@ return NULL; } - /* * @unimplemented */ @@ -1439,80 +955,6 @@ /* * @unimplemented */ -PFD_GLYPHATTR -APIENTRY -NtGdiFONTOBJ_pQueryGlyphAttrs( - IN FONTOBJ *pfo, - IN ULONG iMode) -{ - UNIMPLEMENTED; - return NULL; -} - - /* - * @unimplemented - */ -IFIMETRICS* -APIENTRY -NtGdiFONTOBJ_pifi( - IN FONTOBJ *pfo) -{ - UNIMPLEMENTED; - return NULL; -} - - /* - * @unimplemented - */ -FD_GLYPHSET* -APIENTRY -NtGdiFONTOBJ_pfdg(IN FONTOBJ *pfo) -{ - UNIMPLEMENTED; - return NULL; -} - - /* - * @unimplemented - */ -PVOID -APIENTRY -NtGdiFONTOBJ_pvTrueTypeFontFile( - IN FONTOBJ *pfo, - OUT ULONG *pcjFile -) -{ - UNIMPLEMENTED; - return NULL; -} - - /* - * @unimplemented - */ -VOID -APIENTRY -NtGdiFONTOBJ_vGetInfo( - IN FONTOBJ *pfo, - IN ULONG cjSize, - OUT FONTINFO *pfi) -{ - UNIMPLEMENTED; -} - - /* - * @unimplemented - */ -XFORMOBJ* -APIENTRY -NtGdiFONTOBJ_pxoGetXform(IN FONTOBJ *pfo) -{ - UNIMPLEMENTED; - return NULL; -} - - /* - * @unimplemented - */ HBRUSH APIENTRY NtGdiClearBrushAttributes( @@ -1570,7 +1012,6 @@ return FALSE; } - /* * @unimplemented */ @@ -1626,7 +1067,6 @@ UNIMPLEMENTED; return FALSE; } - /* * @unimplemented @@ -1790,7 +1230,6 @@ return 0; } - /* * @unimplemented */ @@ -1801,7 +1240,6 @@ UNIMPLEMENTED; return FALSE; } - /* * @unimplemented @@ -1862,7 +1300,6 @@ return 0; } - /* * @unimplemented */ @@ -1904,81 +1341,11 @@ return FALSE; } - - /* - * @unimplemented - */ -BOOL -NtGdiUMPDEngFreeUserMem( - IN KERNEL_PVOID *ppv) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -BOOL -NtGdiBRUSHOBJ_DeleteRbrush( - IN BRUSHOBJ *pbo, - IN BRUSHOBJ *pboB) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -BOOL -NtGdiSetPUMPDOBJ( - IN HUMPD humpd, - IN BOOL bStoreID, - OUT HUMPD *phumpd, - OUT BOOL *pbWOW64) -{ - UNIMPLEMENTED; - return FALSE; -} - /* * @unimplemented */ BOOL NtGdiUpdateTransform(IN HDC hdc) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -LONG -APIENTRY -NtGdiHT_Get8BPPMaskPalette( - OUT OPTIONAL LPPALETTEENTRY pPaletteEntry, - IN BOOL Use8BPPMaskPal, - IN BYTE CMYMask, - IN USHORT RedGamma, - IN USHORT GreenGamma, - IN USHORT BlueGamma) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -LONG -APIENTRY -NtGdiHT_Get8BPPFormatPalette( - OUT OPTIONAL LPPALETTEENTRY pPaletteEntry, - IN USHORT RedGamma, - IN USHORT GreenGamma, - IN USHORT BlueGamma) { UNIMPLEMENTED; return FALSE; @@ -2017,81 +1384,12 @@ */ BOOL APIENTRY -NtGdiPATHOBJ_bEnum( - IN PATHOBJ *ppo, - OUT PATHDATA *ppd) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -BOOL -APIENTRY -NtGdiPATHOBJ_bEnumClipLines( - IN PATHOBJ *ppo, - IN ULONG cb, - OUT CLIPLINE *pcl) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -VOID -APIENTRY -NtGdiPATHOBJ_vGetBounds( - IN PATHOBJ *ppo, - OUT PRECTFX prectfx) -{ - UNIMPLEMENTED; -} - - - - /* - * @unimplemented - */ -VOID -APIENTRY -NtGdiPATHOBJ_vEnumStart( - IN PATHOBJ *ppo) -{ - UNIMPLEMENTED; -} - - /* - * @unimplemented - */ -VOID -APIENTRY -NtGdiPATHOBJ_vEnumStartClipLines( - IN PATHOBJ *ppo, - IN CLIPOBJ *pco, - IN SURFOBJ *pso, - IN LINEATTRS *pla) -{ - UNIMPLEMENTED; -} - - - /* - * @unimplemented - */ -BOOL -APIENTRY NtGdiRemoveFontMemResourceEx( IN HANDLE hMMFont) { UNIMPLEMENTED; return FALSE; } - - /* * @unimplemented */ @@ -2140,76 +1438,6 @@ return STATUS_NOT_IMPLEMENTED; } - - /* - * @unimplemented - */ -ULONG -APIENTRY -NtGdiXLATEOBJ_cGetPalette( - IN XLATEOBJ *pxlo, - IN ULONG iPal, - IN ULONG cPal, - OUT ULONG *pPal) -{ - UNIMPLEMENTED; - return 0; -} - - /* - * @unimplemented - */ -ULONG -APIENTRY -NtGdiXLATEOBJ_iXlate( - IN XLATEOBJ *pxlo, - IN ULONG iColor) -{ - UNIMPLEMENTED; - return 0; -} - - /* - * @unimplemented - */ -HANDLE -APIENTRY -NtGdiXLATEOBJ_hGetColorTransform( - IN XLATEOBJ *pxlo) -{ - UNIMPLEMENTED; - return 0; -} - - /* - * @unimplemented - */ -BOOL -APIENTRY -NtGdiXFORMOBJ_bApplyXform( - IN XFORMOBJ *pxo, - IN ULONG iMode, - IN ULONG cPoints, - IN PVOID pvIn, - OUT PVOID pvOut) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -ULONG -APIENTRY -NtGdiXFORMOBJ_iGetXform( - IN XFORMOBJ *pxo, - OUT OPTIONAL XFORML *pxform) -{ - UNIMPLEMENTED; - return 0; -} - /* * @unimplemented */ @@ -2235,72 +1463,6 @@ { UNIMPLEMENTED; return NULL; -} - - /* - * @unimplemented - */ -BOOL -APIENTRY -NtGdiSTROBJ_bEnum( - IN STROBJ *pstro, - OUT ULONG *pc, - OUT PGLYPHPOS *ppgpos) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -BOOL -APIENTRY -NtGdiSTROBJ_bEnumPositionsOnly( - IN STROBJ *pstro, - OUT ULONG *pc, - OUT PGLYPHPOS *ppgpos) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -BOOL -APIENTRY -NtGdiSTROBJ_bGetAdvanceWidths( - IN STROBJ*pstro, - IN ULONG iFirst, - IN ULONG c, - OUT POINTQF*pptqD) -{ - UNIMPLEMENTED; - return FALSE; -} - - /* - * @unimplemented - */ -VOID -APIENTRY -NtGdiSTROBJ_vEnumStart( - IN STROBJ *pstro) -{ - UNIMPLEMENTED; -} - - /* - * @unimplemented - */ -DWORD -APIENTRY -NtGdiSTROBJ_dwGetCodePage( - IN STROBJ *pstro) -{ - UNIMPLEMENTED; - return 0; } /* @@ -2398,7 +1560,6 @@ return FALSE; } - /* * @unimplemented */ Added: trunk/reactos/subsystems/win32/win32k/stubs/umpdstubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/umpdstubs.c (added) +++ trunk/reactos/subsystems/win32/win32k/stubs/umpdstubs.c [iso-8859-1] Tue Aug 11 00:20:28 2009 @@ -1,0 +1,699 @@ +#include <w32k.h> + +#define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ ) + +BOOL +//APIENTRY +NtGdiUMPDEngFreeUserMem( + IN KERNEL_PVOID *ppv) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +//APIENTRY +NtGdiSetPUMPDOBJ( + IN HUMPD humpd, + IN BOOL bStoreID, + OUT HUMPD *phumpd, + OUT BOOL *pbWOW64) +{ + UNIMPLEMENTED; + return FALSE; +} + +HANDLE +APIENTRY +NtGdiBRUSHOBJ_hGetColorTransform( + IN BRUSHOBJ *pbo) +{ + UNIMPLEMENTED; + return NULL; +} + +PVOID +APIENTRY +NtGdiBRUSHOBJ_pvAllocRbrush( + IN BRUSHOBJ *pbo, + IN ULONG cj) +{ + UNIMPLEMENTED; + return NULL; +} + +PVOID +APIENTRY +NtGdiBRUSHOBJ_pvGetRbrush( + IN BRUSHOBJ *pbo) +{ + UNIMPLEMENTED; + return NULL; +} + +ULONG +APIENTRY +NtGdiBRUSHOBJ_ulGetBrushColor( + BRUSHOBJ *pbo) +{ + UNIMPLEMENTED; + return 0; +} + +BOOL +//APIENTRY +NtGdiBRUSHOBJ_DeleteRbrush( + IN BRUSHOBJ *pbo, + IN BRUSHOBJ *pboB) +{ + UNIMPLEMENTED; + return 0; +} + +BOOL +APIENTRY +NtGdiCLIPOBJ_bEnum( + IN CLIPOBJ *pco, + IN ULONG cj, + OUT ULONG *pv) +{ + UNIMPLEMENTED; + return FALSE; +} + +ULONG +APIENTRY +NtGdiCLIPOBJ_cEnumStart( + IN CLIPOBJ *pco, + IN BOOL bAll, + IN ULONG iType, + IN ULONG iDirection, + IN ULONG cLimit) +{ + UNIMPLEMENTED; + return 0; +} + +PATHOBJ* +APIENTRY +NtGdiCLIPOBJ_ppoGetPath( + CLIPOBJ *pco) +{ + UNIMPLEMENTED; + return NULL; +} + +BOOL +APIENTRY +NtGdiEngAssociateSurface( + IN HSURF hsurf, + IN HDEV hdev, + IN ULONG flHooks) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngCheckAbort( + IN SURFOBJ *pso) +{ + UNIMPLEMENTED; + return FALSE; +} + +FD_GLYPHSET* +APIENTRY +NtGdiEngComputeGlyphSet( + INT nCodePage, + INT nFirstChar, + INT cChars) +{ + UNIMPLEMENTED; + return NULL; +} + +BOOL +APIENTRY +NtGdiEngCopyBits( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + POINTL *pptlSrc) +{ + UNIMPLEMENTED; + return FALSE; +} + +HBITMAP +APIENTRY +NtGdiEngCreateBitmap( + IN SIZEL sizl, + IN LONG lWidth, + IN ULONG iFormat, + IN ULONG fl, + IN PVOID pvBits) +{ + UNIMPLEMENTED; + return NULL; +} + +CLIPOBJ* +APIENTRY +NtGdiEngCreateClip(VOID) +{ + UNIMPLEMENTED; + return NULL; +} + +HBITMAP +APIENTRY +NtGdiEngCreateDeviceBitmap( + IN DHSURF dhsurf, + IN SIZEL sizl, + IN ULONG iFormatCompat) +{ + UNIMPLEMENTED; + return NULL; +} + +HSURF +APIENTRY +NtGdiEngCreateDeviceSurface( + IN DHSURF dhsurf, + IN SIZEL sizl, + IN ULONG iFormatCompat) +{ + UNIMPLEMENTED; + return NULL; +} + +HPALETTE +APIENTRY +NtGdiEngCreatePalette( + IN ULONG iMode, + IN ULONG cColors, + IN ULONG *pulColors, + IN ULONG flRed, + IN ULONG flGreen, + IN ULONG flBlue) +{ + UNIMPLEMENTED; + return NULL; +} + +VOID +APIENTRY +NtGdiEngDeleteClip( + CLIPOBJ *pco) +{ + UNIMPLEMENTED; +} + +BOOL +APIENTRY +NtGdiEngDeletePalette( + IN HPALETTE hpal) +{ + UNIMPLEMENTED; + return FALSE; +} + +VOID +APIENTRY +NtGdiEngDeletePath( + IN PATHOBJ *ppo) +{ + UNIMPLEMENTED; +} + +BOOL +APIENTRY +NtGdiEngDeleteSurface( + IN HSURF hsurf) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngEraseSurface( + SURFOBJ *pso, + RECTL *prcl, + ULONG iColor) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngFillPath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix, + FLONG flOptions) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngGradientFill( + SURFOBJ *psoDest, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + TRIVERTEX *pVertex, + ULONG nVertex, + PVOID pMesh, + ULONG nMesh, + RECTL *prclExtents, + POINTL *pptlDitherOrg, + ULONG ulMode) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngLineTo( + IN SURFOBJ *pso, + IN CLIPOBJ *pco, + IN BRUSHOBJ *pbo, + IN LONG x1, + IN LONG y1, + IN LONG x2, + IN LONG y2, + IN RECTL *prclBounds, + IN MIX mix) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngMarkBandingSurface( + HSURF hsurf) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngPaint( + IN SURFOBJ *pso, + IN CLIPOBJ *pco, + IN BRUSHOBJ *pbo, + IN POINTL *pptlBrushOrg, + IN MIX mix) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngPlgBlt( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMsk, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlBrushOrg, + POINTFIX *pptfx, + RECTL *prcl, + POINTL *pptl, + ULONG iMode) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngStretchBltROP( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode, + BRUSHOBJ *pbo, + DWORD rop4) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngStrokePath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + LINEATTRS *plineattrs, + MIX mix) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngStrokeAndFillPath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pboStroke, + LINEATTRS *plineattrs, + BRUSHOBJ *pboFill, + POINTL *pptlBrushOrg, + MIX mixFill, + FLONG flOptions) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngTextOut( + SURFOBJ *pso, + STROBJ *pstro, + FONTOBJ *pfo, + CLIPOBJ *pco, + RECTL *prclExtra, + RECTL *prclOpaque, + BRUSHOBJ *pboFore, + BRUSHOBJ *pboOpaque, + POINTL *pptlOrg, + MIX mix) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiEngTransparentBlt( + IN SURFOBJ *psoDst, + IN SURFOBJ *psoSrc, + IN CLIPOBJ *pco, + IN XLATEOBJ *pxlo, + IN PRECTL prclDst, + IN PRECTL prclSrc, + IN ULONG iTransColor, + IN ULONG ulReserved) +{ + UNIMPLEMENTED; + return FALSE; +} + +VOID +APIENTRY +NtGdiFONTOBJ_vGetInfo( + IN FONTOBJ *pfo, + IN ULONG cjSize, + OUT FONTINFO *pfi) +{ + UNIMPLEMENTED; +} + +XFORMOBJ* +APIENTRY +NtGdiFONTOBJ_pxoGetXform( + IN FONTOBJ *pfo) +{ + UNIMPLEMENTED; + return NULL; +} + +ULONG +APIENTRY +NtGdiFONTOBJ_cGetGlyphs( + IN FONTOBJ *pfo, + IN ULONG iMode, + IN ULONG cGlyph, + IN HGLYPH *phg, + IN PVOID *ppvGlyph) +{ + UNIMPLEMENTED; + return 0; +} + +IFIMETRICS* +APIENTRY +NtGdiFONTOBJ_pifi( + IN FONTOBJ *pfo) +{ + UNIMPLEMENTED; + return NULL; +} + +FD_GLYPHSET* +APIENTRY +NtGdiFONTOBJ_pfdg( + IN FONTOBJ *pfo) +{ + UNIMPLEMENTED; + return NULL; +} + +PFD_GLYPHATTR +APIENTRY +NtGdiFONTOBJ_pQueryGlyphAttrs( + IN FONTOBJ *pfo, + IN ULONG iMode) +{ + UNIMPLEMENTED; + return NULL; +} + +PVOID +APIENTRY +NtGdiFONTOBJ_pvTrueTypeFontFile( + IN FONTOBJ *pfo, + OUT ULONG *pcjFile) +{ + UNIMPLEMENTED; + return NULL; +} + +ULONG +APIENTRY +NtGdiFONTOBJ_cGetAllGlyphHandles( + IN FONTOBJ *pfo, + IN HGLYPH *phg) +{ + UNIMPLEMENTED; + return 0; +} + +LONG +APIENTRY +NtGdiHT_Get8BPPMaskPalette( + OUT OPTIONAL LPPALETTEENTRY pPaletteEntry, + IN BOOL Use8BPPMaskPal, + IN BYTE CMYMask, + IN USHORT RedGamma, + IN USHORT GreenGamma, + IN USHORT BlueGamma) +{ + UNIMPLEMENTED; + return FALSE; +} + +LONG +APIENTRY +NtGdiHT_Get8BPPFormatPalette( + OUT OPTIONAL LPPALETTEENTRY pPaletteEntry, + IN USHORT RedGamma, + IN USHORT GreenGamma, + IN USHORT BlueGamma) +{ + UNIMPLEMENTED; + return FALSE; +} + +VOID +APIENTRY +NtGdiPATHOBJ_vGetBounds( + IN PATHOBJ *ppo, + OUT PRECTFX prectfx) +{ + UNIMPLEMENTED; +} + +BOOL +APIENTRY +NtGdiPATHOBJ_bEnum( + IN PATHOBJ *ppo, + OUT PATHDATA *ppd) +{ + UNIMPLEMENTED; + return FALSE; +} + +VOID +APIENTRY +NtGdiPATHOBJ_vEnumStart( + IN PATHOBJ *ppo) +{ + UNIMPLEMENTED; +} + +VOID +APIENTRY +NtGdiPATHOBJ_vEnumStartClipLines( + IN PATHOBJ *ppo, + IN CLIPOBJ *pco, + IN SURFOBJ *pso, + IN LINEATTRS *pla) +{ + UNIMPLEMENTED; +} + +BOOL +APIENTRY +NtGdiPATHOBJ_bEnumClipLines( + IN PATHOBJ *ppo, + IN ULONG cb, + OUT CLIPLINE *pcl) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiSTROBJ_bEnum( + IN STROBJ *pstro, + OUT ULONG *pc, + OUT PGLYPHPOS *ppgpos) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiSTROBJ_bEnumPositionsOnly( + IN STROBJ *pstro, + OUT ULONG *pc, + OUT PGLYPHPOS *ppgpos) +{ + UNIMPLEMENTED; + return FALSE; +} + +BOOL +APIENTRY +NtGdiSTROBJ_bGetAdvanceWidths( + IN STROBJ *pstro, + IN ULONG iFirst, + IN ULONG c, + OUT POINTQF *pptqD) +{ + UNIMPLEMENTED; + return FALSE; +} + +VOID +APIENTRY +NtGdiSTROBJ_vEnumStart( + IN STROBJ *pstro) +{ + UNIMPLEMENTED; +} + +DWORD +APIENTRY +NtGdiSTROBJ_dwGetCodePage( + IN STROBJ *pstro) +{ + UNIMPLEMENTED; + return 0; +} + +BOOL +APIENTRY +NtGdiXFORMOBJ_bApplyXform( + IN XFORMOBJ *pxo, + IN ULONG iMode, + IN ULONG cPoints, + IN PVOID pvIn, + OUT PVOID pvOut) +{ + UNIMPLEMENTED; + return FALSE; +} + +ULONG +APIENTRY +NtGdiXFORMOBJ_iGetXform( + IN XFORMOBJ *pxo, + OUT OPTIONAL XFORML *pxform) +{ + UNIMPLEMENTED; + return 0; +} + +ULONG +APIENTRY +NtGdiXLATEOBJ_cGetPalette( + IN XLATEOBJ *pxlo, + IN ULONG iPal, + IN ULONG cPal, + OUT ULONG *pPal) +{ + UNIMPLEMENTED; + return 0; +} + +ULONG +APIENTRY +NtGdiXLATEOBJ_iXlate( + IN XLATEOBJ *pxlo, + IN ULONG iColor) +{ + UNIMPLEMENTED; + return 0; +} + +HANDLE +APIENTRY +NtGdiXLATEOBJ_hGetColorTransform( + IN XLATEOBJ *pxlo) +{ + UNIMPLEMENTED; + return 0; +} + + +//NtGdiEngAlphaBlend +//NtGdiEngUnlockSurface +//NtGdiEngLockSurface +//NtGdiEngBitBlt +//NtGdiEngStretchBlt + Propchange: trunk/reactos/subsystems/win32/win32k/stubs/umpdstubs.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Tue Aug 11 00:20:28 2009 @@ -196,6 +196,7 @@ </directory> <directory name="stubs"> <file>stubs.c</file> + <file>umpdstubs.c</file> </directory> <!-- See
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054#c7
-->
15 years, 4 months
1
0
0
0
[cgutman] 42604: - Make Connect IRPs cancellable (should fix some deadlock issues) - Fix a bug which could result in a Listen IRP being unable to be cancelled
by cgutman@svn.reactos.org
Author: cgutman Date: Mon Aug 10 23:21:50 2009 New Revision: 42604 URL:
http://svn.reactos.org/svn/reactos?rev=42604&view=rev
Log: - Make Connect IRPs cancellable (should fix some deadlock issues) - Fix a bug which could result in a Listen IRP being unable to be cancelled Modified: trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c Modified: trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/tcpi…
============================================================================== --- trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c [iso-8859-1] Mon Aug 10 23:21:50 2009 @@ -192,6 +192,10 @@ DGRemoveIRP(TranContext->Handle.AddressHandle, Irp); break; + case TDI_CONNECT: + TCPRemoveIRP(TranContext->Handle.ConnectionContext, Irp); + break; + default: TI_DbgPrint(MIN_TRACE, ("Unknown IRP. MinorFunction (0x%X).\n", MinorFunction)); break; @@ -399,12 +403,18 @@ Parameters = (PTDI_REQUEST_KERNEL)&IrpSp->Parameters; - Status = TCPConnect( - TranContext->Handle.ConnectionContext, - Parameters->RequestConnectionInformation, - Parameters->ReturnConnectionInformation, - DispDataRequestComplete, - Irp ); + Status = DispPrepareIrpForCancel(TranContext->Handle.ConnectionContext, + Irp, + DispCancelRequest); + + if (NT_SUCCESS(Status)) { + Status = TCPConnect( + TranContext->Handle.ConnectionContext, + Parameters->RequestConnectionInformation, + Parameters->ReturnConnectionInformation, + DispDataRequestComplete, + Irp ); + } done: TcpipRecursiveMutexLeave( &TCPLock ); @@ -577,12 +587,17 @@ Connection->AddressFile->Listener)); } + Status = DispPrepareIrpForCancel + (TranContext->Handle.ConnectionContext, + Irp, + (PDRIVER_CANCEL)DispCancelListenRequest); + /* Listening will require us to create a listening socket and store it in * the address file. It will be signalled, and attempt to complete an irp * when a new connection arrives. */ /* The important thing to note here is that the irp we'll complete belongs * to the socket to be accepted onto, not the listener */ - if( !Connection->AddressFile->Listener ) { + if( NT_SUCCESS(Status) && !Connection->AddressFile->Listener ) { Connection->AddressFile->Listener = TCPAllocateConnectionEndpoint( NULL ); @@ -602,12 +617,6 @@ if( NT_SUCCESS(Status) ) Status = TCPListen( Connection->AddressFile->Listener, 1024 ); /* BACKLOG */ - } - if( NT_SUCCESS(Status) ) { - Status = DispPrepareIrpForCancel - (TranContext->Handle.ConnectionContext, - Irp, - (PDRIVER_CANCEL)DispCancelListenRequest); } if( NT_SUCCESS(Status) ) {
15 years, 4 months
1
0
0
0
[janderwald] 42603: - Implement swenum
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Aug 10 23:10:03 2009 New Revision: 42603 URL:
http://svn.reactos.org/svn/reactos?rev=42603&view=rev
Log: - Implement swenum Added: trunk/reactos/drivers/ksfilter/swenum/precomp.h (with props) trunk/reactos/drivers/ksfilter/swenum/swenum.c (with props) trunk/reactos/drivers/ksfilter/swenum/swenum.rbuild (with props) Modified: trunk/reactos/drivers/ksfilter/directory.rbuild Modified: trunk/reactos/drivers/ksfilter/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/directory…
============================================================================== --- trunk/reactos/drivers/ksfilter/directory.rbuild [iso-8859-1] (original) +++ trunk/reactos/drivers/ksfilter/directory.rbuild [iso-8859-1] Mon Aug 10 23:10:03 2009 @@ -4,5 +4,8 @@ <directory name="ks"> <xi:include href="ks/ks.rbuild" /> </directory> + <directory name="swenum"> + <xi:include href="swenum/swenum.rbuild" /> + </directory> </group> Added: trunk/reactos/drivers/ksfilter/swenum/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/swenum/pr…
============================================================================== --- trunk/reactos/drivers/ksfilter/swenum/precomp.h (added) +++ trunk/reactos/drivers/ksfilter/swenum/precomp.h [iso-8859-1] Mon Aug 10 23:10:03 2009 @@ -1,0 +1,12 @@ +#ifndef PRECOMP_H__ +#define PRECOMP_H__ + +#include <ntddk.h> +#include <ks.h> +#include <swenum.h> +#include <debug.h> + + + + +#endif Propchange: trunk/reactos/drivers/ksfilter/swenum/precomp.h ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/drivers/ksfilter/swenum/swenum.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/swenum/sw…
============================================================================== --- trunk/reactos/drivers/ksfilter/swenum/swenum.c (added) +++ trunk/reactos/drivers/ksfilter/swenum/swenum.c [iso-8859-1] Mon Aug 10 23:10:03 2009 @@ -1,0 +1,309 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Kernel Streaming + * FILE: drivers/ksfilter/swenum/swenum.c + * PURPOSE: KS Allocator functions + * PROGRAMMER: Johannes Anderwald + */ + + +#include "precomp.h" + +const GUID KSMEDIUMSETID_Standard = {0x4747B320L, 0x62CE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}}; + + +NTSTATUS +NTAPI +SwDispatchPower( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + + UNIMPLEMENTED; + + /* just complete the irp */ + Irp->IoStatus.Status = STATUS_SUCCESS; + + /* complete the irp */ + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + /* done */ + return STATUS_SUCCESS; + +} + +NTSTATUS +NTAPI +SwDispatchPnp( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + NTSTATUS Status; + BOOLEAN ChildDevice; + PIO_STACK_LOCATION IoStack; + PDEVICE_OBJECT PnpDeviceObject = NULL; + + /* check if the device object is a child device */ + Status = KsIsBusEnumChildDevice(DeviceObject, &ChildDevice); + + /* check for success */ + if (!NT_SUCCESS(Status)) + { + /* failed */ + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; + } + + /* let ks handle it */ + Status = KsServiceBusEnumPnpRequest(DeviceObject, Irp); + + if (!NT_SUCCESS(Status)) + { + /* invalid request or not supported */ + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; + } + + /* get bus enum pnp object */ + Status = KsGetBusEnumPnpDeviceObject(DeviceObject, &PnpDeviceObject); + + /* check for success */ + if (!NT_SUCCESS(Status)) + { + /* failed to get pnp object */ + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; + } + + /* sanity check */ + ASSERT(PnpDeviceObject); + + /* get current stack location */ + IoStack = IoGetCurrentIrpStackLocation(Irp); + + if (IoStack->MinorFunction == IRP_MN_REMOVE_DEVICE) + { + /* delete the device */ + IoDeleteDevice(DeviceObject); + } + + /* skip current location */ + IoSkipCurrentIrpStackLocation(Irp); + /* call the pnp device object */ + return IoCallDriver(PnpDeviceObject, Irp); +} + +NTSTATUS +NTAPI +SwDispatchSystemControl( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + NTSTATUS Status; + BOOLEAN ChildDevice; + PDEVICE_OBJECT PnpDeviceObject; + + /* check if the device object is a child device */ + Status = KsIsBusEnumChildDevice(DeviceObject, &ChildDevice); + + /* check for success */ + if (NT_SUCCESS(Status)) + { + if (!ChildDevice) + { + /* bus devices dont support internal requests */ + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + } + + /* get bus enum pnp object */ + Status = KsGetBusEnumPnpDeviceObject(DeviceObject, &PnpDeviceObject); + + /* check for success */ + if (NT_SUCCESS(Status)) + { + /* skip current location */ + IoSkipCurrentIrpStackLocation(Irp); + /* call the pnp device object */ + return IoCallDriver(PnpDeviceObject, Irp); + } + + } + + /* complete the request */ + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + return Status; + +} + +NTSTATUS +NTAPI +SwDispatchDeviceControl( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + PIO_STACK_LOCATION IoStack; + NTSTATUS Status = STATUS_SUCCESS; + + /* get current stack location */ + IoStack = IoGetCurrentIrpStackLocation(Irp); + + if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_SWENUM_INSTALL_INTERFACE) + { + /* install interface */ + Status = KsInstallBusEnumInterface(Irp); + } + else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_SWENUM_REMOVE_INTERFACE) + { + /* remove interface */ + Status = KsRemoveBusEnumInterface(Irp); + } + else if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_SWENUM_GET_BUS_ID) + { + /* get bus id */ + return KsGetBusEnumIdentifier(Irp); + } + + /* store result */ + Irp->IoStatus.Status = Status; + + /* complete irp */ + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + /* done */ + return Status; +} + + +NTSTATUS +NTAPI +SwDispatchCreate( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + NTSTATUS Status; + BOOLEAN ChildDevice; + + /* check if the device object is a child device */ + Status = KsIsBusEnumChildDevice(DeviceObject, &ChildDevice); + + /* check for success */ + if (NT_SUCCESS(Status)) + { + if (ChildDevice) + { + /* child devices cant create devices */ + Irp->IoStatus.Status = STATUS_OBJECT_NAME_NOT_FOUND; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_OBJECT_NAME_NOT_FOUND; + } + /* perform the create request */ + Status = KsServiceBusEnumCreateRequest(DeviceObject, Irp); + } + + /* check the irp is pending */ + if (Status != STATUS_PENDING) + { + /* irp is ok to complete */ + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + } + + return Status; +} + + +NTSTATUS +NTAPI +SwDispatchClose( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + /* just complete the irp */ + Irp->IoStatus.Status = STATUS_SUCCESS; + + /* complete the irp */ + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + /* done */ + return STATUS_SUCCESS; + +} + +NTSTATUS +NTAPI +SwAddDevice( + IN PDRIVER_OBJECT DriverObject, + IN PDEVICE_OBJECT PhysicalDeviceObject) +{ + NTSTATUS Status; + PDEVICE_OBJECT FunctionalDeviceObject; + + /* create the device */ + Status = IoCreateDevice(DriverObject, sizeof(KSDEVICE_HEADER), NULL, FILE_DEVICE_BUS_EXTENDER, 0, FALSE, &FunctionalDeviceObject); + + if (!NT_SUCCESS(Status)) + { + /* failed */ + return Status; + } + + /* create the bus enum object */ + Status = KsCreateBusEnumObject(L"SW", FunctionalDeviceObject, PhysicalDeviceObject, NULL, &KSMEDIUMSETID_Standard, L"Devices"); + + /* check for success */ + if (NT_SUCCESS(Status)) + { + /* set device flags */ + FunctionalDeviceObject->Flags |= DO_POWER_PAGABLE; + FunctionalDeviceObject->Flags &= ~ DO_DEVICE_INITIALIZING; + } + else + { + /* failed to create bus enum object */ + IoDeleteDevice(FunctionalDeviceObject); + } + + /* done */ + return Status; +} + +VOID +NTAPI +SwUnload( + IN PDRIVER_OBJECT DriverObject) +{ + /* nop */ +} + +NTSTATUS +NTAPI +DriverEntry( + IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegistryPathName) +{ + + /* setup add device routine */ + DriverObject->DriverExtension->AddDevice = SwAddDevice; + + /* setup unload routine */ + DriverObject->DriverUnload = SwUnload; + + /* misc irp handling routines */ + DriverObject->MajorFunction[IRP_MJ_CREATE] = SwDispatchCreate; + DriverObject->MajorFunction[IRP_MJ_CLOSE] = SwDispatchClose; + DriverObject->MajorFunction[IRP_MJ_PNP] = SwDispatchPnp; + DriverObject->MajorFunction[IRP_MJ_POWER] = SwDispatchPower; + DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = SwDispatchDeviceControl; + DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = SwDispatchSystemControl; + + + return STATUS_SUCCESS; +} + Propchange: trunk/reactos/drivers/ksfilter/swenum/swenum.c ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/drivers/ksfilter/swenum/swenum.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/swenum/sw…
============================================================================== --- trunk/reactos/drivers/ksfilter/swenum/swenum.rbuild (added) +++ trunk/reactos/drivers/ksfilter/swenum/swenum.rbuild [iso-8859-1] Mon Aug 10 23:10:03 2009 @@ -1,0 +1,7 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> +<module name="swenum" type="kernelmodedriver" installbase="system32/drivers" installname="swenum.sys"> + <library>ntoskrnl</library> + <library>ks</library> + <file>swenum.c</file> +</module> Propchange: trunk/reactos/drivers/ksfilter/swenum/swenum.rbuild ------------------------------------------------------------------------------ svn:eol-style = native
15 years, 4 months
1
0
0
0
[tkreuzer] 42602: Revert part of my last commit, this was testcode not meant to be committed.
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Aug 10 22:22:11 2009 New Revision: 42602 URL:
http://svn.reactos.org/svn/reactos?rev=42602&view=rev
Log: Revert part of my last commit, this was testcode not meant to be committed. Modified: trunk/reactos/subsystems/win32/win32k/objects/device.c trunk/reactos/subsystems/win32/win32k/objects/dibobj.c Modified: trunk/reactos/subsystems/win32/win32k/objects/device.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/device.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/device.c [iso-8859-1] Mon Aug 10 22:22:11 2009 @@ -8,7 +8,7 @@ #include <w32k.h> -#define YDEBUG +#define NDEBUG #include <debug.h> // TODO: proper implementation of LDEVOBJ and PDEVOBJ interface @@ -213,9 +213,6 @@ ULONG DisplayNumber; LARGE_INTEGER Zero; BOOLEAN ret = FALSE; - - DPRINT("IntPrepareDriver()\n"); -ASSERT(FALSE); Zero.QuadPart = 0; if (STATUS_SUCCESS != KeWaitForSingleObject(&VideoDriverNeedsPreparation, Executive, KernelMode, TRUE, &Zero)) @@ -453,7 +450,7 @@ IO_STATUS_BLOCK Iosb; BOOL Prepare = TRUE; ULONG Length = sizeof(BOOL); -// PIO_STACK_LOCATION StackPtr; + PIO_STACK_LOCATION StackPtr; LARGE_INTEGER StartOffset; PFILE_OBJECT FileObject = PrimarySurface.VideoFileObject; PDEVICE_OBJECT DeviceObject = FileObject->DeviceObject; @@ -478,16 +475,16 @@ } /* Set up IRP Data */ -// Irp->Tail.Overlay.OriginalFileObject = FileObject; -// Irp->RequestorMode = KernelMode; -// Irp->Overlay.AsynchronousParameters.UserApcRoutine = NULL; -// Irp->Overlay.AsynchronousParameters.UserApcContext = NULL; -// Irp->Flags |= IRP_WRITE_OPERATION; + Irp->Tail.Overlay.OriginalFileObject = FileObject; + Irp->RequestorMode = KernelMode; + Irp->Overlay.AsynchronousParameters.UserApcRoutine = NULL; + Irp->Overlay.AsynchronousParameters.UserApcContext = NULL; + Irp->Flags |= IRP_WRITE_OPERATION; /* Setup Stack Data */ -// StackPtr = IoGetNextIrpStackLocation(Irp); -// StackPtr->FileObject = PrimarySurface.VideoFileObject; -// StackPtr->Parameters.Write.Key = 0; + StackPtr = IoGetNextIrpStackLocation(Irp); + StackPtr->FileObject = PrimarySurface.VideoFileObject; + StackPtr->Parameters.Write.Key = 0; Status = IoCallDriver(DeviceObject, Irp); @@ -508,8 +505,6 @@ RECTL SurfaceRect; SURFOBJ *SurfObj; BOOL calledFromUser; - - DPRINT("IntCreatePrimarySurface()\n"); if (! IntPrepareDriverIfNeeded()) { Modified: trunk/reactos/subsystems/win32/win32k/objects/dibobj.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] Mon Aug 10 22:22:11 2009 @@ -19,9 +19,6 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#if 0 -#include "dibbmp.c" -#else #include <w32k.h> #define NDEBUG @@ -1738,6 +1735,4 @@ return hPal; } -#endif - /* EOF */
15 years, 4 months
1
0
0
0
[tkreuzer] 42601: - Move some functions from stubs.c to new file eng/mapping.c - Move EngSetPointerTag to mouse.c - Move EngQuerySystemAttribute and EngGetTickCount to engmisc.c - Unimplement EngLoadModule as it was wrong - FLOATOBJ_XxxFloatObj are duplicated from FLOATOBJ_Xxx, remove the stubs and redirect in the pspec. - Redirect EngGetCurrentProcessId and EngGetcurrentThreadId to ntoskrnl
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Aug 10 22:19:33 2009 New Revision: 42601 URL:
http://svn.reactos.org/svn/reactos?rev=42601&view=rev
Log: - Move some functions from stubs.c to new file eng/mapping.c - Move EngSetPointerTag to mouse.c - Move EngQuerySystemAttribute and EngGetTickCount to engmisc.c - Unimplement EngLoadModule as it was wrong - FLOATOBJ_XxxFloatObj are duplicated from FLOATOBJ_Xxx, remove the stubs and redirect in the pspec. - Redirect EngGetCurrentProcessId and EngGetcurrentThreadId to ntoskrnl Added: trunk/reactos/subsystems/win32/win32k/eng/mapping.c (with props) Modified: trunk/reactos/subsystems/win32/win32k/eng/engmisc.c trunk/reactos/subsystems/win32/win32k/eng/mouse.c trunk/reactos/subsystems/win32/win32k/ldr/loader.c trunk/reactos/subsystems/win32/win32k/objects/device.c trunk/reactos/subsystems/win32/win32k/objects/dibobj.c trunk/reactos/subsystems/win32/win32k/stubs/stubs.c trunk/reactos/subsystems/win32/win32k/win32k.pspec trunk/reactos/subsystems/win32/win32k/win32k.rbuild Modified: trunk/reactos/subsystems/win32/win32k/eng/engmisc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/engmisc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/eng/engmisc.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -222,20 +222,6 @@ } HANDLE APIENTRY -EngGetCurrentProcessId(VOID) -{ - /*
http://www.osr.com/ddk/graphics/gdifncs_5ovb.htm
*/ - return PsGetCurrentProcessId(); -} - -HANDLE APIENTRY -EngGetCurrentThreadId(VOID) -{ - /*
http://www.osr.com/ddk/graphics/gdifncs_25rb.htm
*/ - return PsGetCurrentThreadId(); -} - -HANDLE APIENTRY EngGetProcessHandle(VOID) { /*
http://www.osr.com/ddk/graphics/gdifncs_3tif.htm
@@ -253,4 +239,57 @@ RtlGetDefaultCodePage(AnsiCodePage, OemCodePage); } +BOOL +APIENTRY +EngQuerySystemAttribute( + IN ENG_SYSTEM_ATTRIBUTE CapNum, + OUT PDWORD pCapability) +{ + SYSTEM_BASIC_INFORMATION sbi; + SYSTEM_PROCESSOR_INFORMATION spi; + + switch (CapNum) + { + case EngNumberOfProcessors: + NtQuerySystemInformation(SystemBasicInformation, + &sbi, + sizeof(SYSTEM_BASIC_INFORMATION), + NULL); + *pCapability = sbi.NumberOfProcessors; + return TRUE; + + case EngProcessorFeature: + NtQuerySystemInformation(SystemProcessorInformation, + &spi, + sizeof(SYSTEM_PROCESSOR_INFORMATION), + NULL); + *pCapability = spi.ProcessorFeatureBits; + return TRUE; + + default: + break; + } + + return FALSE; +} + +ULONGLONG +APIENTRY +EngGetTickCount(VOID) +{ + ULONG Multiplier; + LARGE_INTEGER TickCount; + + /* Get the multiplier and current tick count */ + KeQueryTickCount(&TickCount); + Multiplier = SharedUserData->TickCountMultiplier; + + /* Convert to milliseconds and return */ + return (Int64ShrlMod32(UInt32x32To64(Multiplier, TickCount.LowPart), 24) + + (Multiplier * (TickCount.HighPart << 8))); +} + + + + /* EOF */ Added: trunk/reactos/subsystems/win32/win32k/eng/mapping.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/mapping.c (added) +++ trunk/reactos/subsystems/win32/win32k/eng/mapping.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -1,0 +1,145 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * PURPOSE: Functions for mapping files and sections + * FILE: subsys/win32k/eng/device.c + * PROGRAMER: + */ + +#include <w32k.h> + +#define NDEBUG +#include <debug.h> + +HANDLE +APIENTRY +EngLoadModule(LPWSTR pwsz) +{ + UNIMPLEMENTED; + return NULL; +} + +HANDLE +APIENTRY +EngLoadModuleForWrite( + IN LPWSTR pwsz, + IN ULONG cjSizeOfModule) +{ + //
www.osr.com/ddk/graphics/gdifncs_98rr.htm
+ UNIMPLEMENTED; + return NULL; +} + +PVOID +APIENTRY +EngMapModule( + IN HANDLE h, + OUT PULONG pulSize) +{ + //
www.osr.com/ddk/graphics/gdifncs_9b1j.htm
+ UNIMPLEMENTED; + return NULL; +} + +VOID +APIENTRY +EngFreeModule (IN HANDLE h) +{ + //
www.osr.com/ddk/graphics/gdifncs_9fzb.htm
+ UNIMPLEMENTED; +} + +PVOID +APIENTRY +EngMapFile( + IN LPWSTR pwsz, + IN ULONG cjSize, + OUT ULONG_PTR *piFile) +{ + UNIMPLEMENTED; + return NULL; +} + +BOOL +APIENTRY +EngUnmapFile( + IN ULONG_PTR iFile) +{ + UNIMPLEMENTED; + return FALSE; +} + + +BOOL +APIENTRY +EngMapFontFileFD( + IN ULONG_PTR iFile, + OUT PULONG *ppjBuf, + OUT ULONG *pcjBuf) +{ + //
www.osr.com/ddk/graphics/gdifncs_0co7.htm
+ UNIMPLEMENTED; + return FALSE; +} + +VOID +APIENTRY +EngUnmapFontFileFD( + IN ULONG_PTR iFile) +{ + //
http://www.osr.com/ddk/graphics/gdifncs_6wbr.htm
+ UNIMPLEMENTED; +} + +BOOL +APIENTRY +EngMapFontFile( + ULONG_PTR iFile, + PULONG *ppjBuf, + ULONG *pcjBuf) +{ + //
www.osr.com/ddk/graphics/gdifncs_3up3.htm
+ return EngMapFontFileFD(iFile, ppjBuf, pcjBuf); +} + +VOID +APIENTRY +EngUnmapFontFile( + IN ULONG_PTR iFile) +{ + //
www.osr.com/ddk/graphics/gdifncs_09wn.htm
+ EngUnmapFontFileFD(iFile); +} + + +BOOLEAN +APIENTRY +EngMapSection(IN PVOID Section, + IN BOOLEAN Map, + IN HANDLE Process, + IN PVOID* BaseAddress) +{ + UNIMPLEMENTED; + return FALSE; +} + +PVOID +APIENTRY +EngAllocSectionMem(IN PVOID SectionObject, + IN ULONG Flags, + IN SIZE_T MemSize, + IN ULONG Tag) +{ + UNIMPLEMENTED; + return NULL; +} + + +BOOLEAN +APIENTRY +EngFreeSectionMem(IN PVOID SectionObject OPTIONAL, + IN PVOID MappedBase) +{ + UNIMPLEMENTED; + return FALSE; +} Propchange: trunk/reactos/subsystems/win32/win32k/eng/mapping.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/subsystems/win32/win32k/eng/mouse.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/mouse.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/eng/mouse.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -15,6 +15,21 @@ #include <debug.h> /* FUNCTIONS *****************************************************************/ + +BOOL +APIENTRY +EngSetPointerTag( + IN HDEV hdev, + IN SURFOBJ *psoMask, + IN SURFOBJ *psoColor, + IN XLATEOBJ *pxlo, + IN FLONG fl) +{ + // This function is obsolete for Windows 2000 and later. + // This function is still supported, but always returns FALSE. + //
www.osr.com/ddk/graphics/gdifncs_4yav.htm
+ return FALSE; +} /* * FUNCTION: Notify the mouse driver that drawing is about to begin in Modified: trunk/reactos/subsystems/win32/win32k/ldr/loader.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ld…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ldr/loader.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ldr/loader.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -243,27 +243,6 @@ return hImageHandle; } - -/* - * @unimplemented - */ -HANDLE -APIENTRY -EngLoadModule(LPWSTR ModuleName) -{ - SYSTEM_GDI_DRIVER_INFORMATION GdiDriverInfo; - NTSTATUS Status; - - // FIXME: should load as readonly - - RtlInitUnicodeString (&GdiDriverInfo.DriverName, ModuleName); - Status = ZwSetSystemInformation (SystemLoadGdiDriverInformation, - &GdiDriverInfo, sizeof(SYSTEM_GDI_DRIVER_INFORMATION)); - if (!NT_SUCCESS(Status)) return NULL; - - return (HANDLE)GdiDriverInfo.ImageAddress; -} - VOID APIENTRY EngUnloadImage ( IN HANDLE hModule ) Modified: trunk/reactos/subsystems/win32/win32k/objects/device.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/device.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/device.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -8,7 +8,7 @@ #include <w32k.h> -#define NDEBUG +#define YDEBUG #include <debug.h> // TODO: proper implementation of LDEVOBJ and PDEVOBJ interface @@ -213,6 +213,9 @@ ULONG DisplayNumber; LARGE_INTEGER Zero; BOOLEAN ret = FALSE; + + DPRINT("IntPrepareDriver()\n"); +ASSERT(FALSE); Zero.QuadPart = 0; if (STATUS_SUCCESS != KeWaitForSingleObject(&VideoDriverNeedsPreparation, Executive, KernelMode, TRUE, &Zero)) @@ -450,7 +453,7 @@ IO_STATUS_BLOCK Iosb; BOOL Prepare = TRUE; ULONG Length = sizeof(BOOL); - PIO_STACK_LOCATION StackPtr; +// PIO_STACK_LOCATION StackPtr; LARGE_INTEGER StartOffset; PFILE_OBJECT FileObject = PrimarySurface.VideoFileObject; PDEVICE_OBJECT DeviceObject = FileObject->DeviceObject; @@ -475,16 +478,16 @@ } /* Set up IRP Data */ - Irp->Tail.Overlay.OriginalFileObject = FileObject; - Irp->RequestorMode = KernelMode; - Irp->Overlay.AsynchronousParameters.UserApcRoutine = NULL; - Irp->Overlay.AsynchronousParameters.UserApcContext = NULL; - Irp->Flags |= IRP_WRITE_OPERATION; +// Irp->Tail.Overlay.OriginalFileObject = FileObject; +// Irp->RequestorMode = KernelMode; +// Irp->Overlay.AsynchronousParameters.UserApcRoutine = NULL; +// Irp->Overlay.AsynchronousParameters.UserApcContext = NULL; +// Irp->Flags |= IRP_WRITE_OPERATION; /* Setup Stack Data */ - StackPtr = IoGetNextIrpStackLocation(Irp); - StackPtr->FileObject = PrimarySurface.VideoFileObject; - StackPtr->Parameters.Write.Key = 0; +// StackPtr = IoGetNextIrpStackLocation(Irp); +// StackPtr->FileObject = PrimarySurface.VideoFileObject; +// StackPtr->Parameters.Write.Key = 0; Status = IoCallDriver(DeviceObject, Irp); @@ -505,6 +508,8 @@ RECTL SurfaceRect; SURFOBJ *SurfObj; BOOL calledFromUser; + + DPRINT("IntCreatePrimarySurface()\n"); if (! IntPrepareDriverIfNeeded()) { Modified: trunk/reactos/subsystems/win32/win32k/objects/dibobj.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -19,6 +19,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#if 0 +#include "dibbmp.c" +#else #include <w32k.h> #define NDEBUG @@ -1735,4 +1738,6 @@ return hPal; } +#endif + /* EOF */ Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -6,58 +6,7 @@ #define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ ) -/* - * @unimplemented - */ -BOOL -APIENTRY -EngMapFontFileFD ( - IN ULONG_PTR iFile, - OUT PULONG *ppjBuf, - OUT ULONG *pcjBuf - ) -{ - //
www.osr.com/ddk/graphics/gdifncs_0co7.htm
- UNIMPLEMENTED; - return FALSE; -} - -/* - * @unimplemented - */ -VOID -APIENTRY -EngUnmapFontFileFD ( IN ULONG_PTR iFile ) -{ - //
http://www.osr.com/ddk/graphics/gdifncs_6wbr.htm
- UNIMPLEMENTED; -} - -/* - * @implemented - */ -BOOL -APIENTRY -EngMapFontFile ( - ULONG_PTR iFile, - PULONG *ppjBuf, - ULONG *pcjBuf - ) -{ - //
www.osr.com/ddk/graphics/gdifncs_3up3.htm
- return EngMapFontFileFD ( iFile, ppjBuf, pcjBuf ); -} - -/* - * @implemented - */ -VOID -APIENTRY -EngUnmapFontFile ( ULONG_PTR iFile ) -{ - //
www.osr.com/ddk/graphics/gdifncs_09wn.htm
- EngUnmapFontFileFD ( iFile ); -} + /* * @unimplemented @@ -204,18 +153,6 @@ /* * @unimplemented */ -VOID -APIENTRY -EngFreeModule ( IN HANDLE h ) -{ - //
www.osr.com/ddk/graphics/gdifncs_9fzb.htm
- UNIMPLEMENTED; -} - - -/* - * @unimplemented - */ LPWSTR APIENTRY EngGetDriverName ( IN HDEV hdev ) @@ -345,36 +282,6 @@ /* * @unimplemented */ -HANDLE -APIENTRY -EngLoadModuleForWrite( - IN LPWSTR pwsz, - IN ULONG cjSizeOfModule - ) -{ - //
www.osr.com/ddk/graphics/gdifncs_98rr.htm
- UNIMPLEMENTED; - return NULL; -} - -/* - * @unimplemented - */ -PVOID -APIENTRY -EngMapModule( - IN HANDLE h, - OUT PULONG pSize - ) -{ - //
www.osr.com/ddk/graphics/gdifncs_9b1j.htm
- UNIMPLEMENTED; - return NULL; -} - -/* - * @unimplemented - */ BOOL APIENTRY EngMarkBandingSurface ( IN HSURF hsurf ) @@ -421,21 +328,6 @@ return 0; } -BOOL -APIENTRY -EngSetPointerTag( - IN HDEV hdev, - IN SURFOBJ *psoMask, - IN SURFOBJ *psoColor, - IN XLATEOBJ *pxlo, - IN FLONG fl - ) -{ - // This function is obsolete for Windows 2000 and later. - // This function is still supported, but always returns FALSE. - //
www.osr.com/ddk/graphics/gdifncs_4yav.htm
- return FALSE; -} DWORD APIENTRY @@ -747,45 +639,6 @@ } /* - * @implemented - */ -BOOL APIENTRY -EngQuerySystemAttribute( - IN ENG_SYSTEM_ATTRIBUTE CapNum, - OUT PDWORD pCapability) -{ - SYSTEM_BASIC_INFORMATION sbi; - SYSTEM_PROCESSOR_INFORMATION spi; - - switch (CapNum) - { - case EngNumberOfProcessors: - NtQuerySystemInformation( - SystemBasicInformation, - &sbi, - sizeof(SYSTEM_BASIC_INFORMATION), - NULL); - *pCapability = sbi.NumberOfProcessors; - return TRUE; - - case EngProcessorFeature: - NtQuerySystemInformation( - SystemProcessorInformation, - &spi, - sizeof(SYSTEM_PROCESSOR_INFORMATION), - NULL); - *pCapability = spi.ProcessorFeatureBits; - return TRUE; - - default: - break; - } - - return FALSE; -} - - -/* * @unimplemented */ HANDLE APIENTRY @@ -848,19 +701,6 @@ { UNIMPLEMENTED; return FALSE; -} - -/* - * @unimplemented - */ -PVOID APIENTRY -EngMapFile( - IN LPWSTR Filename, - IN ULONG Size, - OUT ULONG_PTR *File) -{ - UNIMPLEMENTED; - return NULL; } /* @@ -913,16 +753,6 @@ return FileTime; } -/* - * @unimplemented - */ -BOOL APIENTRY -EngUnmapFile( - IN ULONG_PTR File) -{ - UNIMPLEMENTED; - return FALSE; -} /* * @unimplemented @@ -2753,86 +2583,6 @@ return NULL; } -VOID -APIENTRY -FLOATOBJ_AddFloatObj(PFLOATOBJ pFloatObj1, - PFLOATOBJ pFloatObj2) -{ - UNIMPLEMENTED; -} - -VOID -APIENTRY -FLOATOBJ_DivFloatObj(PFLOATOBJ pFloatObj1, - PFLOATOBJ pFloatObj2) -{ - UNIMPLEMENTED; -} - -VOID -APIENTRY -FLOATOBJ_MulFloatObj(PFLOATOBJ pFloatObj1, - PFLOATOBJ pFloatObj2) -{ - UNIMPLEMENTED; -} - -VOID -APIENTRY -FLOATOBJ_SubFloatObj(PFLOATOBJ pFloatObj1, - PFLOATOBJ pFloatObj2) -{ - UNIMPLEMENTED; -} - -PVOID -APIENTRY -EngAllocSectionMem(IN PVOID SectionObject, - IN ULONG Flags, - IN SIZE_T MemSize, - IN ULONG Tag) -{ - UNIMPLEMENTED; - return NULL; -} - - -BOOLEAN -APIENTRY -EngFreeSectionMem(IN PVOID SectionObject OPTIONAL, - IN PVOID MappedBase) -{ - UNIMPLEMENTED; - return FALSE; -} - -ULONGLONG -APIENTRY -EngGetTickCount(VOID) -{ - ULONG Multiplier; - LARGE_INTEGER TickCount; - - /* Get the multiplier and current tick count */ - KeQueryTickCount(&TickCount); - Multiplier = SharedUserData->TickCountMultiplier; - - /* Convert to milliseconds and return */ - return (Int64ShrlMod32(UInt32x32To64(Multiplier, TickCount.LowPart), 24) + - (Multiplier * (TickCount.HighPart << 8))); -} - -BOOLEAN -APIENTRY -EngMapSection(IN PVOID Section, - IN BOOLEAN Map, - IN HANDLE Process, - IN PVOID* BaseAddress) -{ - UNIMPLEMENTED; - return FALSE; -} - BOOLEAN APIENTRY EngNineGrid(IN SURFOBJ* pDestSurfaceObj, Modified: trunk/reactos/subsystems/win32/win32k/win32k.pspec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.pspec [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.pspec [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -1,9 +1,9 @@ #include "include/reactos/msvctarget.h" -@ stdcall FLOATOBJ_AddFloatObj(ptr ptr) -@ stdcall FLOATOBJ_DivFloatObj(ptr ptr) -@ stdcall FLOATOBJ_MulFloatObj(ptr ptr) -@ stdcall FLOATOBJ_SubFloatObj(ptr ptr) +@ stdcall FLOATOBJ_AddFloatObj(ptr ptr) FLOATOBJ_Add +@ stdcall FLOATOBJ_DivFloatObj(ptr ptr) FLOATOBJ_Div +@ stdcall FLOATOBJ_MulFloatObj(ptr ptr) FLOATOBJ_Mul +@ stdcall FLOATOBJ_SubFloatObj(ptr ptr) FLOATOBJ_Sub @ stdcall BRUSHOBJ_hGetColorTransform(ptr) @ stdcall BRUSHOBJ_pvAllocRbrush(ptr long) @ stdcall BRUSHOBJ_pvGetRbrush(ptr) @@ -66,8 +66,8 @@ @ stdcall EngFreeSectionMem(ptr ptr) @ stdcall EngFreeUserMem(ptr) @ stdcall EngGetCurrentCodePage(ptr ptr) -@ stdcall EngGetCurrentProcessId() -@ stdcall EngGetCurrentThreadId() +@ stdcall EngGetCurrentProcessId() NTOSKRNL.PsGetCurrentProcessId +@ stdcall EngGetCurrentThreadId() NTOSKRNL.PsGetCurrentThreadId @ stdcall EngGetDriverName(ptr) @ stdcall EngGetFileChangeTime(ptr ptr) @ stdcall EngGetFilePath(ptr ptr) Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Mon Aug 10 22:19:33 2009 @@ -65,6 +65,7 @@ </if> <file>gradient.c</file> <file>lineto.c</file> + <file>mapping.c</file> <file>mem.c</file> <file>engmisc.c</file> <file>mouse.c</file>
15 years, 4 months
1
0
0
0
[janderwald] 42599: - Implement BdaPropertyGetPinControl
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Aug 10 18:10:26 2009 New Revision: 42599 URL:
http://svn.reactos.org/svn/reactos?rev=42599&view=rev
Log: - Implement BdaPropertyGetPinControl Modified: trunk/reactos/drivers/multimedia/bdasup/bdasup.c Modified: trunk/reactos/drivers/multimedia/bdasup/bdasup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/bdasup/…
============================================================================== --- trunk/reactos/drivers/multimedia/bdasup/bdasup.c [iso-8859-1] (original) +++ trunk/reactos/drivers/multimedia/bdasup/bdasup.c [iso-8859-1] Mon Aug 10 18:10:26 2009 @@ -532,7 +532,7 @@ } /* - @unimplemented + @implemented */ NTSTATUS NTAPI @@ -541,8 +541,35 @@ IN KSPROPERTY *pKSProperty, OUT ULONG *pulProperty) { - UNIMPLEMENTED - return STATUS_NOT_IMPLEMENTED; + PKSPIN Pin; + PKSFILTER Filter; + PKSFILTERFACTORY FilterFactory; + PBDA_FILTER_INSTANCE_ENTRY InstanceEntry; + + /* first get the pin */ + Pin = KsGetPinFromIrp(Irp); + ASSERT(Pin); + + /* now get the parent filter */ + Filter = KsPinGetParentFilter(Pin); + ASSERT(Filter); + + /* get parent filter factory */ + FilterFactory = KsFilterGetParentFilterFactory(Filter); + ASSERT(FilterFactory); + + /* find instance entry */ + InstanceEntry = GetFilterInstanceEntry(FilterFactory); + ASSERT(InstanceEntry); + + /* sanity check */ + pKSProperty++; + ASSERT(pKSProperty->Id == KSPROPERTY_BDA_PIN_TYPE); + + /* store pin id */ + *pulProperty = Pin->Id; + + return STATUS_SUCCESS; } /*
15 years, 4 months
1
0
0
0
[janderwald] 42598: - A few updates from Archwald
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Aug 10 18:09:45 2009 New Revision: 42598 URL:
http://svn.reactos.org/svn/reactos?rev=42598&view=rev
Log: - A few updates from Archwald Modified: trunk/reactos/include/dxsdk/bdamedia.h trunk/reactos/include/psdk/ks.h Modified: trunk/reactos/include/dxsdk/bdamedia.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/dxsdk/bdamedia.h?r…
============================================================================== --- trunk/reactos/include/dxsdk/bdamedia.h [iso-8859-1] (original) +++ trunk/reactos/include/dxsdk/bdamedia.h [iso-8859-1] Mon Aug 10 18:09:45 2009 @@ -1,5 +1,11 @@ #ifndef BDAMEDIA_H__ #define BDAMEDIA_H__ + +typedef enum +{ + KSPROPERTY_BDA_PIN_ID = 0, + KSPROPERTY_BDA_PIN_TYPE +} KSPROPERTY_BDA_PIN_CONTROL; typedef struct _KSP_BDA_NODE_PIN { KSPROPERTY Property; Modified: trunk/reactos/include/psdk/ks.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ks.h?rev=4259…
============================================================================== --- trunk/reactos/include/psdk/ks.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ks.h [iso-8859-1] Mon Aug 10 18:09:45 2009 @@ -3708,6 +3708,12 @@ IN const KSFILTER_DESCRIPTOR *FilterDescriptor OPTIONAL ); +KSDDKAPI +PKSPIN +NTAPI +KsGetPinFromIrp( + IN PIRP Irp + ); KSDDKAPI PKSFILTER
15 years, 4 months
1
0
0
0
[janderwald] 42597: - Implement BdaPropertyNodeTypes, BdaPropertyPinTypes
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Aug 10 17:18:48 2009 New Revision: 42597 URL:
http://svn.reactos.org/svn/reactos?rev=42597&view=rev
Log: - Implement BdaPropertyNodeTypes, BdaPropertyPinTypes Modified: trunk/reactos/drivers/multimedia/bdasup/bdasup.c Modified: trunk/reactos/drivers/multimedia/bdasup/bdasup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/bdasup/…
============================================================================== --- trunk/reactos/drivers/multimedia/bdasup/bdasup.c [iso-8859-1] (original) +++ trunk/reactos/drivers/multimedia/bdasup/bdasup.c [iso-8859-1] Mon Aug 10 17:18:48 2009 @@ -328,10 +328,8 @@ return BdaCreatePin(Filter, Pin->PinId, pulPinFactoryID); } - - -/* - @unimplemented +/* + @implemented */ NTSTATUS NTAPI @@ -604,7 +602,7 @@ } /* - @unimplemented + @implemented */ NTSTATUS NTAPI @@ -613,12 +611,64 @@ IN KSPROPERTY *pKSProperty, OUT ULONG *pulProperty) { - UNIMPLEMENTED - return STATUS_NOT_IMPLEMENTED; -} - -/* - @unimplemented + PBDA_FILTER_INSTANCE_ENTRY InstanceEntry; + PKSFILTERFACTORY FilterFactory; + PKSFILTER pKSFilter; + PIO_STACK_LOCATION IoStack; + ULONG Index; + + /* check input parameter */ + if (!Irp || !pKSProperty) + return STATUS_INVALID_PARAMETER; + + /* first get the filter */ + pKSFilter = KsGetFilterFromIrp(Irp); + + /* sanity check */ + ASSERT(pKSFilter); + + /* get parent filter factory */ + FilterFactory = KsFilterGetParentFilterFactory(pKSFilter); + + /* sanity check */ + ASSERT(FilterFactory); + + /* find instance entry */ + InstanceEntry = GetFilterInstanceEntry(FilterFactory); + ASSERT(InstanceEntry); + + /* get current irp stack */ + IoStack = IoGetCurrentIrpStackLocation(Irp); + + /* are there node types provided */ + if (!pulProperty) + { + /* no node entry array provided */ + Irp->IoStatus.Information = InstanceEntry->FilterTemplate->pFilterDescriptor->NodeDescriptorsCount * sizeof(ULONG); + Irp->IoStatus.Status = STATUS_MORE_ENTRIES; + return STATUS_MORE_ENTRIES; + } + + if (InstanceEntry->FilterTemplate->pFilterDescriptor->NodeDescriptorsCount * sizeof(ULONG) > IoStack->Parameters.DeviceIoControl.OutputBufferLength) + { + /* buffer too small */ + Irp->IoStatus.Information = InstanceEntry->FilterTemplate->pFilterDescriptor->NodeDescriptorsCount * sizeof(ULONG); + Irp->IoStatus.Status = STATUS_BUFFER_TOO_SMALL; + return STATUS_BUFFER_TOO_SMALL; + } + + /* now copy all descriptors */ + for(Index = 0; Index < InstanceEntry->FilterTemplate->pFilterDescriptor->NodeDescriptorsCount; Index++) + { + /* use the index as the type */ + pulProperty[Index] = Index; + } + + return STATUS_SUCCESS; +} + +/* + @implemented */ NTSTATUS NTAPI @@ -627,8 +677,60 @@ IN KSPROPERTY *pKSProperty, OUT ULONG *pulProperty) { - UNIMPLEMENTED - return STATUS_NOT_IMPLEMENTED; + PBDA_FILTER_INSTANCE_ENTRY InstanceEntry; + PKSFILTERFACTORY FilterFactory; + PKSFILTER pKSFilter; + PIO_STACK_LOCATION IoStack; + ULONG Index; + + /* check input parameter */ + if (!Irp || !pKSProperty) + return STATUS_INVALID_PARAMETER; + + /* first get the filter */ + pKSFilter = KsGetFilterFromIrp(Irp); + + /* sanity check */ + ASSERT(pKSFilter); + + /* get parent filter factory */ + FilterFactory = KsFilterGetParentFilterFactory(pKSFilter); + + /* sanity check */ + ASSERT(FilterFactory); + + /* find instance entry */ + InstanceEntry = GetFilterInstanceEntry(FilterFactory); + ASSERT(InstanceEntry); + + /* get current irp stack */ + IoStack = IoGetCurrentIrpStackLocation(Irp); + + /* are there node types provided */ + if (!pKSProperty) + { + /* no node entry array provided */ + Irp->IoStatus.Information = InstanceEntry->FilterTemplate->pFilterDescriptor->PinDescriptorsCount * sizeof(ULONG); + Irp->IoStatus.Status = STATUS_MORE_ENTRIES; + return STATUS_MORE_ENTRIES; + } + + if (InstanceEntry->FilterTemplate->pFilterDescriptor->PinDescriptorsCount * sizeof(ULONG) > IoStack->Parameters.DeviceIoControl.OutputBufferLength) + { + /* buffer too small */ + Irp->IoStatus.Information = InstanceEntry->FilterTemplate->pFilterDescriptor->PinDescriptorsCount * sizeof(ULONG); + Irp->IoStatus.Status = STATUS_BUFFER_TOO_SMALL; + return STATUS_BUFFER_TOO_SMALL; + } + + /* now copy all descriptors */ + for(Index = 0; Index < InstanceEntry->FilterTemplate->pFilterDescriptor->PinDescriptorsCount; Index++) + { + /* use the index as the type */ + pulProperty[Index] = Index; + } + + return STATUS_SUCCESS; } /*
15 years, 4 months
1
0
0
0
[tkreuzer] 42596: Implement EngFileIoControl and EngFileWrite
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Aug 10 17:09:14 2009 New Revision: 42596 URL:
http://svn.reactos.org/svn/reactos?rev=42596&view=rev
Log: Implement EngFileIoControl and EngFileWrite Modified: trunk/reactos/subsystems/win32/win32k/eng/device.c trunk/reactos/subsystems/win32/win32k/stubs/stubs.c Modified: trunk/reactos/subsystems/win32/win32k/eng/device.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/device.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/eng/device.c [iso-8859-1] Mon Aug 10 17:09:14 2009 @@ -4,14 +4,145 @@ * PURPOSE: GDI Driver Device Functions * FILE: subsys/win32k/eng/device.c * PROGRAMER: Jason Filby - * REVISION HISTORY: - * 3/7/1999: Created + * Timo Kreuzer */ #include <w32k.h> #define NDEBUG #include <debug.h> + +static +DWORD +EngpFileIoRequest( + PFILE_OBJECT pFileObject, + ULONG ulMajorFunction, + LPVOID lpBuffer, + DWORD nBufferSize, + ULONGLONG ullStartOffset, + OUT LPDWORD lpInformation) +{ + PDEVICE_OBJECT pDeviceObject; + KEVENT Event; + PIRP pIrp; + IO_STATUS_BLOCK Iosb; + NTSTATUS Status; + LARGE_INTEGER liStartOffset; + + /* Get corresponding device object */ + pDeviceObject = IoGetRelatedDeviceObject(pFileObject); + if (!pDeviceObject) + { + return STATUS_INVALID_PARAMETER; + } + + /* Initialize an event */ + KeInitializeEvent(&Event, SynchronizationEvent, FALSE); + + /* Build IPR */ + liStartOffset.QuadPart = ullStartOffset; + pIrp = IoBuildSynchronousFsdRequest(ulMajorFunction, + pDeviceObject, + lpBuffer, + nBufferSize, + &liStartOffset, + &Event, + &Iosb); + if (!pIrp) + { + return FALSE; + } + + /* Call the driver */ + Status = IoCallDriver(pDeviceObject, pIrp); + + /* Wait if neccessary */ + if (STATUS_PENDING == Status) + { + KeWaitForSingleObject(&Event, Executive, KernelMode, TRUE, 0); + Status = Iosb.Status; + } + + /* Return information to the caller about the operation. */ + *lpInformation = Iosb.Information; + + return NT_SUCCESS(Status); +} + +VOID +APIENTRY +EngFileWrite( + IN PFILE_OBJECT pFileObject, + IN PVOID lpBuffer, + IN SIZE_T nLength, + IN PSIZE_T lpBytesWritten) +{ + EngpFileIoRequest(pFileObject, + IRP_MJ_WRITE, + lpBuffer, + nLength, + 0, + lpBytesWritten); +} + +NTSTATUS +APIENTRY +EngFileIoControl( + IN PFILE_OBJECT pFileObject, + IN DWORD dwIoControlCode, + IN PVOID lpInBuffer, + IN SIZE_T nInBufferSize, + OUT PVOID lpOutBuffer, + IN SIZE_T nOutBufferSize, + OUT LPDWORD lpInformation) +{ + PDEVICE_OBJECT pDeviceObject; + KEVENT Event; + PIRP pIrp; + IO_STATUS_BLOCK Iosb; + NTSTATUS Status; + + /* Get corresponding device object */ + pDeviceObject = IoGetRelatedDeviceObject(pFileObject); + if (!pDeviceObject) + { + return STATUS_INVALID_PARAMETER; + } + + /* Initialize an event */ + KeInitializeEvent(&Event, SynchronizationEvent, FALSE); + + /* Build IO control IPR */ + pIrp = IoBuildDeviceIoControlRequest(dwIoControlCode, + pDeviceObject, + lpInBuffer, + nInBufferSize, + lpOutBuffer, + nOutBufferSize, + FALSE, + &Event, + &Iosb); + if (!pIrp) + { + return STATUS_INSUFFICIENT_RESOURCES; + } + + /* Call the driver */ + Status = IoCallDriver(pDeviceObject, pIrp); + + /* Wait if neccessary */ + if (Status == STATUS_PENDING) + { + KeWaitForSingleObject(&Event, Executive, KernelMode, TRUE, 0); + Status = Iosb.Status; + } + + /* Return information to the caller about the operation. */ + *lpInformation = Iosb.Information; + + /* This function returns NTSTATUS */ + return Status; +} /* * @implemented Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] Mon Aug 10 17:09:14 2009 @@ -2796,29 +2796,6 @@ return NULL; } -NTSTATUS -APIENTRY -EngFileIoControl(IN PFILE_OBJECT FileObject, - IN ULONG IoControlCode, - IN PVOID InputBuffer, - IN SIZE_T InputBufferLength, - OUT PVOID OutputBuffer, - IN SIZE_T OutputBufferLength, - OUT PULONG Information) -{ - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; -} - -VOID -APIENTRY -EngFileWrite(IN PFILE_OBJECT FileObject, - IN PVOID Buffer, - IN SIZE_T Length, - IN PSIZE_T BytesWritten) -{ - UNIMPLEMENTED; -} BOOLEAN APIENTRY
15 years, 4 months
1
0
0
0
← Newer
1
...
35
36
37
38
39
40
41
...
66
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Results per page:
10
25
50
100
200