TEXT_PROVIDER_SPECIFIC_DATA
The TEXT_PROVIDER_SPECIFIC_DATA structure is used for provider-specific data for use with SmsSendMessage and SmsReadMessage. The text provider is the most basic Short Message Service (SMS) protocol type. The content of the message is simply a text string. Note that Phase 2 fragmentation and reassembly, according to GSM specification 3.40, "Digital cellular telecommunications system (Phase 2+); Technical realization of the Short Message Service (SMS)," are supported.
typedef struct text_provider_specific_data_tag {
DWORD dwMessageOptions;
PROVIDER_SPECIFIC_MESSAGE_CLASS psMessageClass;
PROVIDER_SPECIFIC_REPLACE_OPTION psReplaceOption;
DWORD dwHeaderDataSize;
BYTE pbHeaderData[SMS_DATAGRAM_SIZE];
BOOL fMessageContainsEMSHeaders;
DWORD dwProtocolID;
} TEXT_PROVIDER_SPECIFIC_DATA;
Members
- dwMessageOptions
Indicates various text message options. For a list of possible options, see the Message option constants table in Remarks. - psMessageClass
Text Short Message Service (SMS) messages with the appropriate flag can replace previously received notifications with a similar flag and originating address. For possible values, see the PROVIDER_SPECIFIC_MESSAGE_CLASS enumeration. - psReplaceOption
Text SMS messages with the appropriate flag can replace previously received notifications with a similar flag and originating address. For possible values, see the PROVIDER_SPECIFIC_REPLACE_OPTION enumeration. - dwHeaderDataSize
The size of the header. For multi-part messages, this is the size of each segment's header. - pbHeaderData[SMS_DATAGRAM_SIZE]
The information contained in the header. For multi-part messages, only the header from the first segment is returned. The size must be zero for ordinary text messages. - fMessageContainsEMSHeaders
Flag that indicates that at least one segment of this message contains EMS headers. Only set this flag if the EMS handler is installed. This flag only applicable on incoming messages. - dwProtocolID
The Protocol Identifier (PID) of an incoming message, or the desired PID of an outgoing message. This applies to GSM only. Set to SMS_MSGPROTOCOL_UNKNOWN if psReplaceOption is not PSRO_NONE. For the complete set of possible PID constants, see the Protocol Identifier (PID) constants table in Remarks.
Remarks
Message option constants for the dwMessageOptions parameter.
Constant | Description |
---|---|
PS_MESSAGE_OPTION_NONE | Specifies that no options are being used. |
PS_MESSAGE_OPTION_REPLYPATH | Before sending, set the TP_REPLY_PATH parameter. For more information, see "GSM specification 03.40 (Annex D)" at https://www.3gpp.org/ftp/Specs/archive/03_series/03.40/. |
PS_MESSAGE_OPTION_STATUSREPORT | Before sending, set the TP_STATUS_REPORT_REQUEST parameter to request a status report for the outgoing message. For more information, see "GSM specification 03.40 (Annex D)" at https://www.3gpp.org/ftp/Specs/archive/03_series/03.40/. |
PS_MESSAGE_OPTION_DISCARD | Before sending, set the TP_DCS (Data Coding Scheme) parameter to request that the discard bit be set for the outgoing message. This option will be ignored when sending. This option is only used for message waiting indication. It is only meaningful when receiving. The discard bit indicates that the device can discard the contents of the message, and only present the message indicator in the UI. For more information, see "GSM specification 03.40 (Annex D)" at https://www.3gpp.org/ftp/Specs/archive/03_series/03.40/. |
Protocol Identifier (PID) constants for the dwProtocolID parameter.
Constant | Value |
---|---|
SMS_MSGPROTOCOL_UNKNOWN | 0x00000000 |
SMS_MSGPROTOCOL_SMETOSME | 0x00000001 |
SMS_MSGPROTOCOL_IMPLICIT | 0x00000002 |
SMS_MSGPROTOCOL_TELEX | 0x00000003 |
SMS_MSGPROTOCOL_TELEFAX_GROUP3 | 0x00000004 |
SMS_MSGPROTOCOL_TELEFAX_GROUP4 | 0x00000005 |
SMS_MSGPROTOCOL_VOICEPHONE | 0x00000006 |
SMS_MSGPROTOCOL_ERMES | 0x00000007 |
SMS_MSGPROTOCOL_PAGING | 0x00000008 |
SMS_MSGPROTOCOL_VIDEOTEX | 0x00000009 |
SMS_MSGPROTOCOL_TELETEX | 0x0000000a |
SMS_MSGPROTOCOL_TELETEX_PSPDN | 0x0000000b |
SMS_MSGPROTOCOL_TELETEX_CSPDN | 0x0000000c |
SMS_MSGPROTOCOL_TELETEX_PSTN | 0x0000000d |
SMS_MSGPROTOCOL_TELETEX_ISDN | 0x0000000e |
SMS_MSGPROTOCOL_UCI | 0x0000000f |
SMS_MSGPROTOCOL_MSGHANDLING | 0x00000010 |
SMS_MSGPROTOCOL_X400 | 0x00000011 |
SMS_MSGPROTOCOL_EMAIL | 0x00000012 |
SMS_MSGPROTOCOL_SCSPECIFIC1 | 0x00000013 |
SMS_MSGPROTOCOL_SCSPECIFIC2 | 0x00000014 |
SMS_MSGPROTOCOL_SCSPECIFIC3 | 0x00000015 |
SMS_MSGPROTOCOL_SCSPECIFIC4 | 0x00000016 |
SMS_MSGPROTOCOL_SCSPECIFIC5 | 0x00000017 |
SMS_MSGPROTOCOL_SCSPECIFIC6 | 0x00000018 |
SMS_MSGPROTOCOL_SCSPECIFIC7 | 0x00000019 |
SMS_MSGPROTOCOL_GSMSTATION | 0x0000001a |
SMS_MSGPROTOCOL_SM_TYPE0 | 0x0000001b |
SMS_MSGPROTOCOL_RSM_TYPE1 | 0x0000001c |
SMS_MSGPROTOCOL_RSM_TYPE2 | 0x0000001d |
SMS_MSGPROTOCOL_RSM_TYPE3 | 0x0000001e |
SMS_MSGPROTOCOL_RSM_TYPE4 | 0x0000001f |
SMS_MSGPROTOCOL_RSM_TYPE5 | 0x00000020 |
SMS_MSGPROTOCOL_RSM_TYPE6 | 0x00000021 |
SMS_MSGPROTOCOL_RSM_TYPE7 | 0x00000022 |
SMS_MSGPROTOCOL_RETURNCALL | 0x00000023 |
SMS_MSGPROTOCOL_ME_DOWNLOAD | 0x00000024 |
SMS_MSGPROTOCOL_DEPERSONALIZATION | 0x00000025 |
SMS_MSGPROTOCOL_SIM_DOWNLOAD | 0x00000026 |
Requirements
Smartphone: Smartphone 2002 and later
Pocket PC: Pocket PC 2002 and later
OS Versions: Windows CE 3.0 and later
Header: sms.h
Library: sms.lib
See Also
Short Message Service Structures | PROVIDER_SPECIFIC_MESSAGE_CLASS | PROVIDER_SPECIFIC_REPLACE_OPTION
Send Feedback on this topic to the authors