summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
51553f4)
- Correctly handle NULL ppidl in EnumerateNext as required by Skip() callers
- Don't reenumerate NT directories every time EnumerateNext is called from Skip()
CORE-10311 #resolve
svn path=/trunk/; revision=69462
entry->cb += sizeof(WCHAR);
}
entry->cb += sizeof(WCHAR);
}
- *ppidl = (LPITEMIDLIST) entry;
+ if (ppidl)
+ *ppidl = (LPITEMIDLIST) entry;
entry->cb += entry->contentsLength + sizeof(WCHAR);
}
entry->cb += entry->contentsLength + sizeof(WCHAR);
}
- *ppidl = (LPITEMIDLIST) entry;
+ if (ppidl)
+ *ppidl = (LPITEMIDLIST) entry;
- *ppidl = (LPITEMIDLIST) entry;
+ if (ppidl)
+ *ppidl = (LPITEMIDLIST) entry;
if (!NT_SUCCESS(NtQueryDirectoryObject(m_directory, dirbuffer, 2048, TRUE, m_first, &m_enumContext, NULL)))
return S_FALSE;
if (!NT_SUCCESS(NtQueryDirectoryObject(m_directory, dirbuffer, 2048, TRUE, m_first, &m_enumContext, NULL)))
return S_FALSE;
// if ppidl is NULL, assume the caller was Skip(),
// so we don't care about the info
if (!ppidl)
return S_OK;
// if ppidl is NULL, assume the caller was Skip(),
// so we don't care about the info
if (!ppidl)
return S_OK;
POBJECT_DIRECTORY_INFORMATION info = (POBJECT_DIRECTORY_INFORMATION) dirbuffer;
if (info->Name.Buffer)
POBJECT_DIRECTORY_INFORMATION info = (POBJECT_DIRECTORY_INFORMATION) dirbuffer;
if (info->Name.Buffer)