ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ntstubs.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.