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

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

?? rilsimtkittext.cpp

?? ril source code for Windows CE
?? CPP
?? 第 1 頁 / 共 5 頁
字號:

    // Now we can allocate memory -- note that dwLen is the length of the text plus 1
    dwSize = ROUNDTODWORD(sizeof(SIMMENUITEM)) + ROUNDTODWORD(cbItemTextBufSize);
    m_rgpsmi[m_numpsmi] = (SIMMENUITEM *) new BYTE[dwSize];
    memset(m_rgpsmi[m_numpsmi], 0, dwSize);

    m_rgpsmi[m_numpsmi]->cbSize = dwSize;
    m_rgpsmi[m_numpsmi]->dwParams = SIM_PARAM_SIMMENUITEM_IDENTIFIER | SIM_PARAM_SIMMENUITEM_TEXTOFFSET |
                                    SIM_PARAM_SIMMENUITEM_TEXTSIZE;
    m_rgpsmi[m_numpsmi]->dwIdentifier = dwItemID;
    if (SIMTKIT_INVALID_VALUE != dwIconID)
    {
        m_rgpsmi[m_numpsmi]->dwParams |= SIM_PARAM_SIMMENUITEM_ICONID;
        m_rgpsmi[m_numpsmi]->dwIconIdentifier = dwIconID;
    }
    if (SIMTKIT_INVALID_VALUE != dwDispMode)
    {
        m_rgpsmi[m_numpsmi]->dwParams |= SIM_PARAM_SIMMENUITEM_ICONQUALIFIER;
        m_rgpsmi[m_numpsmi]->dwIconQualifier = dwDispMode;
    }
    m_rgpsmi[m_numpsmi]->dwTextSize   = cbItemTextBufSize;
    m_rgpsmi[m_numpsmi]->dwTextOffset = ROUNDTODWORD(sizeof(SIMMENUITEM));
    StringCbCopy( (TCHAR *) ((LPBYTE) m_rgpsmi[m_numpsmi] + m_rgpsmi[m_numpsmi]->dwTextOffset), cbItemTextBufSize, wszItemText );

    // Great, we added this menu item, so increase m_numpsmi
    m_numpsmi++;

Exit:
    delete[] wszItemText;

    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: -CRilSimToolkitCommand::ParseMenuItem\r\n")));

    return hr;
}


