From: Jinoh Kang jinoh.kang.kr@gmail.com
--- dlls/ntdll/actctx.c | 10 +++++++++- dlls/ntdll/ntdll.spec | 1 + include/winternl.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index eaa15907132..5903389fd4b 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -5454,7 +5454,15 @@ void WINAPI RtlDeactivateActivationContext( ULONG flags, ULONG_PTR cookie ) */ void WINAPI RtlFreeThreadActivationContextStack(void) { - ACTIVATION_CONTEXT_STACK *actctx_stack = NtCurrentTeb()->ActivationContextStackPointer; + RtlFreeActivationContextStack( NtCurrentTeb()->ActivationContextStackPointer ); +} + + +/****************************************************************** + * RtlFreeActivationContextStack (NTDLL.@) + */ +void WINAPI RtlFreeActivationContextStack( ACTIVATION_CONTEXT_STACK *actctx_stack ) +{ RTL_ACTIVATION_CONTEXT_STACK_FRAME *frame;
frame = actctx_stack->ActiveFrame; diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index d5f6737e1aa..b7659ac8c49 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -700,6 +700,7 @@ @ stdcall RtlFormatCurrentUserKeyPath(ptr) @ stdcall RtlFormatMessage(ptr long long long long ptr ptr long ptr) @ stdcall RtlFormatMessageEx(ptr long long long long ptr ptr long ptr long) +@ stdcall RtlFreeActivationContextStack(ptr) @ stdcall RtlFreeAnsiString(ptr) @ stdcall RtlFreeHandle(ptr ptr) @ stdcall RtlFreeHeap(long long ptr) diff --git a/include/winternl.h b/include/winternl.h index ed0e51bae24..b96ca5c3af6 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -4426,6 +4426,7 @@ NTSYSAPI NTSTATUS WINAPI RtlFlsSetValue(ULONG,void *); NTSYSAPI NTSTATUS WINAPI RtlFormatCurrentUserKeyPath(PUNICODE_STRING); NTSYSAPI NTSTATUS WINAPI RtlFormatMessage(LPCWSTR,ULONG,BOOLEAN,BOOLEAN,BOOLEAN,__ms_va_list *,LPWSTR,ULONG,ULONG*); NTSYSAPI NTSTATUS WINAPI RtlFormatMessageEx(LPCWSTR,ULONG,BOOLEAN,BOOLEAN,BOOLEAN,__ms_va_list *,LPWSTR,ULONG,ULONG*,ULONG); +NTSYSAPI void WINAPI RtlFreeActivationContextStack(ACTIVATION_CONTEXT_STACK *); NTSYSAPI void WINAPI RtlFreeAnsiString(PANSI_STRING); NTSYSAPI BOOLEAN WINAPI RtlFreeHandle(RTL_HANDLE_TABLE *,RTL_HANDLE *); NTSYSAPI void WINAPI RtlFreeOemString(POEM_STRING);