Module: wine Branch: master Commit: d5e784bdaf7641eafd3bed773f708f39a1eea8e0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d5e784bdaf7641eafd3bed773f...
Author: Juan Lang juan.lang@gmail.com Date: Thu Jun 28 16:49:55 2007 -0700
crypt32: Add a get param function, use it to implement CryptMsgGetParam.
---
dlls/crypt32/msg.c | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c index ebd7b65..3c28230 100644 --- a/dlls/crypt32/msg.c +++ b/dlls/crypt32/msg.c @@ -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; }