public static extern bool CryptSignMessage( ref CRYPT_SIGN_MESSAGE_PARA pSignPara, bool fDetachedSignature, int cToBeSigned, IntPtr[] rgpbToBeSigned, int[] rgcbToBeSigned, byte[] pbSignedBlob, ref int pcbSignedBlob );
public static extern Boolean CryptSignMessage( ref CRYPT_SIGN_MESSAGE_PARA pSignPara, Boolean fDetachedSignature, Int32 cToBeSigned, IntPtr[] rgpbToBeSigned, Int32[] rgcbToBeSigned, Byte[] pbSignedBlob, ref Int32 pcbSignedBlob );
public static extern bool CryptSignMessage(ref CRYPT_SIGN_MESSAGE_PARA parameters, Boolean detachedSignature, Int32 contentsCount, IntPtr[] contents, Int32[] contentsSizes, IntPtr buffer, ref Int32 signatureSize);