public static extern NTStatus BCryptDeriveKey( SafeSecretHandle sharedSecret, string keyDerivationFunction, [In] ref BCryptBufferDesc kdfParameters, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] derivedKey, int derivedKeySize, [Out] out int resultSize, BCryptDeriveKeyFlags flags);
public static extern NTSTATUS BCryptDeriveKey( SafeSecretHandle sharedSecret, string keyDerivationFunction, [In] ref BCryptBufferDesc kdfParameters, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] derivedKey, int derivedKeySize, [Out] out int resultSize, BCryptDeriveKeyFlags flags);