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

ntrtli64.h File Reference

Go to the source code of this file.

Functions

VOID Rtlp64GetStackLimits (OUT PULONGLONG LowLimit, OUT PULONGLONG HighLimit)
VOID Rtlp64GetBStoreLimits (OUT PULONGLONG LowBStoreLimit, OUT PULONGLONG HighBStoreLimit)
VOID RtlpUnlinkHandler (PEXCEPTION_REGISTRATION_RECORD UnlinkPointer)
PEXCEPTION_REGISTRATION_RECORD RtlpGetRegistrationHead (VOID)
EXCEPTION_DISPOSITION RtlpExecuteEmHandlerForException (IN PEXCEPTION_RECORD ExceptionRecord, IN ULONGLONG MemoryStackFp, IN ULONGLONG BackingStoreFp, IN OUT PCONTEXT ContextRecord, IN OUT PDISPATCHER_CONTEXT DispatcherContext, IN ULONGLONG GlobalPointer, IN PEXCEPTION_ROUTINE ExceptionRoutine)
EXCEPTION_DISPOSITION RtlpExecuteEmHandlerForUnwind (IN PEXCEPTION_RECORD ExceptionRecord, IN ULONGLONG MemoryStackFp, IN ULONGLONG BackingStoreFp, IN OUT PCONTEXT ContextRecord, IN OUT PDISPATCHER_CONTEXT DispatcherContext, IN ULONGLONG GlobalPointer, IN PEXCEPTION_ROUTINE ExceptionRoutine)
EXCEPTION_DISPOSITION RtlpExecuteX86HandlerForException (IN PEXCEPTION_RECORD ExceptionRecord, IN PVOID EstablisherFrame, IN OUT PCONTEXT ContextRecord, IN OUT PDISPATCHER_CONTEXT DispatcherContext, IN PEXCEPTION_ROUTINE ExceptionRoutine)
EXCEPTION_DISPOSITION RtlpExecuteX86HandlerForUnwind (IN PEXCEPTION_RECORD ExceptionRecord, IN PVOID EstablisherFrame, IN OUT PCONTEXT ContextRecord, IN OUT PDISPATCHER_CONTEXT DispatcherContext, IN PEXCEPTION_ROUTINE ExceptionRoutine)


Function Documentation

VOID Rtlp64GetBStoreLimits OUT PULONGLONG  LowBStoreLimit,
OUT PULONGLONG  HighBStoreLimit
 

Definition at line 75 of file rtl/ia64/miscc.c.

Referenced by RtlDispatchException(), RtlGetCallersAddress(), and RtlUnwind2().

