Add traces

Fix typo in EnumerateRecycleBinW

svn path=/trunk/; revision=30009
This commit is contained in:
Hervé Poussineau 2007-10-31 13:04:47 +00:00
parent e521c5d62a
commit 7af600178a
7 changed files with 70 additions and 15 deletions

View file

@ -204,14 +204,13 @@ EnumerateRecycleBinW(
hr = HRESULT_FROM_WIN32(GetLastError());
goto cleanup;
}
IRecycleBinFile_Release(prbf);
}
cleanup:
if (prb)
IRecycleBin_Release(prb);
if (prbel)
IRecycleBinEnumList_Release(prb);
IRecycleBinEnumList_Release(prbel);
if (SUCCEEDED(hr))
return TRUE;
if (HRESULT_FACILITY(hr) == FACILITY_WIN32)

View file

@ -10,6 +10,8 @@
#include "recyclebin_private.h"
#include <stdio.h>
WINE_DEFAULT_DEBUG_CHANNEL(recyclebin);
struct RecycleBinGeneric
{
ULONG ref;
@ -24,6 +26,8 @@ RecycleBinGenericVtbl_RecycleBin_QueryInterface(
{
struct RecycleBinGeneric *s = CONTAINING_RECORD(This, struct RecycleBinGeneric, recycleBinImpl);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject);
if (!ppvObject)
return E_POINTER;
@ -47,6 +51,7 @@ RecycleBinGenericVtbl_RecycleBin_AddRef(
{
struct RecycleBinGeneric *s = CONTAINING_RECORD(This, struct RecycleBinGeneric, recycleBinImpl);
ULONG refCount = InterlockedIncrement((PLONG)&s->ref);
TRACE("(%p)\n", This);
return refCount;
}
@ -57,8 +62,7 @@ RecycleBinGenericVtbl_RecycleBin_Release(
struct RecycleBinGeneric *s = CONTAINING_RECORD(This, struct RecycleBinGeneric, recycleBinImpl);
ULONG refCount;
if (!This)
return E_POINTER;
TRACE("(%p)\n", This);
refCount = InterlockedDecrement((PLONG)&s->ref);
@ -80,6 +84,8 @@ RecycleBinGenericVtbl_RecycleBin_DeleteFile(
WCHAR szVolume[MAX_PATH];
HRESULT hr;
TRACE("(%p, %s)\n", This, debugstr_w(szFileName));
/* Get full file name */
while (TRUE)
{
@ -142,6 +148,8 @@ RecycleBinGenericVtbl_RecycleBin_EmptyRecycleBin(
IRecycleBin *prb;
HRESULT hr;
TRACE("(%p)\n", This);
dwLogicalDrives = GetLogicalDrives();
if (dwLogicalDrives == 0)
return HRESULT_FROM_WIN32(GetLastError());
@ -170,6 +178,7 @@ RecycleBinGenericVtbl_RecycleBin_EnumObjects(
IN IRecycleBin *This,
OUT IRecycleBinEnumList **ppEnumList)
{
TRACE("(%p, %p)\n", This, ppEnumList);
return RecycleBinGeneric_Enumerator_Constructor(ppEnumList);
}

View file

@ -7,9 +7,11 @@
*/
#define COBJMACROS
#include "recyclebin.h"
#include "recyclebin_private.h"
#include <stdio.h>
WINE_DEFAULT_DEBUG_CHANNEL(recyclebin);
struct RecycleBinGenericEnum
{
ULONG ref;
@ -27,6 +29,8 @@ RecycleBinGenericEnum_RecycleBinEnumList_QueryInterface(
{
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject);
if (!ppvObject)
return E_POINTER;
@ -50,6 +54,7 @@ RecycleBinGenericEnum_RecycleBinEnumList_AddRef(
{
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
ULONG refCount = InterlockedIncrement((PLONG)&s->ref);
TRACE("(%p)\n", This);
return refCount;
}
@ -60,8 +65,7 @@ RecycleBinGenericEnum_RecycleBinEnumList_Release(
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
ULONG refCount;
if (!This)
return E_POINTER;
TRACE("(%p)\n", This);
refCount = InterlockedDecrement((PLONG)&s->ref);
@ -88,6 +92,8 @@ RecycleBinGenericEnum_RecycleBinEnumList_Next(
DWORD fetched = 0, newFetched;
HRESULT hr;
TRACE("(%p, %u, %p, %p)\n", This, celt, rgelt, pceltFetched);
if (!rgelt)
return E_POINTER;
if (!pceltFetched && celt > 1)
@ -173,6 +179,7 @@ RecycleBinGenericEnum_RecycleBinEnumList_Skip(
IN DWORD celt)
{
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
TRACE("(%p, %u)\n", This, celt);
s->skip += celt;
return S_OK;
}
@ -183,6 +190,8 @@ RecycleBinGenericEnum_RecycleBinEnumList_Reset(
{
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
TRACE("(%p)\n", This);
if (s->current)
{
IRecycleBinEnumList_Release(s->current);

View file

@ -1,5 +1,6 @@
#include "recyclebin.h"
#include "sddl.h"
#include <wine/debug.h>
/* Defines */
#define RECYCLEBIN_MAGIC 0x6e694252

View file

@ -10,6 +10,8 @@
#include "recyclebin_v5.h"
#include <stdio.h>
WINE_DEFAULT_DEBUG_CHANNEL(recyclebin);
static BOOL
IntDeleteRecursive(
IN LPCWSTR FullName)
@ -72,6 +74,8 @@ RecycleBin5_RecycleBin5_QueryInterface(
{
struct RecycleBin5 *s = CONTAINING_RECORD(This, struct RecycleBin5, recycleBinImpl);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject);
if (!ppvObject)
return E_POINTER;
@ -97,6 +101,7 @@ RecycleBin5_RecycleBin5_AddRef(
{
struct RecycleBin5 *s = CONTAINING_RECORD(This, struct RecycleBin5, recycleBinImpl);
ULONG refCount = InterlockedIncrement((PLONG)&s->ref);
TRACE("(%p)\n", This);
return refCount;
}
@ -107,8 +112,7 @@ RecycleBin5_RecycleBin5_Release(
struct RecycleBin5 *s = CONTAINING_RECORD(This, struct RecycleBin5, recycleBinImpl);
ULONG refCount;
if (!This)
return E_POINTER;
TRACE("(%p)\n", This);
refCount = InterlockedDecrement((PLONG)&s->ref);
@ -143,6 +147,8 @@ RecycleBin5_RecycleBin5_DeleteFile(
DWORD ClusterSize, BytesPerSector, SectorsPerCluster;
HRESULT hr;
TRACE("(%p, %s)\n", This, debugstr_w(szFileName));
if (s->EnumeratorCount != 0)
return E_FAIL;
@ -287,6 +293,8 @@ RecycleBin5_RecycleBin5_EmptyRecycleBin(
IRecycleBinFile *prbf;
HRESULT hr;
TRACE("(%p)\n", This);
while (TRUE)
{
hr = IRecycleBin5_EnumObjects(This, &prbel);
@ -313,6 +321,8 @@ RecycleBin5_RecycleBin5_EnumObjects(
HRESULT hr;
IUnknown *pUnk;
TRACE("(%p, %p)\n", This, ppEnumList);
hr = RecycleBin5_Enumerator_Constructor(This, s->hInfo, s->hInfoMapped, s->Folder, &pUnk);
if (!SUCCEEDED(hr))
return hr;
@ -339,6 +349,8 @@ RecycleBin5_RecycleBin5_Delete(
DELETED_FILE_RECORD *pRecord, *pLast;
DWORD dwEntries, i;
TRACE("(%p, %s, %p)\n", This, debugstr_w(pDeletedFileName), pDeletedFile);
if (s->EnumeratorCount != 0)
return E_FAIL;
@ -399,6 +411,8 @@ RecycleBin5_RecycleBin5_Restore(
DELETED_FILE_RECORD *pRecord, *pLast;
DWORD dwEntries, i;
TRACE("(%p, %s, %p)\n", This, debugstr_w(pDeletedFileName), pDeletedFile);
if (s->EnumeratorCount != 0)
return E_FAIL;
@ -451,9 +465,10 @@ RecycleBin5_RecycleBin5_Restore(
static HRESULT STDMETHODCALLTYPE
RecycleBin5_RecycleBin5_OnClosing(
IN IRecycleBin5 *This,
IN IRecycleBinEnumList *prb5el)
IN IRecycleBinEnumList *prbel)
{
struct RecycleBin5 *s = CONTAINING_RECORD(This, struct RecycleBin5, recycleBinImpl);
TRACE("(%p, %p)\n", This, prbel);
s->EnumeratorCount--;
return S_OK;
}

View file

@ -67,7 +67,7 @@ typedef struct IRecycleBin5Vtbl
HRESULT (STDMETHODCALLTYPE *OnClosing)(
IN IRecycleBin5 *This,
IN IRecycleBinEnumList *prb5el);
IN IRecycleBinEnumList *prbel);
} IRecycleBin5Vtbl;
interface IRecycleBin5

View file

@ -9,6 +9,8 @@
#define COBJMACROS
#include "recyclebin_v5.h"
WINE_DEFAULT_DEBUG_CHANNEL(recyclebin);
struct RecycleBin5File
{
ULONG ref;
@ -26,6 +28,8 @@ RecycleBin5File_RecycleBinFile_QueryInterface(
{
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject);
if (!ppvObject)
return E_POINTER;
@ -49,6 +53,7 @@ RecycleBin5File_RecycleBinFile_AddRef(
{
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
ULONG refCount = InterlockedIncrement((PLONG)&s->ref);
TRACE("(%p)\n", This);
return refCount;
}
@ -59,8 +64,7 @@ RecycleBin5File_RecycleBinFile_Release(
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
ULONG refCount;
if (!This)
return E_POINTER;
TRACE("(%p)\n", This);
refCount = InterlockedDecrement((PLONG)&s->ref);
@ -83,6 +87,8 @@ RecycleBin5File_RecycleBinFile_GetLastModificationTime(
DWORD dwAttributes;
HANDLE hFile;
TRACE("(%p, %p)\n", This, pLastModificationTime);
dwAttributes = GetFileAttributesW(s->FullName);
if (dwAttributes == INVALID_FILE_ATTRIBUTES)
return HRESULT_FROM_WIN32(GetLastError());
@ -107,6 +113,7 @@ RecycleBin5File_RecycleBinFile_GetDeletionTime(
OUT FILETIME *pDeletionTime)
{
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
TRACE("(%p, %p)\n", This, pDeletionTime);
*pDeletionTime = s->deletedFile.DeletionTime;
return S_OK;
}
@ -121,6 +128,8 @@ RecycleBin5File_RecycleBinFile_GetFileSize(
DWORD dwAttributes;
HANDLE hFile;
TRACE("(%p, %p)\n", This, pFileSize);
dwAttributes = GetFileAttributesW(s->FullName);
if (dwAttributes == INVALID_FILE_ATTRIBUTES)
return HRESULT_FROM_WIN32(GetLastError());
@ -148,6 +157,7 @@ RecycleBin5File_RecycleBinFile_GetPhysicalFileSize(
OUT ULARGE_INTEGER *pPhysicalFileSize)
{
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
TRACE("(%p, %p)\n", This, pPhysicalFileSize);
pPhysicalFileSize->u.HighPart = 0;
pPhysicalFileSize->u.LowPart = s->deletedFile.dwPhysicalFileSize;
return S_OK;
@ -161,6 +171,8 @@ RecycleBin5File_RecycleBinFile_GetAttributes(
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
DWORD dwAttributes;
TRACE("(%p, %p)\n", This, pAttributes);
dwAttributes = GetFileAttributesW(s->FullName);
if (dwAttributes == INVALID_FILE_ATTRIBUTES)
return HRESULT_FROM_WIN32(GetLastError());
@ -179,6 +191,8 @@ RecycleBin5File_RecycleBinFile_GetFileName(
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
DWORD dwRequired;
TRACE("(%p, %u, %p, %p)\n", This, BufferSize, Buffer, RequiredSize);
dwRequired = (DWORD)(wcslen(s->deletedFile.FileNameW) + 1) * sizeof(WCHAR);
if (RequiredSize)
*RequiredSize = dwRequired;
@ -197,6 +211,7 @@ RecycleBin5File_RecycleBinFile_Delete(
IN IRecycleBinFile *This)
{
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
TRACE("(%p)\n", This);
return IRecycleBin5_Delete(s->recycleBin, s->FullName, &s->deletedFile);
}
@ -205,6 +220,7 @@ RecycleBin5File_RecycleBinFile_Restore(
IN IRecycleBinFile *This)
{
struct RecycleBin5File *s = CONTAINING_RECORD(This, struct RecycleBin5File, recycleBinFileImpl);
TRACE("(%p)\n", This);
return IRecycleBin5_Restore(s->recycleBin, s->FullName, &s->deletedFile);
}
@ -279,6 +295,8 @@ RecycleBin5Enum_RecycleBinEnumList_QueryInterface(
{
struct RecycleBin5Enum *s = CONTAINING_RECORD(This, struct RecycleBin5Enum, recycleBinEnumImpl);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject);
if (!ppvObject)
return E_POINTER;
@ -302,6 +320,7 @@ RecycleBin5Enum_RecycleBinEnumList_AddRef(
{
struct RecycleBin5Enum *s = CONTAINING_RECORD(This, struct RecycleBin5Enum, recycleBinEnumImpl);
ULONG refCount = InterlockedIncrement((PLONG)&s->ref);
TRACE("(%p)\n", This);
return refCount;
}
@ -312,8 +331,7 @@ RecycleBin5Enum_RecycleBinEnumList_Release(
struct RecycleBin5Enum *s = CONTAINING_RECORD(This, struct RecycleBin5Enum, recycleBinEnumImpl);
ULONG refCount;
if (!This)
return E_POINTER;
TRACE("(%p)\n", This);
refCount = InterlockedDecrement((PLONG)&s->ref);
@ -343,6 +361,8 @@ RecycleBin5Enum_RecycleBinEnumList_Next(
DWORD dwEntries;
HRESULT hr;
TRACE("(%p, %u, %p, %p)\n", This, celt, rgelt, pceltFetched);
if (!rgelt)
return E_POINTER;
if (!pceltFetched && celt > 1)
@ -383,6 +403,7 @@ RecycleBin5Enum_RecycleBinEnumList_Skip(
IN DWORD celt)
{
struct RecycleBin5Enum *s = CONTAINING_RECORD(This, struct RecycleBin5Enum, recycleBinEnumImpl);
TRACE("(%p, %u)\n", This, celt);
s->dwCurrent += celt;
return S_OK;
}
@ -392,6 +413,7 @@ RecycleBin5Enum_RecycleBinEnumList_Reset(
IN IRecycleBinEnumList *This)
{
struct RecycleBin5Enum *s = CONTAINING_RECORD(This, struct RecycleBin5Enum, recycleBinEnumImpl);
TRACE("(%p)\n", This);
s->dwCurrent = 0;
return S_OK;
}