фрагмент драйвера, отвечающий за выбор нужного события
При деиницилизации драйвера крайне желательно "отобрать" доступ к команде RDPMC с прикладного уровня и остановить все ранее запущенные счетчики производительности, сбросив флажок Enable Counter в MSR-регистрах PerfEvtSel0/PerfEvtSel1 (код, приведенный ниже останавливает только PerfEvtSel0):
DriverUnload: ; // процедура деиницилизации драйвера
…
; // сбрасываем бит pce регистра cr4 для запрета чтения
; // счетчика производительности с пользовательского уровня
MOV EAX, CR4
MOV ECX, 100h
NOT ECX ; // запрещаем доступ к RDPMC с прикладного уровня
AND EAX, ECX
MOV CR4, EAX
; // останавливаем счетчик производительности
XOR EDX, EDX
XOR EAX, EAX
MOV ECX, 186h
WRMSR
…