Beispiel #1
0
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;
    }
}
Beispiel #2
0
BOOLEAN ShutdownProcessHacker(VOID)
{
    PhEnumDirectoryObjects(PhGetNamespaceHandle(), PhpPreviousInstancesCallback, NULL);
    return TRUE;
}