byte[] (WinCrypt.DATA_BLOB out, boolean rc) { if (!rc) { throw new RuntimeException("CryptProtectData failed: " + Kernel32.INSTANCE.GetLastError()); } byte[] output = new byte[out.cbData]; out.pbData.read(0, output, 0, output.length); Kernel32.INSTANCE.LocalFree(out.pbData); return output; }