title "User Callback Return" ;++ ; ; Copyright (c) 1985 - 1999, Microsoft Corporation ; ; Module Name: ; ; callret.asm ; ; Abstract: ; ; This module implements the fastpath callback return. ; ; Author: ; ; David N. Cutler (davec) 21-Dec-95 ; ; Environment: ; ; User mode. ; ; Revision History: ; ;-- .386p .xlist include callconv.inc ; calling convention macros .list _TEXT SEGMENT DWORD PUBLIC 'CODE' ASSUME DS:FLAT, ES:FLAT, SS:NOTHING, FS:NOTHING, GS:NOTHING page ,132 subttl "Return from User Mode Callback" ifndef BUILD_WOW6432 ;++ ; ; NTSTATUS ; FASTCALL ; XyCallbackReturn ( ; IN PVOID OutputBuffer OPTIONAL, ; IN ULONG OutputLength, ; IN NTSTATUS Status ; ) ; ; Routine Description: ; ; This function returns from a user mode callout to the kernel mode ; caller of the user mode callback function. ; ; Arguments: ; ; OutputBuffer (ecx) - Supplies an optional pointer to an output buffer. ; ; OutputLength (edx) - Supplies the length of the output buffer. ; ; Status (esp + 4) - Supplies the status value returned to the caller of the ; callback function. ; ; Return Value: ; ; Normally there is no return from this function. If a callbac is not active, ; then the error status is returned to the caller. ; ;-- cPublicFastCall XyCallbackReturn, 3 mov eax,[esp] + 4 ; get return status value int 02bH ; call fast path system service fstRET XyCallbackReturn ; return status to caller fstENDP XyCallbackReturn endif _TEXT ends end