Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 446 of file recyclebin_v5_enumerator.c.
Referenced by RecycleBin5_RecycleBin5_EnumObjects().
{ struct RecycleBin5Enum *s = NULL; SIZE_T Needed; if (!ppUnknown) return E_POINTER; Needed = (wcslen(szPrefix) + 1) * sizeof(WCHAR); s = CoTaskMemAlloc(sizeof(struct RecycleBin5Enum) + Needed); if (!s) return E_OUTOFMEMORY; ZeroMemory(s, sizeof(struct RecycleBin5Enum) + Needed); s->recycleBinEnumImpl.lpVtbl = &RecycleBin5EnumVtbl; s->ref = 1; s->recycleBin = prb; wcscpy(s->szPrefix, szPrefix); s->hInfo = hInfo; s->pInfo = MapViewOfFile(hInfoMapped, FILE_MAP_READ, 0, 0, 0); if (!s->pInfo) { CoTaskMemFree(s); return HRESULT_FROM_WIN32(GetLastError()); } if (s->pInfo->dwVersion != 5 || s->pInfo->dwRecordSize != sizeof(DELETED_FILE_RECORD)) { UnmapViewOfFile(s->pInfo); CoTaskMemFree(s); return E_FAIL; } IRecycleBin5_AddRef(s->recycleBin); *ppUnknown = (IUnknown *)&s->recycleBinEnumImpl; return S_OK; }