crypt32: Implement getting content of a data message.
This commit is contained in:
parent
95bb1be2b7
commit
4e28944934
|
@ -743,6 +743,13 @@ static BOOL CDecodeMsg_GetParam(HCRYPTMSG hCryptMsg, DWORD dwParamType,
|
||||||
ret = CRYPT_CopyParam(pvData, pcbData, (const BYTE *)&msg->type,
|
ret = CRYPT_CopyParam(pvData, pcbData, (const BYTE *)&msg->type,
|
||||||
sizeof(msg->type));
|
sizeof(msg->type));
|
||||||
break;
|
break;
|
||||||
|
case CMSG_CONTENT_PARAM:
|
||||||
|
if (msg->data)
|
||||||
|
ret = CRYPT_CopyParam(pvData, pcbData, msg->data->pbData,
|
||||||
|
msg->data->cbData);
|
||||||
|
else
|
||||||
|
SetLastError(CRYPT_E_INVALID_MSG_TYPE);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
FIXME("unimplemented for parameter %d\n", dwParamType);
|
FIXME("unimplemented for parameter %d\n", dwParamType);
|
||||||
SetLastError(CRYPT_E_INVALID_MSG_TYPE);
|
SetLastError(CRYPT_E_INVALID_MSG_TYPE);
|
||||||
|
|
|
@ -1208,10 +1208,14 @@ static void test_decode_msg_get_param(void)
|
||||||
{
|
{
|
||||||
HCRYPTMSG msg;
|
HCRYPTMSG msg;
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
DWORD size = 0;
|
||||||
|
|
||||||
msg = CryptMsgOpenToDecode(PKCS_7_ASN_ENCODING, 0, 0, 0, NULL, NULL);
|
msg = CryptMsgOpenToDecode(PKCS_7_ASN_ENCODING, 0, 0, 0, NULL, NULL);
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
ret = CryptMsgGetParam(msg, CMSG_CONTENT_PARAM, 0, NULL, &size);
|
||||||
|
ok(!ret && GetLastError() == CRYPT_E_INVALID_MSG_TYPE,
|
||||||
|
"Expected CRYPT_E_INVALID_MSG_TYPE, got %x\n", GetLastError());
|
||||||
ret = CryptMsgUpdate(msg, dataContent, sizeof(dataContent), TRUE);
|
ret = CryptMsgUpdate(msg, dataContent, sizeof(dataContent), TRUE);
|
||||||
todo_wine
|
|
||||||
check_param("data content", msg, CMSG_CONTENT_PARAM, msgData,
|
check_param("data content", msg, CMSG_CONTENT_PARAM, msgData,
|
||||||
sizeof(msgData));
|
sizeof(msgData));
|
||||||
CryptMsgClose(msg);
|
CryptMsgClose(msg);
|
||||||
|
|
Loading…
Reference in New Issue