private static IEnumerable <Credential> ParseCredentials(int count, SafeCredBuffer buffer) { using (buffer) { buffer.Initialize <IntPtr>((uint)count); IntPtr[] ptrs = buffer.ReadArray <IntPtr>(0, count); return(ptrs.Select(ParseCredential).ToList().AsReadOnly()); } }
private static IEnumerable <Credential> ParseCredentials(int count, SafeCredBuffer buffer) { using (buffer) { buffer.Initialize <IntPtr>((uint)count); IntPtr[] ptrs = buffer.ReadArray <IntPtr>(0, count); return(ptrs.Select(p => (CREDENTIAL)Marshal.PtrToStructure(p, typeof(CREDENTIAL))).Select(c => new Credential(c)).ToList().AsReadOnly()); } }
internal static extern bool CredEnumerate( string Filter, CredentialEnumerateFlags Flags, out int Count, out SafeCredBuffer Credential );