HRESULT CRilSimToolkitCommand::ParseDisplayText(BYTE* pbCmdQualifier)
{
    BYTE* pbParse;
    DWORD dwLength;
    LPWSTR wszText = NULL;
    size_t cbTextBufSize = 0;
    DWORD dwDCS;
    DWORD dwPriority;
    DWORD dwClear;
    DWORD dwIconID = SIMTKIT_INVALID_VALUE;
    DWORD dwDispMode = SIMTKIT_INVALID_VALUE;
    DWORD dwResponse = 0;
    HRESULT hr = S_OK;


    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: +CRilSimToolkitCommand::ParseDisplayText\r\n")));

    pbParse = m_lpbParse;
    dwLength = 0;

    // At this point the DisplayText notification should be in the form of:
    //
    // ,<dcs>,<text>,<priority>,<clear>[,<iconId>,<dispMode>[,<response>]]

    // ,<dcs>
    // Data encoding Scheme:
    // 0 7bit GSM default alphabet (packed)
    // 4 8bit data
    // 8 UCS2 alphabet
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwDCS, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<text>
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseEncodedText(pbParse, dwDCS, wszText, cbTextBufSize, pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<priority>
    // 0 Normal priority
    // 1 High priority
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwPriority, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<clear>
    // 0 Clear after delay
    // 1 User clears message
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwClear, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // Optional [,<iconId>,<dispMode>[,<response>]]
    if (MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse))
    {
        BOOL fKeepParsing = TRUE;

        // <iconId>
        ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwIconID, (LPCSTR&)pbParse);

        // ,
        if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse))
        {
            fKeepParsing = FALSE;
        }

        // <dispMode>
        if (fKeepParsing)
        {
            ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwDispMode, (LPCSTR&)pbParse);
        }

        // Optional: ,<response>
        if (fKeepParsing && MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse))
        {
            // <response>
            if (!ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwResponse, (LPCSTR&)pbParse))
            {
                hr = E_FAIL;
                goto Exit;
            }
        }
    }

    // <CR><LF>
    if (!ParseRspPostfix((LPCSTR)pbParse, (LPCSTR&)pbParse) )
    {
        hr = E_FAIL;
        goto Exit;
    }

    // Parsing successful, set proper values for build command functions

    // Encode the priority setting into the command qualifier field to maintain
    // SIMTKIT compatibility between different notification types.
    if (dwPriority)
    {
        *pbCmdQualifier |= SIMTKIT_TEXTPARSE_PRIORITY;
    }

    // Encode the clear setting into the command qualifier field to maintain
    // SIMTKIT compatibility between different notification types.
    if (dwClear)
    {
        *pbCmdQualifier |= SIMTKIT_TEXTPARSE_CLEAR;
    }

    if (SIMTKIT_INVALID_VALUE != dwIconID)
    {
        m_dwIconIdentifier = dwIconID;
    }

    if (SIMTKIT_INVALID_VALUE != dwDispMode)
    {
        m_dwIconQualifier = dwDispMode;
    }

    if (dwResponse)
    {
        m_fImmediateResponse = TRUE;
    }

    m_pwszText = wszText;
    m_dwTextLen = cbTextBufSize;

    DEBUGMSG(ZONE_INFO, (TEXT("RilDrv : SIMTKit: ParseDisplayText: Priority: %d clear: %d immediate: %d Text: %s\r\n"), dwPriority, dwClear, dwResponse, wszText));

Exit:
    if (FAILED(hr))
    {
        delete[] wszText;
    }
    dwLength = pbParse - m_lpbParse;
    m_lpbParse = pbParse;
    m_dwParseLen -= dwLength;

    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: -CRilSimToolkitCommand::ParseDisplayText\r\n")));

    return hr;
}


HRESULT CRilSimToolkitCommand::ParseSetupIdleModeText(void)
{
    BYTE* pbParse;
    LPWSTR wszText = NULL;
    size_t cbTextBufSize = 0;
    DWORD dwDCS;
    DWORD dwIconID = SIMTKIT_INVALID_VALUE;
    DWORD dwDispMode = SIMTKIT_INVALID_VALUE;
    DWORD dwLength;
    HRESULT hr = S_OK;


    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: +CRilSimToolkitCommand::ParseSetupIdleModeText\r\n")));

    pbParse = m_lpbParse;
    dwLength = 0;

    // At this point the SetupIdleModeText notification should be in the form of:
    //
    // ,<dcs>,<text>[,<iconId>,<dispMode>]

    // ,<dcs>
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwDCS, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<text>
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseEncodedText(pbParse, dwDCS, wszText, cbTextBufSize, pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // Optional: ,<iconId>,<dispMode>
    if (MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse))
    {
        if (!ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwIconID, (LPCSTR&)pbParse))
        {
            hr = E_FAIL;
            goto Exit;
        }

        // ,<dispMode>
        // integer: denotes use of associated icon
        // 0 display icon only (replaces any text string or alphaId)
        // 1 display with alpha Id or text string
        if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
            !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwDispMode, (LPCSTR&)pbParse))
        {
            hr = E_FAIL;
            goto Exit;
        }
    }

    // <CR><LF>
    if (!ParseRspPostfix((LPCSTR)pbParse, (LPCSTR&)pbParse) )
    {
        hr = E_FAIL;
        goto Exit;
    }

    // Parsing successful, set proper values for build command functions

    m_pwszText = wszText;
    m_dwTextLen = cbTextBufSize;

    if (SIMTKIT_INVALID_VALUE != dwIconID)
    {
        m_dwIconIdentifier = dwIconID;
    }

    if (SIMTKIT_INVALID_VALUE != dwDispMode)
    {
        m_dwIconQualifier = dwDispMode;
    }

