I am unaware of a win32 api function/functions used to query the local PC processor's current speed. I wish not to use WMI because it seems unlikely to be feasible on all PCs.
You can (usually) get the processor speed using the QueryPerformanceFrequency
function. I'm saying "usually" since this function returns the frequency of the performance timer component of the system, but virtually all current CPU's available operate at the same frequency as the performance timer component.
This function is available since Windows 2000, so chances are good that it's supported on most of todays PCs.