📄 rilsimtkit.h
字号:
HRESULT ParseSetupIdleModeText(void);
HRESULT ParseUnsolicitedData(void);
HRESULT ParseRefresh(BYTE* pbCmdQualifier);
HRESULT ParseEventList(void);
HRESULT ParseLaunchBrowser(BYTE* pbCmdQualifier);
HRESULT ParseProvisionFile(LPBYTE& rpbParse);
HRESULT ParseReceiveData(void);
HRESULT ParseSendData(void);
HRESULT ParseLanguageNotification(void);
// Functions to read each TLV
HRESULT ReadDuration();
HRESULT ReadMenuItem();
HRESULT ReadNextAction();
HRESULT ReadItemIdentifier();
HRESULT ReadResponseLength();
HRESULT ReadSubAddress();
HRESULT ReadCapability();
HRESULT ReadFileList();
HRESULT ReadProvisionFileList();
HRESULT ReadBufferSize();
HRESULT ReadTransportLevel();
HRESULT ReadIconIdentifierList();
HRESULT ReadImmediate();
HRESULT ReadDTMF();
HRESULT ReadTone() { ASSERT(m_dwTone == SIMTONE_DEFAULT); return ReadCommonByte(&m_dwTone); }
HRESULT ReadBrowserIdentity() { return ReadCommonByte(&m_dwBrowserId); }
HRESULT ReadChannelDataLength() { return ReadCommonByte(&m_dwChannelDataLength); }
HRESULT ReadTPDU() { return ReadCommonByteList(&m_lpbTPDU, &m_dwTPDULen); }
HRESULT ReadEventList() { return ReadCommonByteList(&m_lpbEventList, &m_dwEventListLen); }
HRESULT ReadBearer() { return ReadCommonByteList(&m_lpbBearer, &m_dwBearerLen); }
HRESULT ReadChannelData() { return ReadCommonByteList(&m_lpbChannelData, &m_dwChannelDataLen); }
HRESULT ReadBearerDescription() { return ReadCommonByteAndByteList( &m_dwBearerDescType, &m_lpbBearerDesc, &m_dwBearerDescLen); }
HRESULT ReadAddress() { return ReadDialNumberString(&m_pwszAddress, &m_dwAddressLen); }
HRESULT ReadShortString() { return ReadDialNumberString(&m_pwszUSSD, &m_dwUSSDLen); }
HRESULT ReadTextString() { return ReadCommonTextString(&m_pwszText, &m_dwTextLen); }
HRESULT ReadDefaultTextString() { return ReadCommonTextString(&m_pwszDefaultText, &m_dwDefaultTextLen); }
HRESULT ReadUSSD() { return ReadCommonTextString(&m_pwszUSSD, &m_dwUSSDLen); }
HRESULT ReadLanguage() { return ReadCommonEFADNText(&m_pwszLanguage, &m_dwLanguageLen); }
HRESULT ReadAlphaIdentifier() { return ReadCommonEFADNText(&m_pwszAlphaId, &m_dwAlphaIdLen); }
HRESULT ReadURL() { return ReadCommonEFADNText(&m_pwszURL, &m_dwURLLen); }
HRESULT ReadATCommand() { return ReadCommonEFADNText(&m_pwszText, &m_dwTextLen); }
HRESULT ReadAlphaIdentifier2() { return ReadCommonEFADNText(&m_pwszAlphaId2, &m_dwAlphaId2Len); }
HRESULT ReadIconIdentifier() { return ReadCommonIconIdentifier(&m_dwIconIdentifier, &m_dwIconQualifier); }
HRESULT ReadIconIdentifier2() { return ReadCommonIconIdentifier(&m_dwIconIdentifier2, &m_dwIconQualifier2); }
// Once we've parsed, we need to build up our structures
HRESULT BuildSIMPOLLINGINTERVAL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMLOCALINFO(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMCALL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMTONE(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMTEXT(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMMENU(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMREFRESH(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMUSSD(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMSMS(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMEVENTLIST(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMLAUNCHBROWSER(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMSENDDTMF(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMOPENCHANNEL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMCLOSECHANNEL(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMSENDDATA(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMRECEIVEDATA(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMLANGUAGE(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
HRESULT BuildSIMRUNATCMD(DWORD dwNotifyCode, BYTE bCmdQualifier, LPBYTE *ppbResult, DWORD *lpdwSize);
// Functions to parse Open Channel byte commands
HRESULT ByteParseOpenChannelCS(DWORD* pdwRetVal);
HRESULT ByteParseOpenChannelGPRS(DWORD* pdwRetVal);
// Members
WORD m_fTextNotifications:1;
// Variables for parsing a command
LPBYTE m_lpbParse;
DWORD m_dwParseLen;
TCHAR *m_pwszAlphaId;
DWORD m_dwAlphaIdLen;
TCHAR *m_pwszText;
DWORD m_dwTextLen;
TCHAR *m_pwszDefaultText;
DWORD m_dwDefaultTextLen;
TCHAR *m_pwszAddress;
DWORD m_dwAddressLen;
TCHAR *m_pwszSubAddr;
DWORD m_dwSubAddrLen;
TCHAR *m_pwszUSSD;
DWORD m_dwUSSDLen;
BYTE *m_lpbTPDU;
BYTE *m_lpbEventList;
DWORD *m_pdwFiles;
DWORD m_dwTPDULen;
DWORD m_dwEventListLen;
DWORD m_dwNumFiles;
DWORD m_dwDuration;
DWORD m_dwDuration2;
DWORD m_dwTone;
DWORD m_dwMinResponse;
DWORD m_dwMaxResponse;
DWORD m_dwItemId;
LPSIMMENUITEM *m_rgpsmi;
DWORD m_numpsmi;
DWORD m_dwNumPlan;
DWORD m_dwAddrType;
DWORD m_dwBrowserId;
TCHAR *m_pwszURL;
DWORD m_dwURLLen;
BYTE *m_lpbBearer;
DWORD m_dwBearerLen;
LPSIMFILEREFERENCE *m_rgpsfr;
DWORD m_numpsfr;
TCHAR *m_pwszDTMF;
DWORD m_dwDTMFLen;
BYTE *m_lpbChannelData;
DWORD m_dwChannelDataLen;
DWORD m_dwChannelDataLength;
DWORD m_dwDeviceSrcId;
DWORD m_dwDeviceDestId;
TCHAR *m_pwszLanguage;
DWORD m_dwLanguageLen;
DWORD m_dwLocalAddrType;
BYTE* m_lpbLocalAddr;
DWORD m_dwLocalAddrLen;
DWORD m_dwDestAddrType;
BYTE* m_lpbDestAddr;
DWORD m_dwDestAddrLen;
TCHAR* m_pwszLogin;
DWORD m_dwLoginLen;
TCHAR* m_pwszPassword;
DWORD m_dwPasswordLen;
DWORD m_dwBearerDescType;
BYTE* m_lpbBearerDesc;
DWORD m_dwBearerDescLen;
DWORD m_dwBufferSize;
DWORD m_dwProtocolType;
DWORD m_dwPortNum;
BYTE* m_lpbAccessName;
DWORD m_dwAccessNameLen;
BOOL m_fImmediateResponse;
DWORD m_dwIconIdentifier;
DWORD m_dwIconQualifier;
TCHAR *m_pwszAlphaId2;
DWORD m_dwAlphaId2Len;
DWORD m_dwIconIdentifier2;
DWORD m_dwIconQualifier2;
};
class CRilSimToolkitResponse
{
public:
CRilSimToolkitResponse();
~CRilSimToolkitResponse();
HRESULT CreateResponse(const RILSIMTOOLKITRSP* pRsp, LPBYTE pDetails, const DWORD dwDetailSize, LPSTR* pszDataRsp, DWORD *pdwDataRspSize );
HRESULT CreateEventDownload(const DWORD dwEvent, const LPBYTE pData, const DWORD dwDataSize, LPSTR* szDataRsp, DWORD *pdwDataRspSize);
private:
// Byte style responses
HRESULT ByteFormatResponse(const RILSIMTOOLKITRSP* pRsp, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_bcount( *pdwDataRspSize ) LPBYTE pbDataRsp, DWORD *pdwDataRspSize);
HRESULT ByteEventDownload(const DWORD dwEvent, const LPBYTE pData, const DWORD dwDataSize, __inout_bcount( *pdwDataRspSize ) LPBYTE pbDataRsp, DWORD *pdwDataRspSize);
// Text style responses
HRESULT TextFormatResponse(const RILSIMTOOLKITRSP* pRsp, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwDataRspSize ) LPBYTE pbDataRsp, DWORD *pdwDataRspSize);
HRESULT TextEventDownload(const DWORD dwEvent, const LPBYTE pData, const DWORD dwDataSize, __inout_ecount( *pdwDataRspSize ) LPSTR szDataRsp, DWORD *pdwDataRspSize);
HRESULT SetupMenuResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT SetupMenuReply(DWORD dwResponse, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT SelectItemResponse(DWORD dwResponse, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT DisplayTextResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT GetInputResponse(const RILSIMTOOLKITRSP* pRsp, const LPBYTE pDetails, const DWORD dwDetailSize, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT PlayToneResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT SetupIdleModeTextResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT SetupCallResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT EventListResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT LaunchBrowserResponse(const RILSIMTOOLKITRSP* pRsp, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT OpenChannelResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
HRESULT SendDTMFResponse(DWORD dwResponse, __inout_ecount( *pdwSize ) BYTE* pbBuffer, DWORD* pdwSize);
BOOL m_fTextFormat;
};
class CRilSTKTerminalProfile
{
public:
CRilSTKTerminalProfile();
~CRilSTKTerminalProfile();
BOOL InitializeDefault(void);
LPCSTR GetText(void);
BOOL SetByte(const BYTE *pbValue, const DWORD dwSize);
const LPBYTE GetByte(void);
DWORD GetSize(void);
private:
LPSTR m_szProfileText; // Stores ANSI text version of terminal profile
BYTE* m_pbProfile; // Byte buffer of terminal profile
DWORD m_dwProfileSize; // Size in bytes of terminal profile
BOOL SetTerminalProfile(const BYTE *pbValue, const DWORD dwSize);
BOOL SetDefaultTerminalProfile(void);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -