[SHELL32] RecycleBinGenericEnum: Convert tabs to spaces

CORE-19595
This commit is contained in:
Katayama Hirofumi MZ 2024-07-22 13:24:12 +09:00
parent f24fbb655e
commit 7f0e8a3697

View file

@ -10,224 +10,224 @@
struct RecycleBinGenericEnum struct RecycleBinGenericEnum
{ {
ULONG ref; ULONG ref;
IRecycleBinEnumList recycleBinEnumImpl; IRecycleBinEnumList recycleBinEnumImpl;
IRecycleBinEnumList *current; IRecycleBinEnumList *current;
DWORD dwLogicalDrives; DWORD dwLogicalDrives;
SIZE_T skip; SIZE_T skip;
}; };
static HRESULT STDMETHODCALLTYPE static HRESULT STDMETHODCALLTYPE
RecycleBinGenericEnum_RecycleBinEnumList_QueryInterface( RecycleBinGenericEnum_RecycleBinEnumList_QueryInterface(
IN IRecycleBinEnumList *This, IN IRecycleBinEnumList *This,
IN REFIID riid, IN REFIID riid,
OUT void **ppvObject) OUT void **ppvObject)
{ {
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl); struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject); TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppvObject);
if (!ppvObject) if (!ppvObject)
return E_POINTER; return E_POINTER;
if (IsEqualIID(riid, &IID_IUnknown)) if (IsEqualIID(riid, &IID_IUnknown))
*ppvObject = &s->recycleBinEnumImpl; *ppvObject = &s->recycleBinEnumImpl;
else if (IsEqualIID(riid, &IID_IRecycleBinEnumList)) else if (IsEqualIID(riid, &IID_IRecycleBinEnumList))
*ppvObject = &s->recycleBinEnumImpl; *ppvObject = &s->recycleBinEnumImpl;
else else
{ {
*ppvObject = NULL; *ppvObject = NULL;
return E_NOINTERFACE; return E_NOINTERFACE;
} }
IUnknown_AddRef(This); IUnknown_AddRef(This);
return S_OK; return S_OK;
} }
static ULONG STDMETHODCALLTYPE static ULONG STDMETHODCALLTYPE
RecycleBinGenericEnum_RecycleBinEnumList_AddRef( RecycleBinGenericEnum_RecycleBinEnumList_AddRef(
IN IRecycleBinEnumList *This) IN IRecycleBinEnumList *This)
{ {
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl); struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
ULONG refCount = InterlockedIncrement((PLONG)&s->ref); ULONG refCount = InterlockedIncrement((PLONG)&s->ref);
TRACE("(%p)\n", This); TRACE("(%p)\n", This);
return refCount; return refCount;
} }
static VOID static VOID
RecycleBinGenericEnum_Destructor( RecycleBinGenericEnum_Destructor(
struct RecycleBinGenericEnum *s) struct RecycleBinGenericEnum *s)
{ {
TRACE("(%p)\n", s); TRACE("(%p)\n", s);
if (s->current) if (s->current)
IRecycleBinEnumList_Release(s->current); IRecycleBinEnumList_Release(s->current);
CoTaskMemFree(s); CoTaskMemFree(s);
} }
static ULONG STDMETHODCALLTYPE static ULONG STDMETHODCALLTYPE
RecycleBinGenericEnum_RecycleBinEnumList_Release( RecycleBinGenericEnum_RecycleBinEnumList_Release(
IN IRecycleBinEnumList *This) IN IRecycleBinEnumList *This)
{ {
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl); struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
ULONG refCount; ULONG refCount;
TRACE("(%p)\n", This); TRACE("(%p)\n", This);
refCount = InterlockedDecrement((PLONG)&s->ref); refCount = InterlockedDecrement((PLONG)&s->ref);
if (refCount == 0) if (refCount == 0)
RecycleBinGenericEnum_Destructor(s); RecycleBinGenericEnum_Destructor(s);
return refCount; return refCount;
} }
static HRESULT STDMETHODCALLTYPE static HRESULT STDMETHODCALLTYPE
RecycleBinGenericEnum_RecycleBinEnumList_Next( RecycleBinGenericEnum_RecycleBinEnumList_Next(
IN IRecycleBinEnumList *This, IN IRecycleBinEnumList *This,
IN DWORD celt, IN DWORD celt,
IN OUT IRecycleBinFile **rgelt, IN OUT IRecycleBinFile **rgelt,
OUT DWORD *pceltFetched) OUT DWORD *pceltFetched)
{ {
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl); struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
IRecycleBin *prb; IRecycleBin *prb;
DWORD i; DWORD i;
DWORD fetched = 0, newFetched; DWORD fetched = 0, newFetched;
HRESULT hr; HRESULT hr;
TRACE("(%p, %u, %p, %p)\n", This, celt, rgelt, pceltFetched); TRACE("(%p, %u, %p, %p)\n", This, celt, rgelt, pceltFetched);
if (!rgelt) if (!rgelt)
return E_POINTER; return E_POINTER;
if (!pceltFetched && celt > 1) if (!pceltFetched && celt > 1)
return E_INVALIDARG; return E_INVALIDARG;
while (TRUE) while (TRUE)
{ {
/* Get enumerator implementation */ /* Get enumerator implementation */
if (!s->current && s->dwLogicalDrives) if (!s->current && s->dwLogicalDrives)
{ {
for (i = 0; i < 26; i++) for (i = 0; i < 26; i++)
if (s->dwLogicalDrives & (1 << i)) if (s->dwLogicalDrives & (1 << i))
{ {
WCHAR szVolumeName[4]; WCHAR szVolumeName[4];
szVolumeName[0] = (WCHAR)('A' + i); szVolumeName[0] = (WCHAR)('A' + i);
szVolumeName[1] = ':'; szVolumeName[1] = ':';
szVolumeName[2] = '\\'; szVolumeName[2] = '\\';
szVolumeName[3] = UNICODE_NULL; szVolumeName[3] = UNICODE_NULL;
if (GetDriveTypeW(szVolumeName) != DRIVE_FIXED) if (GetDriveTypeW(szVolumeName) != DRIVE_FIXED)
{ {
s->dwLogicalDrives &= ~(1 << i); s->dwLogicalDrives &= ~(1 << i);
continue; continue;
} }
hr = GetDefaultRecycleBin(szVolumeName, &prb); hr = GetDefaultRecycleBin(szVolumeName, &prb);
if (!SUCCEEDED(hr)) if (!SUCCEEDED(hr))
return hr; return hr;
hr = IRecycleBin_EnumObjects(prb, &s->current); hr = IRecycleBin_EnumObjects(prb, &s->current);
IRecycleBin_Release(prb); IRecycleBin_Release(prb);
if (!SUCCEEDED(hr)) if (!SUCCEEDED(hr))
return hr; return hr;
s->dwLogicalDrives &= ~(1 << i); s->dwLogicalDrives &= ~(1 << i);
break; break;
} }
} }
if (!s->current) if (!s->current)
{ {
/* Nothing more to enumerate */ /* Nothing more to enumerate */
if (pceltFetched) if (pceltFetched)
*pceltFetched = fetched; *pceltFetched = fetched;
return S_FALSE; return S_FALSE;
} }
/* Skip some elements */ /* Skip some elements */
while (s->skip > 0) while (s->skip > 0)
{ {
IRecycleBinFile *rbf; IRecycleBinFile *rbf;
hr = IRecycleBinEnumList_Next(s->current, 1, &rbf, NULL); hr = IRecycleBinEnumList_Next(s->current, 1, &rbf, NULL);
if (hr == S_OK) if (hr == S_OK)
hr = IRecycleBinFile_Release(rbf); hr = IRecycleBinFile_Release(rbf);
else if (hr == S_FALSE) else if (hr == S_FALSE)
break; break;
else if (!SUCCEEDED(hr)) else if (!SUCCEEDED(hr))
return hr; return hr;
} }
if (s->skip > 0) if (s->skip > 0)
continue; continue;
/* Fill area */ /* Fill area */
hr = IRecycleBinEnumList_Next(s->current, celt - fetched, &rgelt[fetched], &newFetched); hr = IRecycleBinEnumList_Next(s->current, celt - fetched, &rgelt[fetched], &newFetched);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
fetched += newFetched; fetched += newFetched;
if (hr == S_FALSE || newFetched == 0) if (hr == S_FALSE || newFetched == 0)
{ {
hr = IRecycleBinEnumList_Release(s->current); hr = IRecycleBinEnumList_Release(s->current);
s->current = NULL; s->current = NULL;
} }
else if (!SUCCEEDED(hr)) else if (!SUCCEEDED(hr))
return hr; return hr;
if (fetched == celt) if (fetched == celt)
{ {
if (pceltFetched) if (pceltFetched)
*pceltFetched = fetched; *pceltFetched = fetched;
return S_OK; return S_OK;
} }
} }
/* Never go here */ /* Never go here */
} }
static HRESULT STDMETHODCALLTYPE static HRESULT STDMETHODCALLTYPE
RecycleBinGenericEnum_RecycleBinEnumList_Skip( RecycleBinGenericEnum_RecycleBinEnumList_Skip(
IN IRecycleBinEnumList *This, IN IRecycleBinEnumList *This,
IN DWORD celt) IN DWORD celt)
{ {
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl); struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
TRACE("(%p, %u)\n", This, celt); TRACE("(%p, %u)\n", This, celt);
s->skip += celt; s->skip += celt;
return S_OK; return S_OK;
} }
static HRESULT STDMETHODCALLTYPE static HRESULT STDMETHODCALLTYPE
RecycleBinGenericEnum_RecycleBinEnumList_Reset( RecycleBinGenericEnum_RecycleBinEnumList_Reset(
IN IRecycleBinEnumList *This) IN IRecycleBinEnumList *This)
{ {
struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl); struct RecycleBinGenericEnum *s = CONTAINING_RECORD(This, struct RecycleBinGenericEnum, recycleBinEnumImpl);
TRACE("(%p)\n", This); TRACE("(%p)\n", This);
if (s->current) if (s->current)
{ {
IRecycleBinEnumList_Release(s->current); IRecycleBinEnumList_Release(s->current);
s->current = NULL; s->current = NULL;
s->skip = 0; s->skip = 0;
} }
s->dwLogicalDrives = GetLogicalDrives(); s->dwLogicalDrives = GetLogicalDrives();
return S_OK; return S_OK;
} }
CONST_VTBL struct IRecycleBinEnumListVtbl RecycleBinGenericEnumVtbl = CONST_VTBL struct IRecycleBinEnumListVtbl RecycleBinGenericEnumVtbl =
{ {
RecycleBinGenericEnum_RecycleBinEnumList_QueryInterface, RecycleBinGenericEnum_RecycleBinEnumList_QueryInterface,
RecycleBinGenericEnum_RecycleBinEnumList_AddRef, RecycleBinGenericEnum_RecycleBinEnumList_AddRef,
RecycleBinGenericEnum_RecycleBinEnumList_Release, RecycleBinGenericEnum_RecycleBinEnumList_Release,
RecycleBinGenericEnum_RecycleBinEnumList_Next, RecycleBinGenericEnum_RecycleBinEnumList_Next,
RecycleBinGenericEnum_RecycleBinEnumList_Skip, RecycleBinGenericEnum_RecycleBinEnumList_Skip,
RecycleBinGenericEnum_RecycleBinEnumList_Reset, RecycleBinGenericEnum_RecycleBinEnumList_Reset,
}; };
HRESULT HRESULT
RecycleBinGenericEnum_Constructor( RecycleBinGenericEnum_Constructor(
OUT IRecycleBinEnumList **pprbel) OUT IRecycleBinEnumList **pprbel)
{ {
struct RecycleBinGenericEnum *s; struct RecycleBinGenericEnum *s;
s = CoTaskMemAlloc(sizeof(struct RecycleBinGenericEnum)); s = CoTaskMemAlloc(sizeof(struct RecycleBinGenericEnum));
if (!s) if (!s)
return E_OUTOFMEMORY; return E_OUTOFMEMORY;
ZeroMemory(s, sizeof(struct RecycleBinGenericEnum)); ZeroMemory(s, sizeof(struct RecycleBinGenericEnum));
s->ref = 1; s->ref = 1;
s->recycleBinEnumImpl.lpVtbl = &RecycleBinGenericEnumVtbl; s->recycleBinEnumImpl.lpVtbl = &RecycleBinGenericEnumVtbl;
*pprbel = &s->recycleBinEnumImpl; *pprbel = &s->recycleBinEnumImpl;
return IRecycleBinEnumList_Reset(*pprbel); return IRecycleBinEnumList_Reset(*pprbel);
} }