Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

crecv.c File Reference

#include "precomp.h"
#include <dbt.h>
#include "callback.h"
#include "ntcb.h"

Go to the source code of this file.

Defines

#define CALLBACKPROC   1
#define CLIENTSIDE   1
#define RECVSIDE   1
#define RECVCALL(lower, upper)   DWORD __ ## lower (upper *pmsg)
#define BEGINRECV(err, p, cb)
#define FIXUPPOINTERS()
#define ENDRECV()
#define MSGERROR()   goto errorexit
#define MSGERRORCODE(code)
#define MSGNTERRORCODE(code)
#define CALLDATA(x)   (pmsg->x)
#define PCALLDATA(x)   (&(pmsg->x))
#define PCALLDATAOPT(x)   (pmsg->p ## x ? (PVOID)&(pmsg->x) : NULL)
#define FIRSTFIXUP(x)   (pmsg->x)
#define FIXUPOPT(x)   (pmsg->x)
#define FIRSTFIXUPOPT(x)   FIXUPOPT(x)
#define FIXUP(x)   (pmsg->x)
#define FIXUPID(x)   (pmsg->x)
#define FIXUPIDOPT(x)   (pmsg->x)
#define FIXUPSTRING(x)   (pmsg->x.Buffer)
#define FIXUPSTRINGID(x)   (pmsg->x.Buffer)
#define FIXUPSTRINGIDOPT(x)   (pmsg->x.Buffer)

Functions

VOID FixupCallbackPointers (PCAPTUREBUF pcb)


Define Documentation

#define BEGINRECV err,
p,
cb   ) 
 

Value:

CALLBACKSTATUS CallbackStatus; \ NTSTATUS Status = STATUS_SUCCESS; \ ULONG_PTR retval = (ULONG_PTR)err; \ CallbackStatus.cbOutput = cb; \ CallbackStatus.pOutput = p;

Definition at line 29 of file crecv.c.

Referenced by NtUserActivateKeyboardLayout(), NtUserAttachThreadInput(), NtUserBitBltSysBmp(), NtUserCallMsgFilter(), NtUserCallNextHookEx(), NtUserCallNoParam(), NtUserCallOneParam(), NtUserCallTwoParam(), NtUserChangeDisplaySettings(), NtUserCheckImeHotKey(), NtUserClipCursor(), NtUserCloseClipboard(), NtUserCloseDesktop(), NtUserCloseWindowStation(), NtUserConvertMemHandle(), NtUserCreateAcceleratorTable(), NtUserCreateDesktop(), NtUserCreateInputContext(), NtUserCreateLocalMemHandle(), NtUserCreateWindowEx(), NtUserCreateWindowStation(), NtUserDdeInitialize(), NtUserDeleteMenu(), NtUserDestroyAcceleratorTable(), NtUserDisableThreadIme(), NtUserDispatchMessage(), NtUserDrawAnimatedRects(), NtUserDrawCaptionTemp(), NtUserEmptyClipboard(), NtUserEnableMenuItem(), NtUserEndDeferWindowPosEx(), NtUserEndMenu(), NtUserEnumDisplayDevices(), NtUserEnumDisplayMonitors(), NtUserEnumDisplaySettings(), NtUserEvent(), NtUserFlashWindowEx(), NtUserGetClassInfo(), NtUserGetClipboardData(), NtUserGetImeHotKey(), NtUserGetMessage(), NtUserGetMouseMovePointsEx(), NtUserHideCaret(), NtUserInitializeClientPfnArrays(), NtUserInitTask(), NtUserInvalidateRect(), NtUserLoadKeyboardLayoutEx(), NtUserLockWindowStation(), NtUserLockWorkStation(), NtUserMNDragLeave(), NtUserMNDragOver(), NtUserOpenClipboard(), NtUserOpenDesktop(), NtUserOpenInputDesktop(), NtUserOpenWindowStation(), NtUserPaintDesktop(), NtUserPeekMessage(), NtUserPostMessage(), NtUserPostThreadMessage(), NtUserQueryUserCounters(), NtUserRegisterClassExWOW(), NtUserRemoveMenu(), NtUserResolveDesktop(), NtUserResolveDesktopForWOW(), NtUserScrollDC(), NtUserSelectPalette(), NtUserSendInput(), NtUserSendMessageCallback(), NtUserSendNotifyMessage(), NtUserSetActiveWindow(), NtUserSetCapture(), NtUserSetClipboardData(), NtUserSetClipboardViewer(), NtUserSetCursor(), NtUserSetFocus(), NtUserSetImeHotKey(), NtUserSetImeInfoEx(), NtUserSetKeyboardState(), NtUserSetProcessWindowStation(), NtUserSetSysColors(), NtUserSetSystemCursor(), NtUserSetThreadDesktop(), NtUserSetWindowsHookAW(), NtUserSetWindowsHookEx(), NtUserSetWinEventHook(), NtUserShowCaret(), NtUserSoundSentry(), NtUserSwitchDesktop(), NtUserSystemParametersInfo(), NtUserThunkedMenuInfo(), NtUserThunkedMenuItemInfo(), NtUserToUnicodeEx(), NtUserTrackMouseEvent(), NtUserTrackPopupMenuEx(), NtUserTranslateAccelerator(), NtUserTranslateMessage(), NtUserUnhookWindowsHookEx(), NtUserUnloadKeyboardLayout(), NtUserUnlockWindowStation(), NtUserUnregisterClass(), NtUserUpdateInstance(), NtUserUpdatePerUserSystemParameters(), NtUserValidateHandleSecure(), NtUserValidateRect(), NtUserWaitForInputIdle(), NtUserWaitForMsgAndEvent(), NtUserWaitMessage(), NtUserWin32PoolAllocationStats(), NtUserWindowFromPoint(), and NtUserYieldTask().

#define CALLBACKPROC   1
 

Definition at line 16 of file crecv.c.

#define CALLDATA  )     (pmsg->x)
 

Definition at line 86 of file crecv.c.

#define CLIENTSIDE   1
 

Definition at line 17 of file crecv.c.

 
#define ENDRECV  ) 
 

Value:

goto errorexit; \ errorexit: \ CallbackStatus.retval = retval; \ return NtCallbackReturn(&CallbackStatus, sizeof(CallbackStatus), \ Status)

Definition at line 60 of file crecv.c.

Referenced by NtUserActivateKeyboardLayout(), NtUserAttachThreadInput(), NtUserBitBltSysBmp(), NtUserCallMsgFilter(), NtUserCallNextHookEx(), NtUserCallNoParam(), NtUserCallOneParam(), NtUserCallTwoParam(), NtUserChangeDisplaySettings(), NtUserCheckImeHotKey(), NtUserClipCursor(), NtUserCloseClipboard(), NtUserCloseDesktop(), NtUserCloseWindowStation(), NtUserConvertMemHandle(), NtUserCreateAcceleratorTable(), NtUserCreateDesktop(), NtUserCreateInputContext(), NtUserCreateLocalMemHandle(), NtUserCreateWindowEx(), NtUserCreateWindowStation(), NtUserDdeInitialize(), NtUserDeleteMenu(), NtUserDestroyAcceleratorTable(), NtUserDisableThreadIme(), NtUserDispatchMessage(), NtUserDrawAnimatedRects(), NtUserDrawCaptionTemp(), NtUserEmptyClipboard(), NtUserEnableMenuItem(), NtUserEndDeferWindowPosEx(), NtUserEndMenu(), NtUserEnumDisplayDevices(), NtUserEnumDisplayMonitors(), NtUserEnumDisplaySettings(), NtUserEvent(), NtUserFlashWindowEx(), NtUserGetClassInfo(), NtUserGetClipboardData(), NtUserGetImeHotKey(), NtUserGetMessage(), NtUserGetMouseMovePointsEx(), NtUserHideCaret(), NtUserInitializeClientPfnArrays(), NtUserInitTask(), NtUserInvalidateRect(), NtUserLoadKeyboardLayoutEx(), NtUserLockWindowStation(), NtUserLockWorkStation(), NtUserMNDragLeave(), NtUserMNDragOver(), NtUserOpenClipboard(), NtUserOpenDesktop(), NtUserOpenInputDesktop(), NtUserOpenWindowStation(), NtUserPaintDesktop(), NtUserPeekMessage(), NtUserPostMessage(), NtUserPostThreadMessage(), NtUserQueryUserCounters(), NtUserRegisterClassExWOW(), NtUserRemoveMenu(), NtUserResolveDesktop(), NtUserResolveDesktopForWOW(), NtUserScrollDC(), NtUserSelectPalette(), NtUserSendInput(), NtUserSendMessageCallback(), NtUserSendNotifyMessage(), NtUserSetActiveWindow(), NtUserSetCapture(), NtUserSetClipboardData(), NtUserSetClipboardViewer(), NtUserSetCursor(), NtUserSetFocus(), NtUserSetImeHotKey(), NtUserSetImeInfoEx(), NtUserSetKeyboardState(), NtUserSetProcessWindowStation(), NtUserSetSysColors(), NtUserSetSystemCursor(), NtUserSetThreadDesktop(), NtUserSetWindowsHookAW(), NtUserSetWindowsHookEx(), NtUserSetWinEventHook(), NtUserShowCaret(), NtUserSoundSentry(), NtUserSwitchDesktop(), NtUserSystemParametersInfo(), NtUserThunkedMenuInfo(), NtUserThunkedMenuItemInfo(), NtUserToUnicodeEx(), NtUserTrackMouseEvent(), NtUserTrackPopupMenuEx(), NtUserTranslateAccelerator(), NtUserTranslateMessage(), NtUserUnhookWindowsHookEx(), NtUserUnloadKeyboardLayout(), NtUserUnlockWindowStation(), NtUserUnregisterClass(), NtUserUpdateInstance(), NtUserUpdatePerUserSystemParameters(), NtUserValidateHandleSecure(), NtUserValidateRect(), NtUserWaitForInputIdle(), NtUserWaitForMsgAndEvent(), NtUserWaitMessage(), NtUserWin32PoolAllocationStats(), NtUserWindowFromPoint(), and NtUserYieldTask().

