CredDelete (advapi32)
Last changed: -76.90.14.211

.
Summary
The CredDelete function deletes a credential from the user's credential set.

C# Signature:

    [DllImport("advapi32.dll", EntryPoint = "CredDeleteW", CharSet = CharSet.Unicode)]
    private static extern bool CredDelete(string target, CRED_TYPE type, int flags);

VB .NET Signature:

  Public Declare Unicode Function CredDelete Lib "advapi32.dll" Alias "CredDeleteW" ( ByVal TargetName As String, ByVal Type As Integer, ByVal Flags As Integer) As Boolean

User-Defined Types:

    private enum CRED_TYPE
    {
      GENERIC = 1,
      DOMAIN_PASSWORD = 2,
      DOMAIN_CERTIFICATE = 3,
      DOMAIN_VISIBLE_PASSWORD = 4,
      MAXIMUM = 5
    }

Notes:

The CredDelete 'type' method parameter (int) must be one of the constant CRED_TYPE_* values.

Tips & Tricks:

Please add some!

Sample Code:

C# Sample:

    CredDelete("YourTarget", CRED_TYPE.GENERIC, 0);

Powershell Sample:

    $sig = @"
    [DllImport("advapi32.dll", EntryPoint = "CredDeleteW", CharSet = CharSet.Unicode)]
    static extern bool CredDelete(string target, int type, int flags);

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
    public struct Credential
    {
     public UInt32 flags;
     public UInt32 type;
     public IntPtr target;
    }
    "@
    Add-Type -MemberDefinition $sig -Namespace "ADVAPI32" -Name 'Util'

    $cred = New-Object ADVAPI32.Util+Credential
    $cred.flags = 0
    $cred.type = 2
    $cred.target = [System.Runtime.InteropServices.Marshal]::StringToCoTaskMemUni('server')

Alternative Managed API:

TODO

Documentation
CredDelete on MSDN