internal static extern ErrorCode NCryptEnumKeys(SafeNCryptProviderHandle hProvider, [In, MarshalAs(UnmanagedType.LPWStr)] string pszScope, [Out] out SafeNCryptBuffer ppKeyName, [In, Out] ref IntPtr ppEnumState, CngKeyOpenOptions dwFlags);
internal static extern ErrorCode NCryptEnumStorageProviders([Out] out uint pdwProviderCount, [Out] out SafeNCryptBuffer ppProviderList, int dwFlags);
internal static extern ErrorCode NCryptEnumAlgorithms(SafeNCryptProviderHandle hProvider, NCryptAlgorithmOperations dwAlgOperations, [Out] out uint pdwAlgCount, [Out] out SafeNCryptBuffer ppAlgList, int dwFlags);