VOID NTAPI MenuItemCallback( __in_opt PVOID Parameter, __in_opt PVOID Context ) { PPH_PLUGIN_MENU_ITEM menuItem = Parameter; PPH_NETWORK_ITEM networkItem; switch (menuItem->Id) { case ID_TOOLS_PING: networkItem = menuItem->Context; PerformNetworkAction(PhMainWndHandle, NETWORK_ACTION_PING, &networkItem->RemoteEndpoint.Address); break; case ID_TOOLS_TRACEROUTE: networkItem = menuItem->Context; PerformNetworkAction(PhMainWndHandle, NETWORK_ACTION_TRACEROUTE, &networkItem->RemoteEndpoint.Address); break; case ID_TOOLS_WHOIS: networkItem = menuItem->Context; // TODO: Integrate WHOIS with the GUI. PhShellExecute( PhMainWndHandle, PhaConcatStrings2(L"http://wq.apnic.net/apnic-bin/whois.pl?searchtext=", networkItem->RemoteAddressString)->Buffer, NULL ); break; } }
VOID NTAPI MenuItemCallback( _In_opt_ PVOID Parameter, _In_opt_ PVOID Context ) { PPH_PLUGIN_MENU_ITEM menuItem = (PPH_PLUGIN_MENU_ITEM)Parameter; PPH_NETWORK_ITEM networkItem = (PPH_NETWORK_ITEM)menuItem->Context; switch (menuItem->Id) { case NETWORK_ACTION_PING: PerformNetworkAction(NETWORK_ACTION_PING, networkItem); break; case NETWORK_ACTION_TRACEROUTE: PerformNetworkAction(NETWORK_ACTION_TRACEROUTE, networkItem); break; case NETWORK_ACTION_WHOIS: PerformNetworkAction(NETWORK_ACTION_WHOIS, networkItem); break; } }