// http://msdn.microsoft.com/en-us/library/windows/desktop/hh448506(v=vs.85).aspx internal static extern int BCryptKeyDerivation( [In] BCryptKeyHandle hKey, [In] BCryptBufferDesc *pParameterList, [In] byte *pbDerivedKey, [In] uint cbDerivedKey, [Out] out uint pcbResult, [In] uint dwFlags);
internal static unsafe partial NTSTATUS BCryptKeyDerivation( SafeBCryptKeyHandle hKey, BCryptBufferDesc *pParameterList, byte *pbDerivedKey, int cbDerivedKey, out uint pcbResult, int dwFlags);
internal static extern int BCryptKeyDerivation( #endif BCryptKeyHandle hKey, BCryptBufferDesc *pParameterList, byte *pbDerivedKey, uint cbDerivedKey, out uint pcbResult, uint dwFlags);
private unsafe static extern int BCryptDeriveKey( IntPtr hSharedSecret, string pwszKDF, BCryptBufferDesc *pParameterList, byte *pbDerivedKey, int cbDerivedKey, ref int pcbResult, int dwFlags );