亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chandler.c

?? wince3.0的源碼
?? C
字號:
/*++

Copyright (c) 1990-2000 Microsoft Corporation.  All rights reserved.

Module Name:

    chandler.c

Abstract:

    This module implements the C specific exception handler that provides
    structured condition handling for the C language.
--*/

#include "kernel.h"
#include "excpt.h"

//
// Define procedure prototypes for exception filter and termination handler
// execution routines defined in jmpunwnd.s
//

long __C_ExecuteExceptionFilter(PEXCEPTION_POINTERS ExceptionPointers, EXCEPTION_FILTER ExceptionFilter,
	ULONG EstablisherFrame);

void __C_ExecuteTerminationHandler(BOOLEAN AbnormalTermination, TERMINATION_HANDLER TerminationHandler,
	ULONG EstablisherFrame);

/*++
Routine Description:
    This function scans the scope tables associated with the specified
    procedure and calls exception and termination handlers as necessary.

Arguments:
    ExceptionRecord - Supplies a pointer to an exception record.

    EstablisherFrame - Supplies a pointer to frame of the establisher function.

    ContextRecord - Supplies a pointer to a context record.

    DispatcherContext - Supplies a pointer to the exception dispatcher or
        unwind dispatcher context.

Return Value:
    If the exception is handled by one of the exception filter routines, then
    there is no return from this routine and RtlUnwind is called. Otherwise,
    an exception disposition value of continue execution or continue search is
    returned.
--*/
EXCEPTION_DISPOSITION __C_specific_handler(PEXCEPTION_RECORD ExceptionRecord, PVOID EstablisherFrame,
	PCONTEXT ContextRecord, PDISPATCHER_CONTEXT DispatcherContext) {
    ULONG ControlPc;
    EXCEPTION_FILTER ExceptionFilter;
    EXCEPTION_POINTERS ExceptionPointers;
    PRUNTIME_FUNCTION FunctionEntry;
    ULONG Index;
    PSCOPE_TABLE ScopeTable;
    ULONG TargetPc;
    TERMINATION_HANDLER TerminationHandler;
    LONG Value;

    // Get address of where control left the establisher, the address of the
    // function table entry that describes the function, and the address of
    // the scope table.
    ControlPc = DispatcherContext->ControlPc;
    FunctionEntry = DispatcherContext->FunctionEntry;
    ScopeTable = (PSCOPE_TABLE)(FunctionEntry->HandlerData);

    // If an unwind is not in progress, then scan the scope table and call
    // the appropriate exception filter routines. Otherwise, scan the scope
    // table and call the appropriate termination handlers using the target
    // PC obtained from the context record.
    // are called.
    if (IS_DISPATCHING(ExceptionRecord->ExceptionFlags)) {
        // Scan the scope table and call the appropriate exception filter
        // routines.
        ExceptionPointers.ExceptionRecord = ExceptionRecord;
        ExceptionPointers.ContextRecord = ContextRecord;
        for (Index = 0; Index < ScopeTable->Count; Index += 1) {
            if ((ControlPc >= ScopeTable->ScopeRecord[Index].BeginAddress) &&
	        		(ControlPc < ScopeTable->ScopeRecord[Index].EndAddress) &&
	                (ScopeTable->ScopeRecord[Index].JumpTarget != 0)) {
                // Call the exception filter routine.
                ExceptionFilter =
                    (EXCEPTION_FILTER)ScopeTable->ScopeRecord[Index].HandlerAddress;
                Value = __C_ExecuteExceptionFilter(&ExceptionPointers,
                                                   ExceptionFilter,
                                                   (ULONG)EstablisherFrame);
                // If the return value is less than zero, then dismiss the
                // exception. Otherwise, if the value is greater than zero,
                // then unwind to the target exception handler. Otherwise,
                // continue the search for an exception filter.
                if (Value < 0) {
                    return ExceptionContinueExecution;

                } else if (Value > 0) {
                	DispatcherContext->ControlPc = ScopeTable->ScopeRecord[Index].JumpTarget;
                	return ExceptionExecuteHandler;
                }
            }
        }
    } else {
        // Scan the scope table and call the appropriate termination handler
        // routines.
        TargetPc = CONTEXT_TO_PROGRAM_COUNTER(ContextRecord);
        for (Index = 0; Index < ScopeTable->Count; Index += 1) {
            if ((ControlPc >= ScopeTable->ScopeRecord[Index].BeginAddress) &&
                	(ControlPc < ScopeTable->ScopeRecord[Index].EndAddress)) {
                // If the target PC is within the same scope the control PC
                // is within, then this is an uplevel goto out of an inner try
                // scope or a long jump back into a try scope. Terminate the
                // scan termination handlers.
                //
                // N.B. The target PC can be just beyond the end of the scope,
                //      in which case it is a leave from the scope.
                if (TargetPc >= ScopeTable->ScopeRecord[Index].BeginAddress &&
                   		TargetPc < ScopeTable->ScopeRecord[Index].EndAddress) {
                    break;

                } else {
                    // If the scope table entry describes an exception filter
                    // and the associated exception handler is the target of
                    // the unwind, then terminate the scan for termination
                    // handlers. Otherwise, if the scope table entry describes
                    // a termination handler, then record the address of the
                    // end of the scope as the new control PC address and call
                    // the termination handler.
                    if (ScopeTable->ScopeRecord[Index].JumpTarget != 0) {
                        if (TargetPc == ScopeTable->ScopeRecord[Index].JumpTarget)
                            break;
                    } else {
                        DispatcherContext->ControlPc =
                                ScopeTable->ScopeRecord[Index].EndAddress + 4;
                        TerminationHandler =
                            (TERMINATION_HANDLER)ScopeTable->ScopeRecord[Index].HandlerAddress;
                        __C_ExecuteTerminationHandler(TRUE,
                                                      TerminationHandler,
                                                      (ULONG)EstablisherFrame);
                    }
                }
            }
        }
    }

    // Continue search for exception or termination handlers.
    return ExceptionContinueSearch;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色免费短视频| 国产亚洲视频系列| 国产原创一区二区| 亚洲黄色在线视频| 精品福利一区二区三区免费视频| 国产成人精品亚洲午夜麻豆| 一区二区三区在线视频免费| 91精品国产高清一区二区三区蜜臀| 国产精品资源在线看| 久久精品夜色噜噜亚洲aⅴ| 色综合久久综合网97色综合| 国产麻豆一精品一av一免费| 日韩中文字幕1| 伊人婷婷欧美激情| 国产精品国产精品国产专区不蜜| 精品国产第一区二区三区观看体验 | 国产精品久久久久久久久免费相片| 欧美日韩在线播放三区四区| www.99精品| 成人黄色电影在线| 国产91精品露脸国语对白| 久久成人免费电影| 麻豆精品视频在线观看免费| 亚洲成人av福利| 五月天网站亚洲| 五月激情六月综合| 日韩精品福利网| 视频一区二区欧美| 精品在线你懂的| 国产一区二区三区免费观看| 国产成人免费在线观看不卡| 久久狠狠亚洲综合| 国产一区二区0| 91视频免费观看| 91精品国产综合久久精品app| 欧美日韩一级二级三级| 精品国产三级电影在线观看| 久久蜜桃av一区二区天堂| 久久麻豆一区二区| 亚洲欧美另类久久久精品2019| 亚洲在线视频免费观看| 免费成人美女在线观看.| 国产福利一区在线观看| 欧美视频中文一区二区三区在线观看 | 欧美日韩精品一区二区三区四区 | 国产精品成人午夜| 天堂一区二区在线免费观看| 国产伦精一区二区三区| 欧美午夜精品久久久久久孕妇| 日韩一级免费一区| 国产精品丝袜久久久久久app| 无码av免费一区二区三区试看 | 欧美日韩国产综合视频在线观看| 久久久国产精品不卡| 婷婷国产在线综合| 色就色 综合激情| 国产精品欧美一区二区三区| 国产在线一区观看| 日韩精品一区在线| 青青青爽久久午夜综合久久午夜| 91丨九色porny丨蝌蚪| 欧美激情一区二区三区不卡| 国产一区二区免费在线| 日韩女优电影在线观看| 理论电影国产精品| 久久久亚洲午夜电影| 国产精品综合一区二区三区| 69堂成人精品免费视频| 亚洲成人激情av| 欧美一级免费大片| 麻豆精品视频在线观看| 久久久午夜精品| 色呦呦日韩精品| 秋霞午夜鲁丝一区二区老狼| 欧美一区二区黄色| 精品无人码麻豆乱码1区2区| 欧美经典一区二区三区| 91黄色激情网站| 久久99久久精品欧美| 国产精品久久久久久久久久久免费看 | 国产成人在线观看免费网站| 中文字幕一区二区日韩精品绯色| 成a人片国产精品| 亚洲va天堂va国产va久| 精品国产乱码久久久久久久| 91啪在线观看| 精品一二三四在线| 亚洲一级二级在线| 久久久久久一级片| 在线观看日韩一区| 成人免费看片app下载| 香蕉成人伊视频在线观看| 国产日韩欧美亚洲| 欧美一区二区视频在线观看2022| 成人午夜看片网址| 极品美女销魂一区二区三区| 亚洲妇女屁股眼交7| 亚洲视频图片小说| 国产精品欧美一区二区三区| 欧美电视剧免费全集观看 | 欧美日产在线观看| 欧洲一区在线观看| 91美女蜜桃在线| 99免费精品视频| 国产·精品毛片| 国产高清久久久久| 加勒比av一区二区| 玖玖九九国产精品| 国产成人精品三级麻豆| 国产91在线|亚洲| 不卡的av网站| 91黄色在线观看| 欧美人妖巨大在线| 日韩午夜在线影院| 国产蜜臀97一区二区三区 | 国产欧美日本一区视频| 中文字幕中文字幕在线一区 | 一本一道久久a久久精品| 色婷婷久久久综合中文字幕| 欧美日韩国产三级| www国产成人| 亚洲乱码中文字幕综合| 性感美女久久精品| 国产精品一区二区果冻传媒| 99久久综合国产精品| 欧美高清视频www夜色资源网| 精品日韩在线观看| 亚洲欧洲www| 欧美aⅴ一区二区三区视频| 国产一区二区在线看| 欧美色爱综合网| 久久久综合视频| 日韩精品1区2区3区| 国产成人久久精品77777最新版本| 91成人在线免费观看| 91精品国产91久久久久久最新毛片 | 亚洲人成网站在线| 国内久久精品视频| 日韩欧美专区在线| 亚洲一二三四区不卡| 不卡一区在线观看| 中文成人av在线| 久久99精品久久久久久国产越南| 欧美日韩三级在线| 亚洲第一会所有码转帖| 91久久线看在观草草青青| 国产精品久久网站| aaa亚洲精品一二三区| 国产无人区一区二区三区| 看电视剧不卡顿的网站| 久久夜色精品国产欧美乱极品| 久久综合综合久久综合| 久久久综合视频| 成人av免费网站| 亚洲精品日产精品乱码不卡| 在线免费亚洲电影| 欧美aaaaa成人免费观看视频| 欧美日韩一区二区不卡| 日韩激情一二三区| 欧美tickling挠脚心丨vk| 狠狠久久亚洲欧美| 国产日产欧美一区| 色视频一区二区| 奇米精品一区二区三区在线观看 | 久久久久久久精| jlzzjlzz欧美大全| 日本不卡123| 国产精品视频yy9299一区| 欧美在线观看一二区| 国产伦精品一区二区三区视频青涩 | 国产精品天干天干在线综合| 在线亚洲高清视频| 国产九色精品成人porny| 亚洲视频在线观看一区| 日韩欧美的一区| 欧美三级资源在线| 成人激情av网| 久久av中文字幕片| 亚洲综合丝袜美腿| 中文字幕综合网| 国产精品第五页| 中文字幕第一区| 久久久久国产精品厨房| 欧美福利一区二区| 在线视频国内一区二区| 成人av中文字幕| 成人精品在线视频观看| 国产精品一区久久久久| 精品一区精品二区高清| 另类小说一区二区三区| 麻豆专区一区二区三区四区五区| 亚洲色欲色欲www在线观看| 国产精品区一区二区三| 国产精品麻豆欧美日韩ww| 精品乱人伦一区二区三区| 日韩欧美国产小视频| 久久综合丝袜日本网| 欧美国产1区2区| 一区二区三区在线影院| 日韩中文字幕av电影|