MethodDesc * pProfilerNotify; // Context for profiler callbacks -- see COMPlusFrameHandler().
BOOL bReplaceStack; // Used to pass info to SaveStackTrace call
BOOL bSkipLastElement;// Used to pass info to SaveStackTrace call
+#ifndef FEATURE_PAL
HANDLE hCallerToken;
HANDLE hImpersonationToken;
BOOL bImpersonationTokenSet;
+#endif // !FEATURE_PAL
#ifdef _DEBUG
void * pCurrentExceptionRecord;
void * pPrevExceptionRecord;
pProfilerNotify = NULL;
bReplaceStack = FALSE;
bSkipLastElement = FALSE;
+#ifndef FEATURE_PAL
hCallerToken = NULL;
hImpersonationToken = NULL;
bImpersonationTokenSet = FALSE;
+#endif // !FEATURE_PAL
#ifdef _DEBUG
pCurrentExceptionRecord = 0;
pData->bSkipLastElement = FALSE;
}
+#ifndef FEATURE_PAL
// Check for any impersonation on the frame and save that for use during EH filter callbacks
OBJECTREF* pRefSecDesc = pCf->GetAddrOfSecurityObject();
if (pRefSecDesc != NULL && *pRefSecDesc != NULL)
}
}
}
+#endif // !FEATURE_PAL
// now we've got the stack trace, if we aren't allowed to catch this and we're first pass, return
if (pData->bDontCatch)
LIMITED_METHOD_CONTRACT;
m_declSecComputed = !!declSec;
}
+#ifndef FEATURE_PAL
LPVOID GetCallerToken();
LPVOID GetImpersonationToken();
+#endif // FEATURE_PAL
};
#ifdef FEATURE_COMPRESSEDSTACK