00082 : 00083 00084 This function returns the current backing store limits based on the 00085 current processor mode. 00086 00087 Arguments: 00088 00089 LowBStoreLimit - Supplies a pointer to a variable that is to receive 00090 the low limit of the backing store. 00091 00092 HighBStoreLimit - Supplies a pointer to a variable that is to receive 00093 the high limit of the backing store. 00094 00095 Return Value: 00096 00097 None. 00098 00099 --*/ 00100 00101 { 00102 #if defined(NTOS_KERNEL_RUNTIME) 00103 00104 // 00105 // Kernel Mode 00106 // 00107 00108 *LowBStoreLimit = (ULONGLONG)(PCR->InitialBStore); 00109 *HighBStoreLimit = (ULONGLONG)(PCR->BStoreLimit); 00110 00111 #else 00112 00113 // 00114 // User Mode 00115 // 00116 00117 PTEB CurrentTeb = NtCurrentTeb(); 00118 00119 *HighBStoreLimit = (ULONGLONG)CurrentTeb->BStoreLimit; 00120 *LowBStoreLimit = (ULONGLONG)CurrentTeb->NtTib.StackBase; 00121 00122 #endif // defined(NTOS_KERNEL_RUNTIME) 00123 }

VOID Rtlp64GetStackLimits OUT PULONGLONG  LowLimit,
OUT PULONGLONG  HighLimit
 

Definition at line 178 of file rtl/ia64/miscc.c.

Referenced by RtlDispatchException(), RtlGetCallersAddress(), and RtlUnwind2().

00185 : 00186 00187 This function returns the current memory stack limits based on the 00188 current processor mode. 00189 00190 Arguments: 00191 00192 LowStackLimit - Supplies a pointer to a variable that is to receive 00193 the low limit of the memory stack. 00194 00195 HighStackLimit - Supplies a pointer to a variable that is to receive 00196 the high limit of the memory stack. 00197 00198 Return Value: 00199 00200 None. 00201 00202 --*/ 00203 00204 { 00205 00206 #if defined(NTOS_KERNEL_RUNTIME) 00207 00208 // 00209 // Kernel Mode 00210 // 00211 00212 *HighStackLimit = (ULONG_PTR)PCR->InitialStack; 00213 *LowStackLimit = (ULONG_PTR)PCR->StackLimit; 00214 00215 #else 00216 00217 // 00218 // User Mode 00219 // 00220 00221 PTEB CurrentTeb = NtCurrentTeb(); 00222 00223 *HighStackLimit = (ULONGLONG)CurrentTeb->NtTib.StackBase; 00224 *LowStackLimit = (ULONGLONG)CurrentTeb->NtTib.StackLimit; 00225 00226 #endif // defined(NTOS_KERNEL_RUNTIME) 00227 } }

EXCEPTION_DISPOSITION RtlpExecuteEmHandlerForException IN PEXCEPTION_RECORD  ExceptionRecord,
IN ULONGLONG  MemoryStackFp,
IN ULONGLONG  BackingStoreFp,
IN OUT PCONTEXT  ContextRecord,
IN OUT PDISPATCHER_CONTEXT  DispatcherContext,
IN ULONGLONG  GlobalPointer,
IN PEXCEPTION_ROUTINE  ExceptionRoutine
 

Referenced by RtlDispatchException().

EXCEPTION_DISPOSITION RtlpExecuteEmHandlerForUnwind IN PEXCEPTION_RECORD  ExceptionRecord,
IN ULONGLONG  MemoryStackFp,
IN ULONGLONG  BackingStoreFp,
IN OUT PCONTEXT  ContextRecord,
IN OUT PDISPATCHER_CONTEXT  DispatcherContext,
IN ULONGLONG  GlobalPointer,
IN PEXCEPTION_ROUTINE  ExceptionRoutine
 

Referenced by RtlUnwind2().

EXCEPTION_DISPOSITION RtlpExecuteX86HandlerForException IN PEXCEPTION_RECORD  ExceptionRecord,
IN PVOID  EstablisherFrame,
IN OUT PCONTEXT  ContextRecord,
IN OUT PDISPATCHER_CONTEXT  DispatcherContext,
IN PEXCEPTION_ROUTINE  ExceptionRoutine
 

EXCEPTION_DISPOSITION RtlpExecuteX86HandlerForUnwind IN PEXCEPTION_RECORD  ExceptionRecord,
IN PVOID  EstablisherFrame,
IN OUT PCONTEXT  ContextRecord,
IN OUT PDISPATCHER_CONTEXT  DispatcherContext,
IN PEXCEPTION_ROUTINE  ExceptionRoutine
 

PEXCEPTION_REGISTRATION_RECORD RtlpGetRegistrationHead VOID   ) 
 

Referenced by RtlDispatchException(), RtlpExceptionRegistrationDump(), and RtlUnwind().

VOID RtlpUnlinkHandler PEXCEPTION_REGISTRATION_RECORD  UnlinkPointer  ) 
 

Definition at line 157 of file ia64/exdsptch.c.

Referenced by RtlUnwind().

00163 : 00164 00165 This function removes the specified exception registration record 00166 (and thus the relevant handler) from the exception traversal chain. 00167 00168 Arguments: 00169 00170 UnlinkPointer - Address of registration record to unlink. 00171 00172 Return Value: 00173 00174 None. 00175 00176 --*/ 00177 00178 { 00179 NtCurrentTeb()->NtTib.ExceptionList = UnlinkPointer->Next; 00180 }


Generated on Sat May 15 19:44:53 2004 for test by doxygen 1.3.7