#define FIRSTFIXUP  )     (pmsg->x)
 

Definition at line 89 of file crecv.c.

#define FIRSTFIXUPOPT  )     FIXUPOPT(x)
 

Definition at line 91 of file crecv.c.

#define FIXUP  )     (pmsg->x)
 

Definition at line 92 of file crecv.c.

#define FIXUPID  )     (pmsg->x)
 

Definition at line 93 of file crecv.c.

#define FIXUPIDOPT  )     (pmsg->x)
 

Definition at line 94 of file crecv.c.

#define FIXUPOPT  )     (pmsg->x)
 

Definition at line 90 of file crecv.c.

 
#define FIXUPPOINTERS  ) 
 

Value:

if (pmsg->CaptureBuf.cCapturedPointers && \ pmsg->CaptureBuf.pvVirtualAddress == NULL) \ FixupCallbackPointers(&pmsg->CaptureBuf);

Definition at line 36 of file crecv.c.

#define FIXUPSTRING  )     (pmsg->x.Buffer)
 

Definition at line 95 of file crecv.c.

#define FIXUPSTRINGID  )     (pmsg->x.Buffer)
 

Definition at line 96 of file crecv.c.

#define FIXUPSTRINGIDOPT  )     (pmsg->x.Buffer)
 

Definition at line 97 of file crecv.c.

 
#define MSGERROR  )     goto errorexit
 

Definition at line 69 of file crecv.c.

