Definition at line 550 of file ntobjenum.cpp.
◆ CEnumNTDirectory()
CEnumNTDirectory::CEnumNTDirectory |
( |
| ) |
|
|
inline |
◆ ~CEnumNTDirectory()
CEnumNTDirectory::~CEnumNTDirectory |
( |
| ) |
|
|
inline |
Definition at line 566 of file ntobjenum.cpp.
567 {
569 }
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
◆ Clone()
◆ EnumerateNext()
Definition at line 588 of file ntobjenum.cpp.
589 {
590 BYTE dirbuffer[2048];
593
595
596
597
598 if (!ppidl)
600
602
603 if (
info->Name.Buffer)
604 {
606 }
607
609
611 if (
info->Name.Buffer)
612 entryBufferLength +=
info->Name.Length;
613
614 if (otype < 0)
615 {
617
618 if (
info->TypeName.Buffer)
619 {
620 entryBufferLength +=
info->TypeName.Length;
621 }
622 }
623
624
626
630
632
635 entry->objectType = otype;
636
637 if (
info->Name.Buffer)
638 {
639 entry->entryNameLength =
info->Name.Length;
642 }
643 else
644 {
645 entry->entryNameLength = 0;
646 entry->entryName[0] = 0;
648 }
649
650 if (otype < 0)
651 {
654
655 if (
info->TypeName.Buffer)
656 {
659
661 }
662 else
663 {
667 }
668 }
669
671
673 }
#define NT_SUCCESS(StatCode)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
struct _OBJECT_DIRECTORY_INFORMATION * POBJECT_DIRECTORY_INFORMATION
OBJECT_TYPE MapTypeNameToType(LPCWSTR TypeName, DWORD cbTypeName)
#define NT_OBJECT_PIDL_MAGIC
NTSTATUS NTAPI NtQueryDirectoryObject(IN HANDLE DirectoryHandle, OUT PVOID Buffer, IN ULONG BufferLength, IN BOOLEAN ReturnSingleEntry, IN BOOLEAN RestartScan, IN OUT PULONG Context, OUT PULONG ReturnLength OPTIONAL)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc, size_t cbToCopy)
WCHAR typeName[ANYSIZE_ARRAY]
#define FIELD_OFFSET(t, f)
◆ Initialize()
Definition at line 571 of file ntobjenum.cpp.
572 {
574
577 {
578 ERR(
"NtOpenDirectoryObject failed for path %S with status=%x\n",
buffer,
err);
580 }
581
584
586 }
#define FILE_LIST_DIRECTORY
static DWORD NtOpenObject(OBJECT_TYPE type, PHANDLE phandle, DWORD access, LPCWSTR path)
STRSAFEAPI StringCbCopyExW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc, STRSAFE_LPWSTR *ppszDestEnd, size_t *pcbRemaining, STRSAFE_DWORD dwFlags)
#define HRESULT_FROM_NT(x)
◆ Next()
Definition at line 675 of file ntobjenum.cpp.
676 {
677 if (pceltFetched)
678 *pceltFetched = 0;
679
680 while (celt-- > 0)
681 {
685
686 if (pceltFetched)
687 (*pceltFetched)++;
688 if (rgelt)
689 rgelt++;
690 }
691
693 }
HRESULT EnumerateNext(LPITEMIDLIST *ppidl)
◆ Reset()
◆ Skip()
◆ buffer
◆ m_directory
HANDLE CEnumNTDirectory::m_directory |
|
private |
◆ m_enumContext
ULONG CEnumNTDirectory::m_enumContext |
|
private |
◆ m_first
BOOL CEnumNTDirectory::m_first |
|
private |
◆ m_pend
PWSTR CEnumNTDirectory::m_pend |
|
private |
The documentation for this class was generated from the following file: