| Platform SDK: Cryptography | 
The CMSG_ENVELOPED_ENCODE_INFO structure is used with hashed messages. It is passed to CryptMsgOpenToEncode if dwMsgType is CMSG_ENVELOPED.
typedef struct _CMSG_ENVELOPED_ENCODE_INFO {
  DWORD                        cbSize;
  HCRYPTPROV                   hCryptProv;
  CRYPT_ALGORITHM_IDENTIFIER   HashAlgorithm;
  void*                        pvHashAuxInfo;
} CMSG_ENVELOPED_ENCODE_INFO,  *PCMSG_ENVELOPED_ENCODE_INFO;
Unless there is a strong reason for passing in a specific cryptographic provider in hCryptProv, pass zero to use the default RSA or DSS provider to be acquired before doing hash, signature verification, or recipient encryption operations.
  Windows NT/2000: Requires Windows NT 4.0 SP3 or later (or Windows NT 4.0 with Internet Explorer 3.02 or later).
  Windows 95/98: Requires Windows 98 (or Windows 95 with Internet Explorer 3.02 or later).
  Header: Declared in Wincrypt.h.