test: ntrtli64.h File Reference

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 }