crypt32: Add a get param function, use it to implement CryptMsgGetParam.

This commit is contained in:
Juan Lang 2007-06-28 16:49:55 -07:00 committed by Alexandre Julliard
parent fa0f5bd066
commit d5e784bdaf
1 changed files with 14 additions and 5 deletions

View File

@ -29,11 +29,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(crypt);
*/
typedef void (*CryptMsgCloseFunc)(HCRYPTMSG msg);
typedef BOOL (*CryptMsgGetParamFunc)(HCRYPTMSG hCryptMsg, DWORD dwParamType,
DWORD dwIndex, void *pvData, DWORD *pcbData);
typedef struct _CryptMsgBase
{
LONG ref;
DWORD open_flags;
CryptMsgCloseFunc close;
LONG ref;
DWORD open_flags;
CryptMsgCloseFunc close;
CryptMsgGetParamFunc get_param;
} CryptMsgBase;
static inline void CryptMsgBase_Init(CryptMsgBase *msg, DWORD dwFlags)
@ -174,7 +178,12 @@ BOOL WINAPI CryptMsgUpdate(HCRYPTMSG hCryptMsg, const BYTE *pbData,
BOOL WINAPI CryptMsgGetParam(HCRYPTMSG hCryptMsg, DWORD dwParamType,
DWORD dwIndex, void *pvData, DWORD *pcbData)
{
FIXME("(%p, %d, %d, %p, %p): stub\n", hCryptMsg, dwParamType, dwIndex,
CryptMsgBase *msg = (CryptMsgBase *)hCryptMsg;
BOOL ret = FALSE;
TRACE("(%p, %d, %d, %p, %p)\n", hCryptMsg, dwParamType, dwIndex,
pvData, pcbData);
return FALSE;
if (msg && msg->get_param)
ret = msg->get_param(hCryptMsg, dwParamType, dwIndex, pvData, pcbData);
return ret;
}