VOID MenuItemCallback( __in_opt PVOID Parameter, __in_opt PVOID Context ) { PPH_PLUGIN_MENU_ITEM menuItem = Parameter; switch (menuItem->Id) { case ID_SAMPLE_MENU_ITEM: { PhShowInformation(PhMainWndHandle, L"You clicked the sample menu item!"); } break; case ID_SHOW_ME_SOME_OBJECTS: { NTSTATUS status; HANDLE directoryHandle; OBJECT_ATTRIBUTES oa; UNICODE_STRING name; // Use the Native API seamlessly alongside Win32. RtlInitUnicodeString(&name, L"\\"); InitializeObjectAttributes(&oa, &name, 0, NULL, NULL); if (NT_SUCCESS(status = NtOpenDirectoryObject(&directoryHandle, DIRECTORY_QUERY, &oa))) { PhEnumDirectoryObjects(directoryHandle, EnumDirectoryObjectsCallback, NULL); NtClose(directoryHandle); } } break; } }
BOOLEAN ShutdownProcessHacker(VOID) { PhEnumDirectoryObjects(PhGetNamespaceHandle(), PhpPreviousInstancesCallback, NULL); return TRUE; }