The low-level message functions encode data for transmission and decode data that has been received. Low-level message functions also decrypt and verify the signatures of received messages.
When a message is opened using a low-level message open function, it remains open and available (maintains its state) until it is closed. This allows a message to be constructed piecemeal using multiple calls to the CryptMsgUpdate function.
Using low-level message functions requires more function calls than using simplified message functions (see Simplified Messages). If the simplified message functions are used, more of the work is done inside the functions of the API.
Using low-level message functions involves the additional work of making calls to other certificate or cryptographic functions. For example, data from calls to certificate functions may be needed to initialize structures used by these low-level message functions. Simplified message functions initialize many of these structures internally.
The following table lists sections with procedure descriptions and C code examples of using the low-level message functions.
This module introduces Microsoft Purview Message Encryption, an online service that’s built on Microsoft Azure Rights Management and includes encryption, identity, and authorization policies to help organizations secure their email. MS-102