Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj tych reguł, aby sprawdzić, czy sterownik prawidłowo używa interfejsów DDI NDIS.
W tym dziale
| Temat | Opis |
|---|---|
Reguła Init_DeRegisterInterrupt określa, że jeśli NdisMRegisterInterruptEx jest wywoływany co najmniej raz podczas MPInitialize, NdisMDeregisterInterruptEx powinien być wywoływany co najmniej raz w MPHaltEx. |
|
Reguła Init_NdisAllocateIoWorkItem określa, że jeśli NdisAllocateIoWorkItem jest wywoływany co najmniej raz podczas miniportInitializeEx, funkcja NdisFreeIoWorkItem powinna:
|
|
Reguła Init_RegisterInterrupt określa, że rejestracja przerwań, które zwykle mają miejsce podczas inicjowania, powinna zostać cofnięta, jeśli wystąpi problem w procesie inicjowania lub podczas zatrzymywania sterownika miniportu. Jeśli funkcja NdisMRegisterInterruptEx jest wywoływana co najmniej raz podczas miniportInitializeEx, funkcja NdisMDeregisterInterruptEx musi być wywoływana co najmniej raz w programie MiniportHaltEx. |
|
Reguła Init_RegisterSG określa, że rejestracja listy rozdzielczo-zbierającej (SG), która zwykle ma miejsce podczas inicjowania, musi zostać cofnięta, jeśli coś pójdzie nie tak w procesie inicjowania lub podczas zatrzymywania sterownika miniportowego. Jeśli funkcja NdisMRegisterScatterGatherDma jest wywoływana co najmniej raz podczas miniportInitializeEx, funkcja NdisMDeregisterScatterGatherDma powinna być wywoływana co najmniej raz w miniportHaltEx. |
|
Sterownik filtru musi wywołać metodę NdisFDeregisterFilterDriver z procedury FilterDriverUnload . |
|
Po powrocie kontrolki NdisMDeregisterInterruptEx sterownik miniportu nie może wywołać funkcji NdisMSynchronizeWithInterruptEx . |
|
Reguła NullCheck weryfikuje, czy wartość NULL wewnątrz kodu sterownika nie zostanie później wyłuszona w sterowniku. Ta reguła zgłasza usterkę, jeśli jeden z tych warunków jest spełniony:
W przypadku naruszeń reguły NullCheck najistotniejsze instrukcje kodu są wyróżnione w panelu drzewa śledzenia. Aby uzyskać więcej informacji na temat pracy z danymi wyjściowymi raportu, zobacz Statyczny raport weryfikatora sterowników i Omówienie przeglądarki śledzenia. |
Aby wybrać zestaw reguł użycia DDI
Wybierz projekt sterownika (.vcxProj) w programie Microsoft Visual Studio. W menu sterowników kliknij Uruchom Weryfikator Sterowników Statycznych….
Kliknij kartę Reguły . W obszarze Zestawy reguł wybierz pozycję DDIUsage.
Aby wybrać domyślny zestaw reguł w oknie wiersza polecenia dla deweloperów programu Visual Studio, określ DDIUsage.sdv z opcją /check . Przykład:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Aby uzyskać więcej informacji, zobacz Użycie Static Driver Verifier do Znalezienia Defektów w Sterownikach oraz Polecenia Static Driver Verifier (MSBuild).