Exit:
    if (FAILED(hr))
    {
        delete[] wszText;
    }
    dwLength = pbParse - m_lpbParse;
    m_lpbParse = pbParse;
    m_dwParseLen -= dwLength;

    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: -CRilSimToolkitCommand::ParseSetupIdleModeText\r\n")));
    return hr;
}


HRESULT CRilSimToolkitCommand::ParseGetInKey(BYTE* pbCmdQualifier)
{
    BYTE* pbParse;
    DWORD dwLength;
    DWORD dwDCS;
    DWORD dwResponse;
    DWORD dwHelpInfo;
    DWORD dwIconID = SIMTKIT_INVALID_VALUE;
    DWORD dwDispMode = SIMTKIT_INVALID_VALUE;
    LPWSTR wszText = NULL;
    size_t cbTextBufSize = 0;
    HRESULT hr = S_OK;


    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: +CRilSimToolkitCommand::ParseGetInKey\r\n")));

    pbParse = m_lpbParse;
    dwLength = 0;

    // At this point the GetInKey notification should be in the form of:
    //
    // ,<dcs>,<text>,<response>,<helpInfo>[,<iconId>,<dispMode>]


    // ,<dcs>
    // Data encoding Scheme:
    // 0 7bit GSM default alphabet (packed)
    // 4 8bit data
    // 8 UCS2 alphabet
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwDCS, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<text>
    // Must manage returned memory
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseEncodedText(pbParse, dwDCS, wszText, cbTextBufSize, pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<response>
    // integer: expected response character format.
    // Digits (0-9, *, # and +) only
    // SMS default alphabet
    // UCS2 alphabet
    // Yes/No response only
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwResponse, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // ,<helpInfo>
    if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
        !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwHelpInfo, (LPCSTR&)pbParse))
    {
        hr = E_FAIL;
        goto Exit;
    }

    // Optional:
    //[,<iconId>,<dispMode>]
    if (MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse))
    {
        // <iconID>
        if (!ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwIconID, (LPCSTR&)pbParse))
        {
            hr = E_FAIL;
            goto Exit;
        }

        // ,<dispMode>
        if (!MatchStringBeginning((LPCSTR)pbParse, ",", (LPCSTR&)pbParse) ||
            !ParseDWord((LPCSTR)pbParse, SIMTKIT_TEXTPARSE_PARSE_NOLEADINGZERO, dwDispMode, (LPCSTR&)pbParse))
        {
            hr = E_FAIL;
            goto Exit;
        }
    }

    // <CR><LF>
    if (!ParseRspPostfix((LPCSTR)pbParse, (LPCSTR&)pbParse) )
    {
        hr = E_FAIL;
        goto Exit;
    }

    // Parsing successful, set proper values for build command functions

    switch (dwResponse)
    {
        case SIMTKIT_TEXTPARSE_GETINKEY_DIGITS:
            *pbCmdQualifier |= SIMTKIT_TEXTPARSE_INPUT_KEYPADDIGITS;
            break;
        case SIMTKIT_TEXTPARSE_GETINKEY_PACKED:
            *pbCmdQualifier |= SIMTKIT_TEXTPARSE_INPUT_SMDEFAULTALPHABET;
            break;
        case SIMTKIT_TEXTPARSE_GETINKEY_UCS:
            *pbCmdQualifier |= SIMTKIT_TEXTPARSE_INPUT_UCS2;
            break;
        case SIMTKIT_TEXTPARSE_GETINKEY_YESNO:
            *pbCmdQualifier |= SIMTKIT_TEXTPARSE_YESNO;
            break;
        default:
            break;
    }

    if (dwHelpInfo)
    {
        *pbCmdQualifier |= SIMTKIT_TEXTPARSE_HELPINFO;
    }

    m_pwszText = wszText;
    m_dwTextLen = cbTextBufSize;

    if (SIMTKIT_INVALID_VALUE != dwIconID)
    {
        m_dwIconIdentifier = dwIconID;
    }

    if (SIMTKIT_INVALID_VALUE != dwDispMode)
    {
        m_dwIconQualifier = dwDispMode;
    }

