Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każdy sterownik, który ma isR, zwykle ma co najmniej jedną procedurę DpcForIsr lub CustomDpc w celu ukończenia przetwarzania operacji we/wy opartych na przerwaniach. Typowa procedura DpcForIsr lub CustomDpc sterownika najniższego poziomu wykonuje następujące czynności:
Kończy obsługę operacji we/wy, którą proces ISR rozpoczął przetwarzanie.
Usuwa z kolejki następne zgłoszenie IRP, aby sterownik mógł rozpocząć jego przetwarzanie.
Jeśli to możliwe, ukończy bieżącą IRP.
Czasami nie można ukończyć bieżącego protokołu IRP, ponieważ wymagane jest kilka transferów danych lub wykryto błąd możliwy do odzyskania. W takich przypadkach rutynowa DpcForIsr lub CustomDpc zwykle ponownie programuje urządzenie do innego transferu lub ponawia próbę ostatniej operacji.
Procedury DpcForIsr lub CustomDpc są wywoływane w dowolnym kontekście DPC w DISPATCH_LEVEL IRQL. Uruchamianie na DISPATCH_LEVEL ogranicza zestaw funkcji pomocniczych, które może wywołać procedura DpcForIsr lub CustomDpc. Aby uzyskać więcej informacji, zobacz Zarządzanie priorytetami sprzętu .
Obiekty DPC i kontrolery DPC mogą być również używane z czasomierzami. Aby uzyskać więcej informacji, zobacz Timer Objects and DPCs.