Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenntstubs.c
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS Win32k subsystem 00004 * PURPOSE: Native User stubs 00005 * FILE: subsystems/win32/win32k/ntuser/ntstubs.c 00006 * PROGRAMER: Casper S. Hornstrup (chorns@users.sourceforge.net) 00007 */ 00008 00009 #include <win32k.h> 00010 DBG_DEFAULT_CHANNEL(UserMisc); 00011 00012 DWORD 00013 APIENTRY 00014 NtUserAssociateInputContext( 00015 DWORD dwUnknown1, 00016 DWORD dwUnknown2, 00017 DWORD dwUnknown3) 00018 { 00019 STUB 00020 return 0; 00021 } 00022 00023 00024 BOOL 00025 APIENTRY 00026 NtUserAttachThreadInput( 00027 IN DWORD idAttach, 00028 IN DWORD idAttachTo, 00029 IN BOOL fAttach) 00030 { 00031 NTSTATUS Status; 00032 PETHREAD Thread, ThreadTo; 00033 PTHREADINFO pti, ptiTo; 00034 BOOL Ret = FALSE; 00035 00036 UserEnterExclusive(); 00037 Status = PsLookupThreadByThreadId((HANDLE)idAttach, &Thread); 00038 if (!NT_SUCCESS(Status)) 00039 { 00040 EngSetLastError(ERROR_INVALID_PARAMETER); 00041 goto Exit; 00042 } 00043 Status = PsLookupThreadByThreadId((HANDLE)idAttachTo, &ThreadTo); 00044 if (!NT_SUCCESS(Status)) 00045 { 00046 EngSetLastError(ERROR_INVALID_PARAMETER); 00047 ObDereferenceObject(Thread); 00048 goto Exit; 00049 } 00050 00051 pti = PsGetThreadWin32Thread(Thread); 00052 ptiTo = PsGetThreadWin32Thread(ThreadTo); 00053 ObDereferenceObject(Thread); 00054 ObDereferenceObject(ThreadTo); 00055 00056 Ret = UserAttachThreadInput( pti, ptiTo, fAttach); 00057 00058 Exit: 00059 UserLeave(); 00060 return Ret; 00061 } 00062 00063 // 00064 // Works like BitBlt, http://msdn.microsoft.com/en-us/library/ms532278(VS.85).aspx 00065 // 00066 BOOL 00067 APIENTRY 00068 NtUserBitBltSysBmp( 00069 HDC hdc, 00070 INT nXDest, 00071 INT nYDest, 00072 INT nWidth, 00073 INT nHeight, 00074 INT nXSrc, 00075 INT nYSrc, 00076 DWORD dwRop ) 00077 { 00078 BOOL Ret = FALSE; 00079 UserEnterExclusive(); 00080 00081 Ret = NtGdiBitBlt( hdc, 00082 nXDest, 00083 nYDest, 00084 nWidth, 00085 nHeight, 00086 hSystemBM, 00087 nXSrc, 00088 nYSrc, 00089 dwRop, 00090 0, 00091 0); 00092 00093 UserLeave(); 00094 return Ret; 00095 } 00096 00097 DWORD 00098 APIENTRY 00099 NtUserBuildHimcList( 00100 DWORD dwUnknown1, 00101 DWORD dwUnknown2, 00102 DWORD dwUnknown3, 00103 DWORD dwUnknown4) 00104 { 00105 STUB; 00106 return 0; 00107 } 00108 00109 BOOL 00110 APIENTRY 00111 NtUserDdeGetQualityOfService( 00112 IN HWND hwndClient, 00113 IN HWND hWndServer, 00114 OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev) 00115 { 00116 STUB 00117 00118 return 0; 00119 } 00120 00121 DWORD 00122 APIENTRY 00123 NtUserDdeInitialize( 00124 DWORD Unknown0, 00125 DWORD Unknown1, 00126 DWORD Unknown2, 00127 DWORD Unknown3, 00128 DWORD Unknown4) 00129 { 00130 STUB 00131 00132 return 0; 00133 } 00134 00135 BOOL 00136 APIENTRY 00137 NtUserDdeSetQualityOfService( 00138 IN HWND hwndClient, 00139 IN PSECURITY_QUALITY_OF_SERVICE pqosNew, 00140 OUT PSECURITY_QUALITY_OF_SERVICE pqosPrev) 00141 { 00142 STUB 00143 00144 return 0; 00145 } 00146 00147 DWORD 00148 APIENTRY 00149 NtUserDragObject( 00150 HWND hwnd1, 00151 HWND hwnd2, 00152 UINT u1, 00153 DWORD dw1, 00154 HCURSOR hc1 00155 ) 00156 { 00157 STUB 00158 00159 return 0; 00160 } 00161 00162 BOOL 00163 APIENTRY 00164 NtUserDrawAnimatedRects( 00165 HWND hwnd, 00166 INT idAni, 00167 RECT *lprcFrom, 00168 RECT *lprcTo) 00169 { 00170 STUB 00171 00172 return 0; 00173 } 00174 00175 DWORD 00176 APIENTRY 00177 NtUserEvent( 00178 DWORD Unknown0) 00179 { 00180 STUB 00181 00182 return 0; 00183 } 00184 00185 DWORD 00186 APIENTRY 00187 NtUserExcludeUpdateRgn( 00188 HDC hDC, 00189 HWND hWnd) 00190 { 00191 STUB 00192 00193 return 0; 00194 } 00195 00196 BOOL 00197 APIENTRY 00198 NtUserGetAltTabInfo( 00199 HWND hwnd, 00200 INT iItem, 00201 PALTTABINFO pati, 00202 LPWSTR pszItemText, 00203 UINT cchItemText, 00204 BOOL Ansi) 00205 { 00206 STUB 00207 00208 return 0; 00209 } 00210 00211 DWORD 00212 APIENTRY 00213 NtUserGetImeHotKey( 00214 DWORD Unknown0, 00215 DWORD Unknown1, 00216 DWORD Unknown2, 00217 DWORD Unknown3) 00218 { 00219 STUB 00220 00221 return 0; 00222 } 00223 00224 BOOL 00225 APIENTRY 00226 NtUserImpersonateDdeClientWindow( 00227 HWND hWndClient, 00228 HWND hWndServer) 00229 { 00230 STUB 00231 00232 return 0; 00233 } 00234 00235 NTSTATUS 00236 APIENTRY 00237 NtUserInitializeClientPfnArrays( 00238 PPFNCLIENT pfnClientA, 00239 PPFNCLIENT pfnClientW, 00240 PPFNCLIENTWORKER pfnClientWorker, 00241 HINSTANCE hmodUser) 00242 { 00243 NTSTATUS Status = STATUS_SUCCESS; 00244 TRACE("Enter NtUserInitializeClientPfnArrays User32 0x%x\n",hmodUser); 00245 00246 if (ClientPfnInit) return Status; 00247 00248 UserEnterExclusive(); 00249 00250 _SEH2_TRY 00251 { 00252 ProbeForRead( pfnClientA, sizeof(PFNCLIENT), 1); 00253 ProbeForRead( pfnClientW, sizeof(PFNCLIENT), 1); 00254 ProbeForRead( pfnClientWorker, sizeof(PFNCLIENTWORKER), 1); 00255 RtlCopyMemory(&gpsi->apfnClientA, pfnClientA, sizeof(PFNCLIENT)); 00256 RtlCopyMemory(&gpsi->apfnClientW, pfnClientW, sizeof(PFNCLIENT)); 00257 RtlCopyMemory(&gpsi->apfnClientWorker, pfnClientWorker, sizeof(PFNCLIENTWORKER)); 00258 00261 RtlCopyMemory(&gpsi->aStoCidPfn, pfnClientW, sizeof(gpsi->aStoCidPfn)); 00262 00263 hModClient = hmodUser; 00264 ClientPfnInit = TRUE; 00265 } 00266 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00267 { 00268 Status =_SEH2_GetExceptionCode(); 00269 } 00270 _SEH2_END 00271 00272 if (!NT_SUCCESS(Status)) 00273 { 00274 ERR("Failed reading Client Pfns from user space.\n"); 00275 SetLastNtError(Status); 00276 } 00277 00278 UserLeave(); 00279 return Status; 00280 } 00281 00282 DWORD 00283 APIENTRY 00284 NtUserInitTask( 00285 DWORD Unknown0, 00286 DWORD Unknown1, 00287 DWORD Unknown2, 00288 DWORD Unknown3, 00289 DWORD Unknown4, 00290 DWORD Unknown5, 00291 DWORD Unknown6, 00292 DWORD Unknown7, 00293 DWORD Unknown8, 00294 DWORD Unknown9, 00295 DWORD Unknown10, 00296 DWORD Unknown11) 00297 { 00298 STUB 00299 00300 return 0; 00301 } 00302 00303 BOOL 00304 APIENTRY 00305 NtUserLockWorkStation(VOID) 00306 { 00307 STUB 00308 00309 return 0; 00310 } 00311 00312 DWORD 00313 APIENTRY 00314 NtUserMNDragLeave(VOID) 00315 { 00316 STUB 00317 00318 return 0; 00319 } 00320 00321 DWORD 00322 APIENTRY 00323 NtUserMNDragOver( 00324 DWORD Unknown0, 00325 DWORD Unknown1) 00326 { 00327 STUB 00328 00329 return 0; 00330 } 00331 00332 DWORD 00333 APIENTRY 00334 NtUserModifyUserStartupInfoFlags( 00335 DWORD Unknown0, 00336 DWORD Unknown1) 00337 { 00338 STUB 00339 00340 return 0; 00341 } 00342 00343 DWORD 00344 APIENTRY 00345 NtUserNotifyIMEStatus( 00346 DWORD Unknown0, 00347 DWORD Unknown1, 00348 DWORD Unknown2) 00349 { 00350 STUB 00351 00352 return 0; 00353 } 00354 00355 DWORD 00356 APIENTRY 00357 NtUserQueryUserCounters( 00358 DWORD Unknown0, 00359 DWORD Unknown1, 00360 DWORD Unknown2, 00361 DWORD Unknown3, 00362 DWORD Unknown4) 00363 { 00364 STUB 00365 00366 return 0; 00367 } 00368 00369 DWORD 00370 APIENTRY 00371 NtUserRegisterTasklist( 00372 DWORD Unknown0) 00373 { 00374 STUB 00375 00376 return 0; 00377 } 00378 00379 DWORD 00380 APIENTRY 00381 NtUserSetConsoleReserveKeys( 00382 DWORD Unknown0, 00383 DWORD Unknown1) 00384 { 00385 STUB 00386 00387 return 0; 00388 } 00389 00390 DWORD 00391 APIENTRY 00392 NtUserSetDbgTag( 00393 DWORD Unknown0, 00394 DWORD Unknown1) 00395 { 00396 STUB 00397 00398 return 0; 00399 } 00400 00401 DWORD 00402 APIENTRY 00403 NtUserSetImeHotKey( 00404 DWORD Unknown0, 00405 DWORD Unknown1, 00406 DWORD Unknown2, 00407 DWORD Unknown3, 00408 DWORD Unknown4) 00409 { 00410 STUB 00411 00412 return 0; 00413 } 00414 00415 00416 DWORD 00417 APIENTRY 00418 NtUserSetRipFlags( 00419 DWORD Unknown0, 00420 DWORD Unknown1) 00421 { 00422 STUB 00423 00424 return 0; 00425 } 00426 00427 BOOL 00428 APIENTRY 00429 NtUserSetSysColors( 00430 int cElements, 00431 IN CONST INT *lpaElements, 00432 IN CONST COLORREF *lpaRgbValues, 00433 FLONG Flags) 00434 { 00435 DWORD Ret = TRUE; 00436 00437 if (cElements == 0) 00438 return TRUE; 00439 00440 /* We need this check to prevent overflow later */ 00441 if ((ULONG)cElements >= 0x40000000) 00442 { 00443 EngSetLastError(ERROR_NOACCESS); 00444 return FALSE; 00445 } 00446 00447 UserEnterExclusive(); 00448 00449 _SEH2_TRY 00450 { 00451 ProbeForRead(lpaElements, cElements * sizeof(INT), 1); 00452 ProbeForRead(lpaRgbValues, cElements * sizeof(COLORREF), 1); 00453 00454 IntSetSysColors(cElements, lpaElements, lpaRgbValues); 00455 } 00456 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00457 { 00458 SetLastNtError(_SEH2_GetExceptionCode()); 00459 Ret = FALSE; 00460 } 00461 _SEH2_END; 00462 00463 if (Ret) 00464 { 00465 UserSendNotifyMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0); 00466 00467 UserRedrawDesktop(); 00468 } 00469 00470 UserLeave(); 00471 return Ret; 00472 } 00473 00474 DWORD 00475 APIENTRY 00476 NtUserUpdateInputContext( 00477 DWORD Unknown0, 00478 DWORD Unknown1, 00479 DWORD Unknown2) 00480 { 00481 STUB 00482 00483 return 0; 00484 } 00485 00486 DWORD 00487 APIENTRY 00488 NtUserUpdateInstance( 00489 DWORD Unknown0, 00490 DWORD Unknown1, 00491 DWORD Unknown2) 00492 { 00493 STUB 00494 00495 return 0; 00496 } 00497 00498 BOOL 00499 APIENTRY 00500 NtUserUserHandleGrantAccess( 00501 IN HANDLE hUserHandle, 00502 IN HANDLE hJob, 00503 IN BOOL bGrant) 00504 { 00505 STUB 00506 00507 return 0; 00508 } 00509 00510 DWORD 00511 APIENTRY 00512 NtUserWaitForMsgAndEvent( 00513 DWORD Unknown0) 00514 { 00515 STUB 00516 00517 return 0; 00518 } 00519 00520 DWORD 00521 APIENTRY 00522 NtUserWin32PoolAllocationStats( 00523 DWORD Unknown0, 00524 DWORD Unknown1, 00525 DWORD Unknown2, 00526 DWORD Unknown3, 00527 DWORD Unknown4, 00528 DWORD Unknown5) 00529 { 00530 STUB 00531 00532 return 0; 00533 } 00534 00535 DWORD 00536 APIENTRY 00537 NtUserYieldTask(VOID) 00538 { 00539 STUB 00540 00541 return 0; 00542 } 00543 00544 00545 DWORD 00546 APIENTRY 00547 NtUserCheckImeHotKey( 00548 DWORD dwUnknown1, 00549 DWORD dwUnknown2) 00550 { 00551 STUB; 00552 return 0; 00553 } 00554 00555 DWORD 00556 APIENTRY 00557 NtUserConsoleControl( 00558 DWORD dwUnknown1, 00559 DWORD dwUnknown2, 00560 DWORD dwUnknown3) 00561 { 00562 STUB; 00563 return 0; 00564 } 00565 00566 DWORD 00567 APIENTRY 00568 NtUserCreateInputContext( 00569 DWORD dwUnknown1) 00570 { 00571 STUB; 00572 return 0; 00573 } 00574 00575 DWORD 00576 APIENTRY 00577 NtUserDestroyInputContext( 00578 DWORD dwUnknown1) 00579 { 00580 STUB; 00581 return 0; 00582 } 00583 00584 DWORD 00585 APIENTRY 00586 NtUserDisableThreadIme( 00587 DWORD dwUnknown1) 00588 { 00589 STUB; 00590 return 0; 00591 } 00592 00593 DWORD 00594 APIENTRY 00595 NtUserGetAppImeLevel( 00596 DWORD dwUnknown1) 00597 { 00598 STUB; 00599 return 0; 00600 } 00601 00602 DWORD 00603 APIENTRY 00604 NtUserGetImeInfoEx( 00605 DWORD dwUnknown1, 00606 DWORD dwUnknown2) 00607 { 00608 STUB; 00609 return 0; 00610 } 00611 00612 DWORD 00613 APIENTRY 00614 NtUserGetRawInputBuffer( 00615 PRAWINPUT pData, 00616 PUINT pcbSize, 00617 UINT cbSizeHeader) 00618 { 00619 STUB; 00620 return 0; 00621 } 00622 00623 DWORD 00624 APIENTRY 00625 NtUserGetRawInputData( 00626 HRAWINPUT hRawInput, 00627 UINT uiCommand, 00628 LPVOID pData, 00629 PUINT pcbSize, 00630 UINT cbSizeHeader) 00631 { 00632 STUB; 00633 return 0; 00634 } 00635 00636 DWORD 00637 APIENTRY 00638 NtUserGetRawInputDeviceInfo( 00639 HANDLE hDevice, 00640 UINT uiCommand, 00641 LPVOID pData, 00642 PUINT pcbSize 00643 ) 00644 { 00645 STUB; 00646 return 0; 00647 } 00648 00649 DWORD 00650 APIENTRY 00651 NtUserGetRawInputDeviceList( 00652 PRAWINPUTDEVICELIST pRawInputDeviceList, 00653 PUINT puiNumDevices, 00654 UINT cbSize) 00655 { 00656 STUB; 00657 return 0; 00658 } 00659 00660 DWORD 00661 APIENTRY 00662 NtUserGetRegisteredRawInputDevices( 00663 PRAWINPUTDEVICE pRawInputDevices, 00664 PUINT puiNumDevices, 00665 UINT cbSize) 00666 { 00667 STUB; 00668 return 0; 00669 } 00670 00671 DWORD 00672 APIENTRY 00673 NtUserHardErrorControl( 00674 DWORD dwUnknown1, 00675 DWORD dwUnknown2, 00676 DWORD dwUnknown3) 00677 { 00678 STUB; 00679 return 0; 00680 } 00681 00682 DWORD 00683 APIENTRY 00684 NtUserNotifyProcessCreate( 00685 DWORD dwUnknown1, 00686 DWORD dwUnknown2, 00687 DWORD dwUnknown3, 00688 DWORD dwUnknown4) 00689 { 00690 STUB; 00691 return 0; 00692 } 00693 00694 NTSTATUS 00695 APIENTRY 00696 NtUserProcessConnect( 00697 HANDLE Process, 00698 PUSERCONNECT pUserConnect, 00699 DWORD Size) 00700 { 00701 NTSTATUS Status = STATUS_SUCCESS; 00702 TRACE("NtUserProcessConnect\n"); 00703 if (pUserConnect && ( Size == sizeof(USERCONNECT) )) 00704 { 00705 PPROCESSINFO W32Process; 00706 UserEnterShared(); 00707 GetW32ThreadInfo(); 00708 W32Process = PsGetCurrentProcessWin32Process(); 00709 _SEH2_TRY 00710 { 00711 pUserConnect->siClient.psi = gpsi; 00712 pUserConnect->siClient.aheList = gHandleTable; 00713 pUserConnect->siClient.ulSharedDelta = (ULONG_PTR)W32Process->HeapMappings.KernelMapping - 00714 (ULONG_PTR)W32Process->HeapMappings.UserMapping; 00715 } 00716 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) 00717 { 00718 Status = _SEH2_GetExceptionCode(); 00719 } 00720 _SEH2_END 00721 if (!NT_SUCCESS(Status)) 00722 { 00723 SetLastNtError(Status); 00724 } 00725 UserLeave(); 00726 return Status; 00727 } 00728 return STATUS_UNSUCCESSFUL; 00729 } 00730 00731 DWORD 00732 APIENTRY 00733 NtUserQueryInformationThread( 00734 DWORD dwUnknown1, 00735 DWORD dwUnknown2, 00736 DWORD dwUnknown3, 00737 DWORD dwUnknown4, 00738 DWORD dwUnknown5) 00739 { 00740 STUB; 00741 return 0; 00742 } 00743 00744 DWORD 00745 APIENTRY 00746 NtUserQueryInputContext( 00747 DWORD dwUnknown1, 00748 DWORD dwUnknown2) 00749 { 00750 STUB; 00751 return 0; 00752 } 00753 00754 BOOL 00755 APIENTRY 00756 NtUserRealInternalGetMessage( 00757 LPMSG lpMsg, 00758 HWND hWnd, 00759 UINT wMsgFilterMin, 00760 UINT wMsgFilterMax, 00761 UINT wRemoveMsg, 00762 BOOL bGMSG) 00763 { 00764 STUB; 00765 return 0; 00766 } 00767 00768 BOOL 00769 APIENTRY 00770 NtUserRealWaitMessageEx( 00771 DWORD dwWakeMask, 00772 UINT uTimeout) 00773 { 00774 STUB; 00775 return 0; 00776 } 00777 00778 BOOL 00779 APIENTRY 00780 NtUserRegisterRawInputDevices( 00781 IN PCRAWINPUTDEVICE pRawInputDevices, 00782 IN UINT uiNumDevices, 00783 IN UINT cbSize) 00784 { 00785 STUB; 00786 return 0; 00787 } 00788 00789 DWORD 00790 APIENTRY 00791 NtUserResolveDesktop( 00792 DWORD dwUnknown1, 00793 DWORD dwUnknown2, 00794 DWORD dwUnknown3, 00795 DWORD dwUnknown4) 00796 { 00797 STUB; 00798 return 0; 00799 } 00800 00801 DWORD 00802 APIENTRY 00803 NtUserSetAppImeLevel( 00804 DWORD dwUnknown1, 00805 DWORD dwUnknown2) 00806 { 00807 STUB; 00808 return 0; 00809 } 00810 00811 DWORD 00812 APIENTRY 00813 NtUserSetImeInfoEx( 00814 DWORD dwUnknown1) 00815 { 00816 STUB; 00817 return 0; 00818 } 00819 00820 DWORD 00821 APIENTRY 00822 NtUserSetInformationProcess( 00823 DWORD dwUnknown1, 00824 DWORD dwUnknown2, 00825 DWORD dwUnknown3, 00826 DWORD dwUnknown4) 00827 { 00828 STUB; 00829 return 0; 00830 } 00831 00832 NTSTATUS 00833 APIENTRY 00834 NtUserSetInformationThread(IN HANDLE ThreadHandle, 00835 IN USERTHREADINFOCLASS ThreadInformationClass, 00836 IN PVOID ThreadInformation, 00837 IN ULONG ThreadInformationLength) 00838 00839 { 00840 if (ThreadInformationClass == UserThreadInitiateShutdown) 00841 { 00842 ERR("Shutdown initiated\n"); 00843 } 00844 else if (ThreadInformationClass == UserThreadEndShutdown) 00845 { 00846 ERR("Shutdown ended\n"); 00847 } 00848 else 00849 { 00850 STUB; 00851 } 00852 00853 return STATUS_SUCCESS; 00854 } 00855 00856 DWORD 00857 APIENTRY 00858 NtUserSetThreadLayoutHandles( 00859 DWORD dwUnknown1, 00860 DWORD dwUnknown2) 00861 { 00862 STUB; 00863 return 0; 00864 } 00865 00866 BOOL 00867 APIENTRY 00868 NtUserSoundSentry(VOID) 00869 { 00870 STUB; 00871 return 0; 00872 } 00873 00874 DWORD 00875 APIENTRY 00876 NtUserTestForInteractiveUser( 00877 DWORD dwUnknown1) 00878 { 00879 STUB; 00880 return 0; 00881 } 00882 00883 /* http://www.cyber-ta.org/releases/malware-analysis/public/SOURCES/b47155634ccb2c30630da7e3666d3d07/b47155634ccb2c30630da7e3666d3d07.trace.html#NtUserGetIconSize */ 00884 DWORD 00885 APIENTRY 00886 NtUserCalcMenuBar( 00887 DWORD dwUnknown1, 00888 DWORD dwUnknown2, 00889 DWORD dwUnknown3, 00890 DWORD dwUnknown4, 00891 DWORD dwUnknown5) 00892 { 00893 STUB; 00894 return 0; 00895 } 00896 00897 DWORD 00898 APIENTRY 00899 NtUserPaintMenuBar( 00900 DWORD dwUnknown1, 00901 DWORD dwUnknown2, 00902 DWORD dwUnknown3, 00903 DWORD dwUnknown4, 00904 DWORD dwUnknown5, 00905 DWORD dwUnknown6) 00906 { 00907 STUB; 00908 return 0; 00909 } 00910 00911 00912 DWORD 00913 APIENTRY 00914 NtUserRemoteConnect( 00915 DWORD dwUnknown1, 00916 DWORD dwUnknown2, 00917 DWORD dwUnknown3) 00918 { 00919 STUB; 00920 return 0; 00921 } 00922 00923 DWORD 00924 APIENTRY 00925 NtUserRemoteRedrawRectangle( 00926 DWORD dwUnknown1, 00927 DWORD dwUnknown2, 00928 DWORD dwUnknown3, 00929 DWORD dwUnknown4) 00930 { 00931 STUB; 00932 return 0; 00933 } 00934 00935 DWORD 00936 APIENTRY 00937 NtUserRemoteRedrawScreen(VOID) 00938 { 00939 STUB; 00940 return 0; 00941 } 00942 00943 DWORD 00944 APIENTRY 00945 NtUserRemoteStopScreenUpdates(VOID) 00946 { 00947 STUB; 00948 return 0; 00949 } 00950 00951 DWORD 00952 APIENTRY 00953 NtUserCtxDisplayIOCtl( 00954 DWORD dwUnknown1, 00955 DWORD dwUnknown2, 00956 DWORD dwUnknown3) 00957 { 00958 STUB; 00959 return 0; 00960 } 00961 00962 /* 00963 * @unimplemented 00964 */ 00965 DWORD 00966 APIENTRY 00967 NtUserDrawMenuBarTemp( 00968 HWND hWnd, 00969 HDC hDC, 00970 PRECT hRect, 00971 HMENU hMenu, 00972 HFONT hFont) 00973 { 00974 /* We'll use this function just for caching the menu bar */ 00975 STUB 00976 return 0; 00977 } 00978 00979 /* 00980 * FillWindow: Called from User; Dialog, Edit and ListBox procs during a WM_ERASEBKGND. 00981 */ 00982 /* 00983 * @unimplemented 00984 */ 00985 BOOL APIENTRY 00986 NtUserFillWindow(HWND hWndPaint, 00987 HWND hWndPaint1, 00988 HDC hDC, 00989 HBRUSH hBrush) 00990 { 00991 STUB 00992 00993 return 0; 00994 } 00995 00996 /* 00997 * @unimplemented 00998 */ 00999 BOOL APIENTRY 01000 NtUserLockWindowUpdate(HWND hWnd) 01001 { 01002 STUB 01003 01004 return 0; 01005 } 01006 01007 /* 01008 * @unimplemented 01009 */ 01010 DWORD APIENTRY 01011 NtUserSetImeOwnerWindow(DWORD Unknown0, 01012 DWORD Unknown1) 01013 { 01014 STUB 01015 01016 return 0; 01017 } 01018 01019 BOOL 01020 APIENTRY 01021 NtUserGetLayeredWindowAttributes( 01022 HWND hwnd, 01023 COLORREF *pcrKey, 01024 BYTE *pbAlpha, 01025 DWORD *pdwFlags) 01026 { 01027 STUB; 01028 return 0; 01029 } 01030 01031 /* 01032 * @unimplemented 01033 */ 01034 BOOL APIENTRY 01035 NtUserSetLayeredWindowAttributes(HWND hwnd, 01036 COLORREF crKey, 01037 BYTE bAlpha, 01038 DWORD dwFlags) 01039 { 01040 STUB; 01041 return FALSE; 01042 } 01043 01044 /* 01045 * @unimplemented 01046 */ 01047 BOOL 01048 APIENTRY 01049 NtUserUpdateLayeredWindow( 01050 HWND hwnd, 01051 HDC hdcDst, 01052 POINT *pptDst, 01053 SIZE *psize, 01054 HDC hdcSrc, 01055 POINT *pptSrc, 01056 COLORREF crKey, 01057 BLENDFUNCTION *pblend, 01058 DWORD dwFlags, 01059 RECT *prcDirty) 01060 { 01061 STUB 01062 01063 return 0; 01064 } 01065 01066 /* 01067 * @unimplemented 01068 */ 01069 HWND APIENTRY 01070 NtUserWindowFromPhysicalPoint(POINT Point) 01071 { 01072 STUB 01073 01074 return NULL; 01075 } 01076 01077 /* 01078 * NtUserResolveDesktopForWOW 01079 * 01080 * Status 01081 * @unimplemented 01082 */ 01083 01084 DWORD APIENTRY 01085 NtUserResolveDesktopForWOW(DWORD Unknown0) 01086 { 01087 STUB 01088 return 0; 01089 } 01090 01091 /* 01092 * @unimplemented 01093 */ 01094 BOOL APIENTRY 01095 NtUserEndMenu(VOID) 01096 { 01097 STUB 01098 01099 return 0; 01100 } 01101 01102 /* 01103 * @implemented 01104 */ 01105 /* NOTE: unused function */ 01106 BOOL APIENTRY 01107 NtUserTrackPopupMenuEx( 01108 HMENU hMenu, 01109 UINT fuFlags, 01110 int x, 01111 int y, 01112 HWND hWnd, 01113 LPTPMPARAMS lptpm) 01114 { 01115 STUB 01116 01117 return FALSE; 01118 } 01119 01120 DWORD APIENTRY 01121 NtUserQuerySendMessage(DWORD Unknown0) 01122 { 01123 STUB; 01124 01125 return 0; 01126 } 01127 01128 /* 01129 * @unimplemented 01130 */ 01131 DWORD APIENTRY 01132 NtUserAlterWindowStyle(DWORD Unknown0, 01133 DWORD Unknown1, 01134 DWORD Unknown2) 01135 { 01136 STUB 01137 01138 return(0); 01139 } 01140 01141 /* 01142 * NtUserSetWindowStationUser 01143 * 01144 * Status 01145 * @unimplemented 01146 */ 01147 01148 DWORD APIENTRY 01149 NtUserSetWindowStationUser( 01150 DWORD Unknown0, 01151 DWORD Unknown1, 01152 DWORD Unknown2, 01153 DWORD Unknown3) 01154 { 01155 STUB 01156 01157 return 0; 01158 } 01159 01160 BOOL APIENTRY NtUserAddClipboardFormatListener( 01161 HWND hwnd 01162 ) 01163 { 01164 STUB; 01165 return FALSE; 01166 } 01167 01168 BOOL APIENTRY NtUserRemoveClipboardFormatListener( 01169 HWND hwnd 01170 ) 01171 { 01172 STUB; 01173 return FALSE; 01174 } 01175 01176 BOOL APIENTRY NtUserGetUpdatedClipboardFormats( 01177 PUINT lpuiFormats, 01178 UINT cFormats, 01179 PUINT pcFormatsOut 01180 ) 01181 { 01182 STUB; 01183 return FALSE; 01184 } 01185 01186 /* 01187 * @unimplemented 01188 */ 01189 HCURSOR 01190 NTAPI 01191 NtUserGetCursorFrameInfo( 01192 HCURSOR hCursor, 01193 DWORD istep, 01194 PDWORD rate_jiffies, 01195 INT *num_steps) 01196 { 01197 STUB 01198 01199 return 0; 01200 } 01201 01202 /* 01203 * @unimplemented 01204 */ 01205 BOOL 01206 APIENTRY 01207 NtUserSetSystemCursor( 01208 HCURSOR hcur, 01209 DWORD id) 01210 { 01211 return FALSE; 01212 } 01213 01214 /* EOF */ Generated on Thu May 24 2012 04:38:40 for ReactOS by
1.7.6.1
|