public void CredPackAuthenticationBufferOke() { var pszUserName = "******"; var pszPassword = "******"; var pcbPackedCredentials = 1024; var pPackedCredentials = Marshal.AllocCoTaskMem(pcbPackedCredentials); var oke = WinCred.CredPackAuthenticationBuffer(WinCred.CredPackFlags.CRED_PACK_PROTECTED_CREDENTIALS, pszUserName, pszPassword, pPackedCredentials, ref pcbPackedCredentials); Assert.IsTrue(oke); }
public void CredPackAuthenticationBufferInvalidBuffersize() { var pszUserName = "******"; var pszPassword = "******"; var pcbPackedCredentials = 0; var pPackedCredentials = Marshal.AllocCoTaskMem(pcbPackedCredentials); var oke = WinCred.CredPackAuthenticationBuffer(WinCred.CredPackFlags.CRED_PACK_PROTECTED_CREDENTIALS, pszUserName, pszPassword, pPackedCredentials, ref pcbPackedCredentials); Assert.IsFalse(oke); var error = Marshal.GetLastWin32Error(); Assert.AreEqual(error, 122); var win32Exception = new Win32Exception((int)error); Assert.AreEqual(win32Exception.Message, "The data area passed to a system call is too small."); }