3 * reactos/lib/gdi32/misc/stubs.c
7 * When you implement one of these functions,
8 * remove its stub from this file.
14 #define SIZEOF_DEVMODEA_300 124
15 #define SIZEOF_DEVMODEA_400 148
16 #define SIZEOF_DEVMODEA_500 156
17 #define SIZEOF_DEVMODEW_300 188
18 #define SIZEOF_DEVMODEW_400 212
19 #define SIZEOF_DEVMODEW_500 220
21 #define UNIMPLEMENTED DbgPrint("GDI32: %s is unimplemented, please try again later.\n", __FUNCTION__);
29 StretchDIBits(HDC hdc
,
39 CONST BITMAPINFO
*lpBitsInfo
,
44 /* FIXME share memory */
45 return NtGdiStretchDIBits(hdc
, XDest
, YDest
, nDestWidth
, nDestHeight
, XSrc
, YSrc
,
46 nSrcWidth
, nSrcHeight
, lpBits
, lpBitsInfo
, iUsage
, dwRop
);
59 CONST BITMAPINFO
*lpbmi
,
62 /* FIXME share memory */
63 return NtGdiSetDIBits(hdc
, hbmp
, uStartScan
, cScanLines
, lpvBits
, lpbmi
, fuColorUse
);
71 PtInRegion(IN HRGN hrgn
,
75 /* FIXME some stuff at user mode need be fixed */
76 return NtGdiPtInRegion(hrgn
,x
,y
);
84 RectInRegion(HRGN hrgn
,
87 /* FIXME some stuff at user mode need be fixed */
88 return NtGdiRectInRegion(hrgn
, (LPRECT
) prcl
);
99 /* FIXME Sharememory */
100 return NtGdiRestoreDC(hdc
, iLevel
);
110 /* FIXME Sharememory */
111 return NtGdiSaveDC(hdc
);
124 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
140 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
156 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
165 Escape(HDC hdc
, INT escape
, INT in_count
, LPCSTR in_data
, LPVOID out_data
)
168 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
183 return NtGdiGetBoundsRect(hdc
,lprcBounds
,flags
& DCB_RESET
);
195 return NtGdiGetRandomRgn(hdc
,hrgn
,2);
211 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
227 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
242 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
257 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
271 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
280 SetBoundsRect(HDC hdc
,
284 /* FIXME add check for vaildate the flags */
285 return NtGdiSetBoundsRect(hdc
, (LPRECT
)prc
, flags
);
300 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
315 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
329 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
347 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
365 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
379 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
397 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
413 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
423 GetEnhMetaFileHeader(
430 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
439 GetEnhMetaFilePaletteEntries(
446 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
464 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
481 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
491 PlayEnhMetaFileRecord(
494 CONST ENHMETARECORD
*a2
,
499 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
515 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
529 CONST METAFILEPICT
*a3
)
532 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
549 if (GDI_HANDLE_GET_TYPE(hDC
) == GDI_OBJECT_TYPE_EMF
)
551 PLDC pLDC
= GdiGetLDC(hDC
);
554 SetLastError(ERROR_INVALID_HANDLE
);
557 if (pLDC
->iType
== LDC_EMFLDC
)
559 return EMFDRV_GdiComment( hDC
, bytes
, buffer
);
582 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
594 CONST COLORADJUSTMENT
*a1
598 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
612 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
627 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
642 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
657 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
673 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
693 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
713 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
723 UnrealizeObject(HGDIOBJ hgdiobj
)
725 BOOL retValue
= TRUE
;
727 if (GDI_HANDLE_GET_TYPE(hgdiobj
) != GDI_OBJECT_TYPE_BRUSH
)
729 retValue
= NtGdiUnrealizeObject(hgdiobj
);
759 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
777 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
787 GetColorSpace(HDC hDc
)
790 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
806 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
815 GetDeviceGammaRamp( HDC hdc
,
818 BOOL retValue
= FALSE
;
819 if (lpGammaRamp
== NULL
)
821 SetLastError(ERROR_INVALID_PARAMETER
);
825 retValue
= NtGdiGetDeviceGammaRamp(hdc
,lpGammaRamp
);
836 SetDeviceGammaRamp(HDC hdc
,
839 BOOL retValue
= FALSE
;
843 retValue
= NtGdiSetDeviceGammaRamp(hdc
, lpGammaRamp
);
847 SetLastError(ERROR_INVALID_PARAMETER
);
866 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
883 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
898 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
908 wglCreateLayerContext(
914 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
929 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
939 wglGetCurrentContext(VOID
)
942 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
952 wglGetCurrentDC(VOID
)
955 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
970 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
986 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1002 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1012 wglDescribeLayerPlane(
1017 LPLAYERPLANEDESCRIPTOR a4
1021 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1031 wglSetLayerPaletteEntries(
1040 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1050 wglGetLayerPaletteEntries(
1059 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1069 wglRealizeLayerPalette(
1076 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1086 wglSwapLayerBuffers(
1092 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1097 /* === AFTER THIS POINT I GUESS... =========
1098 * (based on stack size in Norlander's .def)
1099 * === WHERE ARE THEY DEFINED? =============
1107 IsValidEnhMetaRecord(
1113 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1123 IsValidEnhMetaRecordOffExt(
1131 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1152 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1171 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1180 AddFontMemResourceEx(
1188 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1197 AddFontResourceTracking(
1203 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1214 ClearBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1217 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1226 ClearBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1229 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1238 ColorCorrectPalette(HDC hDC
,HPALETTE hPalette
,DWORD dwFirstEntry
,DWORD dwNumOfEntries
)
1241 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1250 EndFormPage(HDC hdc
)
1253 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1264 GdiAddGlsBounds(HDC hdc
,LPRECT prc
)
1267 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1276 GdiArtificialDecrementDriver(LPWSTR pDriverName
,BOOL unknown
)
1279 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1288 GdiCleanCacheDC(HDC hdc
)
1291 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1300 GdiConvertAndCheckDC(HDC hdc
)
1303 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1312 GdiConvertEnhMetaFile(HENHMETAFILE hmf
)
1315 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1324 GdiDrawStream(HDC dc
, ULONG l
, VOID
*v
)
1327 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1336 GdiIsMetaFileDC(HDC hdc
)
1339 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1348 GdiIsMetaPrintDC(HDC hdc
)
1351 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1360 GdiIsPlayMetafileDC(HDC hdc
)
1363 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1372 GdiValidateHandle(HGDIOBJ hobj
)
1375 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1384 GetBitmapAttributes(HBITMAP hbm
)
1387 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1396 GetBrushAttributes(HBRUSH hbr
)
1399 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1408 GetEUDCTimeStamp(VOID
)
1410 return NtGdiGetEudcTimeStampEx(NULL
,0,TRUE
);
1418 GetFontAssocStatus(HDC hdc
)
1424 retValue
= NtGdiQueryFontAssocInfo(hdc
);
1435 GetTextExtentExPointWPri(HDC hdc
,
1443 return NtGdiGetTextExtentExW(hdc
,lpwsz
,cwc
,dxMax
,pcCh
,pdxOut
,psize
,0);
1451 GetTextFaceAliasW(HDC hdc
,
1456 if ((!pszOut
) || (cChar
))
1458 retValue
= NtGdiGetTextFaceW(hdc
,cChar
,pszOut
,TRUE
);
1462 SetLastError(ERROR_INVALID_PARAMETER
);
1474 MirrorRgn(HWND hwnd
,HRGN hrgn
)
1477 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1488 QueryFontAssocStatus(VOID
)
1491 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1500 RemoveFontMemResourceEx(HANDLE fh
)
1506 retValue
= NtGdiRemoveFontMemResourceEx(fh
);
1510 SetLastError(ERROR_INVALID_PARAMETER
);
1520 RemoveFontResourceTracking(LPCSTR lpString
,int unknown
)
1523 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1532 SetBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1535 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1544 SetBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1547 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1556 StartFormPage(HDC hdc
)
1558 return StartPage(hdc
);
1566 UnloadNetworkFonts(DWORD unknown
)
1569 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1577 GdiRealizationInfo(HDC hdc
,
1578 PREALIZATION_INFO pri
)
1581 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1593 EXTTEXTMETRIC
*petm
)
1596 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1605 GdiAddGlsRecord(HDC hdc
,
1611 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1620 GdiConvertMetaFilePict(HGLOBAL hMem
)
1623 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1632 GdiConvertToDevmodeW(DEVMODEA
*dm
)
1636 dmw
= HEAP_alloc(sizeof(DEVMODEW
));
1637 #define COPYS(f,len) MultiByteToWideChar ( CP_THREAD_ACP, 0, (LPSTR)dm->f, len, dmw->f, len )
1638 #define COPYN(f) dmw->f = dm->f
1639 COPYS(dmDeviceName
, CCHDEVICENAME
);
1640 COPYN(dmSpecVersion
);
1641 COPYN(dmDriverVersion
);
1642 switch ( dm
->dmSize
)
1644 case SIZEOF_DEVMODEA_300
:
1645 dmw
->dmSize
= SIZEOF_DEVMODEW_300
;
1647 case SIZEOF_DEVMODEA_400
:
1648 dmw
->dmSize
= SIZEOF_DEVMODEW_400
;
1650 case SIZEOF_DEVMODEA_500
:
1651 default: /* FIXME what to do??? */
1652 dmw
->dmSize
= SIZEOF_DEVMODEW_500
;
1655 COPYN(dmDriverExtra
);
1657 COPYN(dmPosition
.x
);
1658 COPYN(dmPosition
.y
);
1661 COPYN(dmDefaultSource
);
1662 COPYN(dmPrintQuality
);
1665 COPYN(dmYResolution
);
1668 COPYS(dmFormName
,CCHFORMNAME
);
1670 COPYN(dmBitsPerPel
);
1672 COPYN(dmPelsHeight
);
1673 COPYN(dmDisplayFlags
); // aka dmNup
1674 COPYN(dmDisplayFrequency
);
1676 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_300
)
1678 return dmw
; // we're done with 0x300 fields
1684 COPYN(dmDitherType
);
1688 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_400
)
1690 return dmw
; // we're done with 0x400 fields
1693 COPYN(dmPanningWidth
);
1694 COPYN(dmPanningHeight
);
1707 GdiCreateLocalEnhMetaFile(HENHMETAFILE hmo
)
1710 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1719 GdiCreateLocalMetaFilePict(HENHMETAFILE hmo
)
1722 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1732 GdiGetSpoolFileHandle(LPWSTR pwszPrinterName
,
1733 LPDEVMODEW pDevmode
,
1737 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1746 GdiDeleteSpoolFileHandle(HANDLE SpoolFileHandle
)
1749 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1758 GdiGetPageCount(HANDLE SpoolFileHandle
)
1761 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1770 GdiGetDC(HANDLE SpoolFileHandle
)
1773 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1782 GdiGetPageHandle(HANDLE SpoolFileHandle
,
1784 LPDWORD pdwPageType
)
1787 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1796 GdiStartDocEMF(HANDLE SpoolFileHandle
,
1800 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1809 GdiStartPageEMF(HANDLE SpoolFileHandle
)
1812 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1821 GdiPlayPageEMF(HANDLE SpoolFileHandle
,
1823 RECT
*prectDocument
,
1828 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1837 GdiEndPageEMF(HANDLE SpoolFileHandle
,
1838 DWORD dwOptimization
)
1841 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1850 GdiEndDocEMF(HANDLE SpoolFileHandle
)
1853 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1862 GdiGetDevmodeForPage(HANDLE SpoolFileHandle
,
1868 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1877 GdiResetDCEMF(HANDLE SpoolFileHandle
,
1881 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1888 CreateDIBitmap(HDC hDc
,
1889 const BITMAPINFOHEADER
*Header
,
1890 DWORD Init
, LPCVOID Bits
, const BITMAPINFO
*Data
,
1893 /* FIMXE we need do more thing in user mode */
1894 return NtGdiCreateDIBitmap(hDc
, Header
, Init
, Bits
, Data
, ColorUse
);
1902 CombineRgn(HRGN hDest
,
1907 /* FIXME some part should be done in user mode */
1908 return NtGdiCombineRgn(hDest
, hSrc1
, hSrc2
, CombineMode
);
1915 CreateBitmap(INT Width
,
1921 /* FIXME some part should be done in user mode */
1922 return NtGdiCreateBitmap(Width
, Height
, Planes
, BitsPixel
, (LPBYTE
) pUnsafeBits
);
1929 EngGetDriverName(HDEV hdev
)
1932 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1940 XLATEOBJ_iXlate(XLATEOBJ
*XlateObj
,
1944 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1953 XLATEOBJ_piVector(XLATEOBJ
*XlateObj
)
1955 return XlateObj
->pulXlate
;
1963 GdiPlayEMF(LPWSTR pwszPrinterName
,
1964 LPDEVMODEW pDevmode
,
1966 EMFPLAYPROC pfnEMFPlayFn
,
1971 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1982 GdiPlayPrivatePageEMF(HANDLE SpoolFileHandle
,
1984 RECT
*prectDocument
)
1987 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1994 VOID STDCALL
GdiInitializeLanguagePack(DWORD InitParam
)
1997 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2006 ExcludeClipRect(IN HDC hdc
, IN INT xLeft
, IN INT yTop
, IN INT xRight
, IN INT yBottom
)
2008 /* FIXME some part need be done on user mode size */
2009 return NtGdiExcludeClipRect(hdc
, xLeft
, yTop
, xRight
, yBottom
);
2017 ExtSelectClipRgn( IN HDC hdc
, IN HRGN hrgn
, IN INT iMode
)
2019 /* FIXME some part need be done on user mode size */
2020 return NtGdiExtSelectClipRgn(hdc
,hrgn
, iMode
);
2030 IN PTRIVERTEX pVertex
,
2036 /* FIXME some part need be done in user mode */
2037 return NtGdiGradientFill(hdc
, pVertex
, nVertex
, pMesh
, nMesh
, ulMode
);
2046 GdiTransparentBlt(IN HDC hdcDst
,
2056 IN COLORREF TransColor
2059 /* FIXME some part need be done in user mode */
2060 return NtGdiTransparentBlt(hdcDst
, xDst
, yDst
, cxDst
, cyDst
, hdcSrc
, xSrc
, ySrc
, cxSrc
, cySrc
, TransColor
);
2073 /* FIXME figout the protypes, the HUMPD are a STRUCT or COM object */
2074 /* status contain some form of return value that being save, what it is I do not known */
2075 /* unsue seam have zero effect, what it is for I do not known */
2077 // ? return NtGdiSetPUMPDOBJ(humpd->0x10,TRUE, humpd, ?) <- blackbox, OpenRCE info, and api hooks for anylaysing;
2088 HBITMAP in_format_BitMap
,
2093 /* FIXME guessing the prototypes */
2096 * it have create a new bitmap with desired in format,
2097 * then convert it src_bitmap to new format
2098 * and return it as HBITMAP
2111 GetDeviceCaps(HDC hdc
,
2114 /* FIXME some part need be done in user mode */
2115 return NtGdiGetDeviceCaps(hdc
,i
);
2127 /* FIXME some part need be done in user mode */
2128 return NtGdiGetAppClipBox(hdc
, lprc
);
2137 GetFontData(HDC hdc
,
2147 return NtGdiGetFontData(hdc
, dwTable
, dwOffset
, lpvBuffer
, cbData
);
2157 GetRegionData(HRGN hrgn
,
2159 LPRGNDATA lpRgnData
)
2166 return NtGdiGetRegionData(hrgn
,nCount
,lpRgnData
);
2176 GetRgnBox(HRGN hrgn
,
2179 /* FIXME some stuff need be done in user mode */
2180 return NtGdiGetRgnBox(hrgn
, prcOut
);
2190 OffsetRgn( HRGN hrgn
,
2194 /* FIXME some part are done in user mode */
2195 return NtGdiOffsetRgn(hrgn
,nXOffset
,nYOffset
);
2201 GetTextCharsetInfo(HDC hdc
,
2202 LPFONTSIGNATURE lpSig
,
2205 /* FIXME some part are done in user mode */
2206 return NtGdiGetTextCharsetInfo(hdc
, lpSig
, dwFlags
);
2213 IntersectClipRect(HDC hdc
,
2219 /* FIXME some part are done in user mode */
2220 return NtGdiIntersectClipRect(hdc
, nLeftRect
, nTopRect
, nRightRect
, nBottomRect
);
2225 OffsetClipRgn(HDC hdc
,
2229 /* FIXME some part are done in user mode */
2230 return NtGdiOffsetClipRgn( hdc
, nXOffset
, nYOffset
);
2236 NamedEscape(HDC hdc
,
2244 /* FIXME metadc, metadc are done most in user mode, and we do not support it
2245 * Windows 2000/XP/Vista ignore the current hdc, that are being pass and always set hdc to NULL
2246 * when it calls to NtGdiExtEscape from NamedEscape
2248 return NtGdiExtEscape(NULL
,pDriver
,wcslen(pDriver
),iEsc
,cjIn
,pjIn
,cjOut
,pjOut
);
2257 /* FIXME wrong protypes, it is a fastcall api */
2260 cGetTTFFromFOT(DWORD x1
,DWORD x2
,DWORD x3
, DWORD x4
, DWORD x5
, DWORD x6
, DWORD x7
)
2263 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);