Freigeben über


Aufrufen von ExSetTimerResolution während der Verarbeitung einer Leistungs-IRP

Während der Verarbeitung einer IRP_MJ_POWER-Anforderung hält der Power Manager eine Sperre für eine Ressource, die ExSetTimerResolution abrufen muss, um sie abzuschließen. Folglich tritt ein Deadlock auf, wenn ein Treiber diese Routine während der Verarbeitung einer Energieanforderung direkt oder indirekt aufruft und dann wartet, bis der Aufruf der Routine zurückgegeben wird, bevor der Treiber die Energieanforderung abgeschlossen hat. Während der Verarbeitung einer Energieanforderung kann ein Treiber ExSetTimerResolution nur dann sicher aufrufen, wenn der Treiber nicht darauf wartet, dass der Aufruf dieser Routine zurückgegeben wird, bevor die Energieanforderung abgeschlossen wird. Beispielsweise kann ein Treiber einen Workerthread erstellen, der ExSetTimerResolution aufruft, solange der Treiber dann die Energieanforderung abschließt, ohne darauf zu warten, dass der Aufruf dieser Routine zurückgegeben wird.