Exit:
    if (FAILED(hr))
    {
        delete[] wszText;
    }
    dwLength = pbParse - m_lpbParse;
    m_lpbParse = pbParse;
    m_dwParseLen -= dwLength;

    DEBUGMSG(ZONE_FUNCTION, (TEXT("RilDrv : SIMTKit: -CRilSimToolkitCommand::ParseGetInKey\r\n")));
    return hr;
}


HRESULT CRilSimToolkitCommand::ParseGetInput(BYTE* pbCmdQualifier)
{
    BYTE* pbParse;
    DWORD dwLength;
    DWORD dwDCS;
    DWORD dwResponse;
    DWORD dwEcho;
    DWORD dwMinLength;
    DWORD dwMaxLength;
    DWORD dwHelpInfo;
    DWORD dwIconID = SIMTKIT_INVALID_VALUE;
    DWORD dwDispMode = SIMTKIT_INVALID_VALUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美电影一区二区| 91丝袜国产在线播放| 欧美精品黑人性xxxx| 午夜激情久久久| 日韩一区二区三区精品视频| 久久超碰97中文字幕| 亚洲精品一线二线三线| 成人av在线资源网| 亚洲情趣在线观看| 欧美日韩电影一区| 蜜臀av性久久久久蜜臀av麻豆| 日韩视频免费直播| 国产ts人妖一区二区| 亚洲精品乱码久久久久久| 欧美揉bbbbb揉bbbbb| 免费成人你懂的| 久久日韩精品一区二区五区| 高清日韩电视剧大全免费| 亚洲激情校园春色| 制服丝袜激情欧洲亚洲| 国产成人亚洲综合a∨婷婷| 亚洲狼人国产精品| 日韩亚洲电影在线| 成+人+亚洲+综合天堂| 日韩主播视频在线| 国产精品久久午夜| 7777精品久久久大香线蕉| 国产成人精品一区二| 亚洲国产视频在线| 久久理论电影网| 欧美日韩免费电影| 成人一区二区三区中文字幕| 亚洲高清三级视频| 国产欧美日韩综合| 欧美巨大另类极品videosbest| 国产精品一二三四五| 午夜精品在线看| 国产精品蜜臀在线观看| 欧美一级黄色大片| 91免费视频大全| 国产在线不卡一卡二卡三卡四卡| 伊人婷婷欧美激情| 久久精品综合网| 日韩欧美国产系列| 在线观看亚洲一区| 大陆成人av片| 麻豆一区二区在线| 亚洲成人tv网| 综合在线观看色| 亚洲黄色小视频| 国产91精品在线观看| 亚洲欧美成人一区二区三区| 色婷婷精品久久二区二区蜜臂av| 亚洲视频图片小说| 欧美午夜寂寞影院| 视频一区视频二区中文| 日韩一区二区三区精品视频| 精品一区二区三区久久久| 精品欧美一区二区久久| 国产经典欧美精品| 狠狠色丁香久久婷婷综合_中 | 日韩一区二区在线观看视频播放| 亚洲美女屁股眼交3| 欧美性受xxxx黑人xyx| 老司机午夜精品| 国产精品视频第一区| 欧美日韩二区三区| 国产精品一二三| 无码av免费一区二区三区试看| 欧美va日韩va| 色综合久久88色综合天天免费| 日韩av电影免费观看高清完整版在线观看 | 国产老妇另类xxxxx| 国产精品家庭影院| 91精品国产一区二区三区蜜臀| 国内外成人在线| 亚洲综合色自拍一区| 国产婷婷色一区二区三区在线| 在线观看一区日韩| 国产成人av电影在线| 亚洲综合久久av| 欧美激情资源网| 日韩欧美一级二级三级久久久| 成人av在线播放网址| 另类综合日韩欧美亚洲| 亚洲丝袜精品丝袜在线| 精品国产一区二区三区忘忧草| 日本高清成人免费播放| 国产乱子轮精品视频| 视频一区二区国产| 一区二区三区在线高清| 久久精品亚洲一区二区三区浴池| 在线观看不卡视频| 99在线热播精品免费| 久久精品国产999大香线蕉| 亚洲二区在线视频| 亚洲欧美日韩国产成人精品影院 | 欧美韩国一区二区| 精品国产三级电影在线观看| 欧美日韩一区二区欧美激情| 色婷婷综合视频在线观看| 北岛玲一区二区三区四区| 国产99久久久国产精品潘金| 激情伊人五月天久久综合| 久久成人综合网| 免费黄网站欧美| 久久精品国产亚洲一区二区三区| 亚洲成a人片在线不卡一二三区| 亚洲欧美日韩电影| 亚洲人妖av一区二区| 国产精品二区一区二区aⅴ污介绍| 国产午夜一区二区三区| 国产欧美日韩三区| 国产日本一区二区| 中文字幕不卡三区| 国产精品国产三级国产三级人妇 | 一本色道久久综合狠狠躁的推荐| 成人性生交大片免费看在线播放 | 中文字幕欧美日韩一区| 久久久电影一区二区三区| 国产视频一区二区在线观看| 久久先锋资源网| 国产日韩欧美a| 成人欧美一区二区三区白人| 综合婷婷亚洲小说| 一区二区久久久久久| 亚洲香肠在线观看| 日本特黄久久久高潮 | 亚洲成人av一区| 日韩精品高清不卡| 国内精品久久久久影院薰衣草 | 欧美日韩精品一区二区天天拍小说| 91久久久免费一区二区| 欧美日韩在线综合| 欧美mv日韩mv亚洲| 国产亚洲女人久久久久毛片| 国产精品乱人伦中文| 亚洲午夜久久久| 久久99最新地址| 成人黄色777网| 欧美在线高清视频| 337p日本欧洲亚洲大胆精品| 亚洲国产高清aⅴ视频| 亚洲午夜免费福利视频| 久久97超碰色| 99久久国产综合精品麻豆| 欧美日韩一区高清| 精品电影一区二区| 亚洲综合免费观看高清完整版在线| 欧美aaaaaa午夜精品| 成人激情动漫在线观看| 欧美精品aⅴ在线视频| 久久精品夜色噜噜亚洲aⅴ| 一区二区不卡在线播放| 精品一区二区免费| 色狠狠色噜噜噜综合网| 欧美xxxxx牲另类人与| 中文字幕一区二区三区蜜月| 日韩成人av影视| 91亚洲国产成人精品一区二区三| 日韩免费福利电影在线观看| 亚洲精选在线视频| 国产一区二区三区四区在线观看| 91年精品国产| 国产欧美日韩精品一区| 日韩成人午夜电影| 色系网站成人免费| 欧美极品另类videosde| 午夜精品久久久久久久| av资源站一区| 久久久精品蜜桃| 麻豆精品国产91久久久久久| 欧美性猛交xxxxxx富婆| 自拍av一区二区三区| 国产精品亚洲视频| 日韩欧美一级精品久久| 亚洲成人精品在线观看| 99久久综合狠狠综合久久| 欧美tk—视频vk| 免费成人小视频| 911精品产国品一二三产区| 亚洲乱码中文字幕| 波多野结衣在线aⅴ中文字幕不卡| 精品国产乱码久久久久久久| 日本特黄久久久高潮| 欧美巨大另类极品videosbest | 伊人一区二区三区| 91在线观看成人| 国产精品丝袜久久久久久app| 国产美女一区二区三区| 精品国内二区三区| 狠狠色丁香婷综合久久| 精品国产凹凸成av人导航| 奇米综合一区二区三区精品视频| 欧美福利视频导航| 欧美bbbbb| 日韩丝袜情趣美女图片| 蜜桃一区二区三区在线观看| 欧美一区二区在线免费观看| 日本不卡一区二区三区高清视频|