Referenced by _CreateWindowEx(), ConvertMemHandle(), CreateLocalMemHandle(), MapVirtualKeyEx(), MESSAGECALL(), NtUserActivateKeyboardLayout(), NtUserAttachThreadInput(), NtUserBeginPaint(), NtUserBuildHimcList(), NtUserBuildHwndList(), NtUserBuildNameList(), NtUserBuildPropList(), NtUserCallMsgFilter(), NtUserCallNextHookEx(), NtUserChangeDisplaySettings(), NtUserCheckImeHotKey(), NtUserClipCursor(), NtUserConvertMemHandle(), NtUserCopyAcceleratorTable(), NtUserCountClipboardFormats(), NtUserCreateAcceleratorTable(), NtUserCreateDesktop(), NtUserCreateInputContext(), NtUserCreateLocalMemHandle(), NtUserCtxDisplayIOCtl(), NtUserDdeGetQualityOfService(), NtUserDdeInitialize(), NtUserDdeSetQualityOfService(), NtUserDeferWindowPos(), NtUserDefSetText(), NtUserDisableThreadIme(), NtUserDispatchMessage(), NtUserDrawAnimatedRects(), NtUserDrawCaption(), NtUserDrawIconEx(), NtUserDrawMenuBarTemp(), NtUserEndPaint(), NtUserEnumDisplayMonitors(), NtUserEvent(), NtUserExcludeUpdateRgn(), NtUserFillWindow(), NtUserFindExistingCursorIcon(), NtUserFlashWindowEx(), NtUserfnHkINLPCBTACTIVATESTRUCT(), NtUserfnHkINLPCBTCREATESTRUCT(), NtUserfnHkINLPDEBUGHOOKSTRUCT(), NtUserfnHkINLPKBDLLHOOKSTRUCT(), NtUserfnHkINLPMOUSEHOOKSTRUCTEX(), NtUserfnHkINLPMSG(), NtUserfnHkINLPMSLLHOOKSTRUCT(), NtUserfnHkINLPRECT(), NtUserfnHkOPTINLPEVENTMSG(), NtUserGetAltTabInfo(), NtUserGetAncestor(), NtUserGetAppImeLevel(), NtUserGetAsyncKeyState(), NtUserGetCaretBlinkTime(), NtUserGetCaretPos(), NtUserGetClassInfo(), NtUserGetClassName(), NtUserGetClipboardData(), NtUserGetClipboardFormatName(), NtUserGetClipboardOwner(), NtUserGetClipboardSequenceNumber(), NtUserGetClipboardViewer(), NtUserGetClipCursor(), NtUserGetComboBoxInfo(), NtUserGetControlBrush(), NtUserGetCPD(), NtUserGetCursorFrameInfo(), NtUserGetCursorInfo(), NtUserGetDCEx(), NtUserGetDoubleClickTime(), NtUserGetForegroundWindow(), NtUserGetGuiResources(), NtUserGetGUIThreadInfo(), NtUserGetIconInfo(), NtUserGetIconSize(), NtUserGetImeHotKey(), NtUserGetImeInfoEx(), NtUserGetInternalWindowPos(), NtUserGetKeyboardLayoutList(), NtUserGetKeyboardLayoutName(), NtUserGetKeyboardState(), NtUserGetKeyNameText(), NtUserGetMenuBarInfo(), NtUserGetMessage(), NtUserGetMouseMovePointsEx(), NtUserGetObjectInformation(), NtUserGetOpenClipboardWindow(), NtUserGetPriorityClipboardFormat(), NtUserGetScrollBarInfo(), NtUserGetThreadState(), NtUserGetTitleBarInfo(), NtUserGetUpdateRect(), NtUserGetWindowPlacement(), NtUserGetWOWClass(), NtUserImpersonateDdeClientWindow(), NtUserInitializeClientPfnArrays(), NtUserInitTask(), NtUserInternalGetWindowText(), NtUserInvalidateRect(), NtUserIsClipboardFormatAvailable(), NtUserLoadKeyboardLayoutEx(), NtUserLockWindowStation(), NtUserMNDragOver(), NtUserMoveWindow(), NtUserOpenClipboard(), NtUserOpenInputDesktop(), NtUserOpenWindowStation(), NtUserPaintDesktop(), NtUserPeekMessage(), NtUserPostMessage(), NtUserPostThreadMessage(), NtUserQuerySendMessage(), NtUserQueryUserCounters(), NtUserRedrawWindow(), NtUserRegisterClassExWOW(), NtUserRegisterWindowMessage(), NtUserRemoteConnect(), NtUserRemoteRedrawRectangle(), NtUserRemoteRedrawScreen(), NtUserRemoteStopScreenUpdates(), NtUserResolveDesktop(), NtUserSBGetParms(), NtUserScrollDC(), NtUserScrollWindowEx(), NtUserSendInput(), NtUserSendMessageCallback(), NtUserSendNotifyMessage(), NtUserSetAppImeLevel(), NtUserSetClassLongPtr(), NtUserSetClipboardData(), NtUserSetCursorIconData(), NtUserSetImeInfoEx(), NtUserSetImeOwnerWindow(), NtUserSetInternalWindowPos(), NtUserSetKeyboardState(), NtUserSetLayeredWindowAttributes(), NtUserSetObjectInformation(), NtUserSetScrollInfo(), NtUserSetSysColors(), NtUserSetWindowFNID(), NtUserSetWindowPlacement(), NtUserSetWindowPos(), NtUserSetWindowsHookEx(), NtUserSetWindowStationUser(), NtUserShowWindow(), NtUserSwitchDesktop(), NtUserSystemParametersInfo(), NtUserTestForInteractiveUser(), NtUserThunkedMenuInfo(), NtUserThunkedMenuItemInfo(), NtUserToUnicodeEx(), NtUserTrackMouseEvent(), NtUserTranslateAccelerator(), NtUserTranslateMessage(), NtUserUnlockWindowStation(), NtUserUnregisterClass(), NtUserUpdateInstance(), NtUserUpdateLayeredWindow(), NtUserValidateRect(), NtUserWin32PoolAllocationStats(), PostMessage(), RemoveProp(), SetProp(), SetSystemCursor(), SystemParametersInfo(), TranslateMessageEx(), VkKeyScan(), and VkKeyScanEx().

