CHANGE_PROP_TYPE (Compact 7)
3/12/2014
The CHANGE_PROP_TYPE macro returns the property tag with an updated property type; the input parameter of the property identifier is unchanged.
Syntax
CHANGE_PROP_TYPE (ulPropTag, ulPropType)
Parameters
- ulPropTag
The property tag to be modified.
- ulPropType
The new value for the property type.
Code Example
The following code example demonstrates how using CHANGE_PROP_TYPE allows you to send UNICODE characters in SMS messages.
Note
To make the following code example easier to read, security checking and error handling are not included. This code example should not be used in a release configuration unless it has been modified to include them.
HRESULT SMS_SetMsgProps(LPMESSAGE pmsg, LPWSTR pText, IMsgStore* pMsgStore)
{
HRESULT hr;
LPSPropTagArray ptagArray = NULL;
MAPINAMEID rgMapiNames[] = { { const_cast<GUID *> (&PS_MAPI), MNID_STRING, const_cast<LPWSTR>(L"SMS:Unicode") } };
SPropValue props[2];
// determine the property tag ID for configuring whether an SMS message is UNICODE
hr = pMsgStore->GetIDsFromNames(sizeof(rgMapiNames) / sizeof(rgMapiNames[0]), &rgMapiNames, MAPI_CREATE, &ptagArray);
// error handling here if hr < 0
ZeroMemory(&props, sizeof(props));
// Set Message content using PR_SUBJECT_W for Unicode Support
props[0].ulPropTag = PR_SUBJECT_W;
props[0].Value.lpszW = pText;
props[1].ulPropTag = CHANGE_PROP_TYPE (ptagArray->aulPropTag[0], PT_BOOLEAN);
props[1].Value.b = TRUE;
hr = pmsg->SetProps(sizeof(props) / sizeof(props[0]), props, NULL);
// error handling here if hr < 0
return hr;
}
Requirements
Header |
mapidefs.h |
Library |
cemapi.lib |