KsInvalidStreamPointer-Regel (ks)
Die KsInvalidStreamPointer-Regel überprüft, ob ein KS-Miniporttreiber einen gültigen KS Stream Pointer als Funktionsargument bereitstellt. Typische Verletzungen werden durch falsche Zeigerbehandlung oder eine Zeigerbeschädigung verursacht, die durch eine falsche Verwendung des Arbeitsspeichers verursacht wird.
Ein gültiger Datenstromzeiger ist ein führender oder nachfolgender Edgestreamzeiger oder ein Datenstromzeiger, der über KsStreamPointerClone geklont wurde. Weitere Informationen finden Sie unter Leading and Trailing Edge Stream Pointers.For more information see Leading and Trailing Edge Stream Pointers.
Diese Regel überprüft außerdem, dass KsStreamPointerDelete nicht verwendet wurde, um zu versuchen, einen nicht geklonten Datenstromzeiger zu löschen.
Treibermodell: KS
Fehlerüberprüfungen, die mit dieser Regel gefunden wurden: Fehlerüberprüfung 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x0008100C )
Beispiel
Der folgende Code verstößt gegen diese Regel.
PKKSSTREAM_POINTER StreamPointer = KsPinGetLeadingEdgeStreamPointer (Pin, KSSTREAM_POINTER_STATE_UNLOCKED);
//
// ERROR: KsStreamPointerDelete can only be called on clone stream pointers.
//
KsStreamPointerDelete (StreamPointer);
Dieser Code verstößt auch gegen die Regel.
KsStreamPointerDelete (NULL);
So führen Sie einen Test durch
Zur Laufzeit |
---|
Um diese Regel zu überprüfen, öffnen Sie ein Eingabeaufforderungsfenster. Geben Sie einen Treiberüberprüfungsbefehl ein, und geben Sie /domain ks an. Zum Beispiel: Weitere Informationen finden Sie unter Treiberüberprüfung. |
verifier /domain ks [options] /driver <yourdriver>
Zur Laufzeit |
---|
Führen Sie die Treiberüberprüfung aus , und wählen Sie die DDI-Konformitätsüberprüfungsoption aus. |
Gilt für:
KsStreamPointerDelete
KsStreamPointerAdvance
KsStreamPointerAdvanceOffsetsAndUnlock
KsStreamPointerCancelTimeout
KsStreamPointerGetIrp
KsStreamPointerGetMdl
KsStreamPointerGetNextClone
KsStreamPointerLock
KsStreamPointerScheduleTimeout
KsStreamPointerSetStatusCode
KsStreamPointerUnlock