#define MSGERRORCODE code   ) 
 

Value:

{ \ RIPERR0(code, RIP_WARNING, "Unspecified error"); \ goto errorexit; }

Definition at line 72 of file crecv.c.

Referenced by CallMsgFilter(), GetClassWOWWords(), and GetMessage().

#define MSGNTERRORCODE code   ) 
 

Value:

{ \ RIPNTERR0(code, RIP_WARNING, "Unspecified error"); \ goto errorexit; }

Definition at line 76 of file crecv.c.

#define PCALLDATA  )     (&(pmsg->x))
 

Definition at line 87 of file crecv.c.

#define PCALLDATAOPT  )     (pmsg->p ## x ? (PVOID)&(pmsg->x) : NULL)
 

Definition at line 88 of file crecv.c.

#define RECVCALL lower,
upper   )     DWORD __ ## lower (upper *pmsg)
 

Definition at line 26 of file crecv.c.

#define RECVSIDE   1
 

Definition at line 24 of file crecv.c.


Function Documentation

VOID FixupCallbackPointers PCAPTUREBUF  pcb  ) 
 

Definition at line 107 of file crecv.c.

References _CAPTUREBUF::cCapturedPointers, DWORD, _CAPTUREBUF::offPointers, PBYTE, PCAPTUREBUF, and VOID().

00109 { 00110 DWORD i; 00111 LPDWORD lpdwOffset; 00112 PVOID *ppFixup; 00113 00114 lpdwOffset = (LPDWORD)((PBYTE)pcb + pcb->offPointers); 00115 for (i = 0; i < pcb->cCapturedPointers; ++i, ++lpdwOffset) { 00116 ppFixup = (PVOID *)((PBYTE)pcb + *lpdwOffset); 00117 *ppFixup = (PBYTE)pcb + (LONG_PTR)*ppFixup; 00118 } 00119 }


Generated on Sat May 15 19:43:18 2004 for test by doxygen 1.3.7