public static extern bool CredRead(string targetName, CredType type, CredReadFlags flags, out IntPtr pCredential);
public static IDisposableGetter <Credential> Read(string TagetName, CredType Type = default(CredType), CredReadFlags Flags = default(CredReadFlags)) { if (Interop.CredRead(TagetName, Type, Flags, out var CredentialPtr)) { return(new CriticalCredGetterHandle <Credential>(CredentialPtr, From)); } var hresult = Marshal.GetHRForLastWin32Error(); var exception = Marshal.GetExceptionForHR(hresult); if (unchecked ((uint)hresult) == 0x80070032) { throw new NotSupportedException("not support.", exception); } throw exception; }