Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
![]() |
The MACInit method acquires a message authentication code (MAC) channel for use in calls to the MACUpdate and MACFinal methods.
Syntax
HRESULT MACInit(HMAC*phMAC);
Parameters
phMAC
[out] Pointer to a MAC handle.
Return Values
The method returns an HRESULT. All the interface methods in Windows Media Device Manager can return any of the following classes of error codes:
- Standard COM error codes
- Windows error codes converted to HRESULT values
- Windows Media Device Manager error codes
For an extenstive list of possible error codes, see Error Codes.
Possible values include, but are not limited to, those in the following table.
| Return code | Description |
| S_OK | The method succeeded. |
| E_INVALIDARG | The phMAC parameter is invalid or is a NULL pointer. |
| E_FAIL | An unspecified error occurred. |
Remarks
The MACInit method begins a message authentication code (MAC) session. This method must be called every time a (MAC) is required. MACUpdate and MACFinal must be called sequentially after MACInit. After MACFinal, MACInit must be called again to acquire a new handle.
Example Code
g_pAppSCServer = new CsecureChannelServer();
if( dwRead )
{
// MAC the parameters.
HMAC hMAC;
g_pAppSCServer->MACInit(&hMAC);
g_pAppSCServer->MACUpdate(hMAC, (BYTE*)(pTmpData), dwRead);
g_pAppSCServer->MACUpdate(hMAC, (BYTE*)(pdwSize), sizeof(DWORD));
g_pAppSCServer->MACFinal(hMAC, abMac);
g_pAppSCServer->EncryptParam(pTmpData, dwRead);
memcpy(pData, pTmpData, dwRead);
}
Requirements
Header: Include scserver.h.
Library: mssachlp.lib
See Also
.gif)