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 wywołuje DDI, które są istotne dla sterowników wirtualnego miniportu Storport (VMiniport).
W tym dziale
| Temat | Opis |
|---|---|
Ta reguła sprawdza, czy sterownik nie próbuje zwolnić tego samego bloku pamięci puli dwa razy. |
|
Ta reguła sprawdza, czy element KeSetEvent nie jest wywoływany dwukrotnie w tym samym obiekcie zdarzenia. Jeśli ten sam obiekt zdarzenia jest przekazywany do procedury, sterownik narusza regułę. |
|
Ta reguła sprawdza, czy IRP przydzielony przez IoAllocateIrp zostanie uwolniony przez IoFreeIrp lub czy jego procedura kończąca zostanie ustawiona przez IoSetCompletionRoutine. |
|
Ta reguła sprawdza, czy po wyjściu z procedury HwStorFindAdapter pole VirtualDevice w strukturze PORT_CONFIGURATION_INFORMATION (Storport) zostało ustawione na WARTOŚĆ FALSE. Reguła ma zastosowanie tylko do fizycznych miniportów StorPort. |
|
Ta reguła sprawdza, czy po wyjściu z procedury HwStorFindAdapter pole VirtualDevice w strukturze PORT_CONFIGURATION_INFORMATION (Storport) zostało ustawione na wartość TRUE. Reguła ma zastosowanie tylko do wirtualnych miniportów StorPort. |
|
Ta reguła sprawdza, czy wywołania sterownika do niektórych funkcji synchronizacji są wykonywane tylko wtedy, gdy normalne dostarczanie APC jądra jest wyłączone. |
|
Ta reguła sprawdza, czy dojście do klucza rejestru utworzonego za pomocą funkcji ZwCreateKey jest następnie prawidłowo używane przez inne procedury ZwXxx . Nie można wywołać procedury ZwOpenKey na już otwartym dojściu. Procedury ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose, i ZwDeleteKey nie mogą być wywoływane na uchwycie, który nie jest otwarty. Przed zwróceniem należy również zamknąć uchwyt. |
|
Ta reguła sprawdza, czy dojście do klucza rejestru otwartego za pośrednictwem ZwOpenKey jest następnie używane poprawnie przez inne procedury ZwXxx. Procedury ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose i ZwDeleteKey nie mogą być wywoływane na uchwycie, który nie jest otwarty. Przed zwróceniem należy również zamknąć uchwyt. |
Aby wybrać zestaw reguł VirtualStorport
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ę VirtualStorport.
Aby wybrać domyślny zestaw reguł w oknie wiersza polecenia dla deweloperów programu Visual Studio, określ parametr VirtualStorport.sdv z opcją /check . Przykład:
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.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).