SHQueryRecycleBin (shell32)
Last changed: -171.251.237.209

.
Summary
The SHQueryRecycleB<a href="http://websearch01.mcclient.com/search.php?s=using+p%2finvoke+in+.net&rnd=nr4fue" onmouseover="window.status='http://www.pinvoke.net/info.php?in'; return true;" onMouseOut="window.status='Done'; return true;">In</a> API

C# Signature:

[DllImport("shell32.dll")]
static extern int SHQueryRecycleBin(string pszRootPath, ref SHQUERYRBINFO
   pSHQueryRBInfo);

User-Defined Types:

[StructLayout(LayoutKind.Explicit, Size=20)]
public struct SHQUERYRBINFO
{
    [FieldOffset(0)]  public int  cbSize ;
    [FieldOffset(4)]  public long i64Size ;
    [FieldOffset(12)] public long i64NumItems ;
}

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

public static int GetCount()
{
    SHQUERYRBINFO sqrbi = new SHQUERYRBINFO();
    sqrbi.cbSize = Marshal.SizeOf(typeof(SHQUERYRBINFO));
    int hresult = SHQueryRecycleBin(string.Empty, ref sqrbi);
    return (int)sqrbi.i64NumItems;
}

N.B.

/*<a href="http://websearch01.mcclient.com/search.php?s=using+p%2finvoke+in+.net&rnd=ixleei" onmouseover="window.status='http://www.pinvoke.net/info.php?in'; return true;" onMouseOut="window.status='Done'; return true;">In</a> case of Windows 2000 OS, you must supply the root drive.

So <a href="http://websearch01.mcclient.com/search.php?s=using+p%2finvoke+in+.net&rnd=tkxrxe" onmouseover="window.status='http://www.pinvoke.net/info.php?in'; return true;" onMouseOut="window.status='Done'; return true;">In</a> order to calculate the total no of recycled items ,

you must add the recycled items from each drive

e.g. For getting the recycled items from the C:\ , you should use:

*/

int hresult = SHQueryRecycleBin(@"C:\", ref sqrbi);

Alternative Managed API:

Do you know one? Please contribute it!

Documentation