public static byte [] GetProvParam(IntPtr prov, ProvParam param) { byte[] data = new byte[0]; uint dataLen = 0; uint flags = 0; bool retVal = Crypto.CryptGetProvParam(prov, (uint)param, data, ref dataLen, flags); ErrCode ec = Error.HandleRetVal(retVal, ErrCode.MORE_DATA); if (ec == ErrCode.MORE_DATA) { data = new byte[(int)dataLen]; retVal = Crypto.CryptGetProvParam(prov, (uint)param, data, ref dataLen, flags); ec = Error.HandleRetVal(retVal); } return(data); }
public static byte[] GetProvParam(IntPtr prov, ProvParam param) { byte[] data = new byte[0]; uint dataLen = 0; uint flags = 0; bool retVal = Crypto.CryptGetProvParam(prov, (uint) param, data, ref dataLen, flags); ErrCode ec = Error.HandleRetVal(retVal, ErrCode.MORE_DATA); if(ec == ErrCode.MORE_DATA) { data = new byte[(int)dataLen]; retVal = Crypto.CryptGetProvParam(prov, (uint) param, data, ref dataLen, flags); ec = Error.HandleRetVal(retVal); } return data; }