KsInvalidStreamPointer 규칙(ks)
KsInvalidStreamPointer 규칙은 KS 미니포트 드라이버가 유효한 KS Stream 포인터를 함수 인수로 제공하는지 확인합니다. 일반적인 위반은 잘못된 포인터 처리 또는 잘못된 메모리 사용으로 인한 포인터 손상으로 인해 발생합니다.
유효한 스트림 포인터는 KsStreamPointerClone을 통해 복제된 선행 또는 후행 에지 스트림 포인터 또는 스트림 포인터입니다. 자세한 내용은 선행 및 후행 Edge 스트림 포인터를 참조 하세요.
이 규칙은 복제되지 않은 스트림 포인터를 삭제하는 데 KsStreamPointerDelete가 사용되지 않은지도 확인합니다.
드라이버 모델: KS
버그 검사 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION(0x0008100C) 규칙과 함께 발견된 버그 검사
예시
다음 코드는 이 규칙을 위반합니다.
PKKSSTREAM_POINTER StreamPointer = KsPinGetLeadingEdgeStreamPointer (Pin, KSSTREAM_POINTER_STATE_UNLOCKED);
//
// ERROR: KsStreamPointerDelete can only be called on clone stream pointers.
//
KsStreamPointerDelete (StreamPointer);
또한 이 코드는 규칙을 위반합니다.
KsStreamPointerDelete (NULL);
테스트 방법
런타임 시 |
---|
이 규칙을 확인하려면 명령 프롬프트 창을 엽니다. 드라이버 검증 도구 명령을 입력하고 /domain ks를 지정 합니다. 예시: 자세한 내용은 드라이버 검증 도구를 참조하세요. |
verifier /domain ks [options] /driver <yourdriver>
런타임 시 |
---|
적용 대상
KsStreamPointerDelete
KsStreamPointerAdvance
KsStreamPointerAdvanceOffsetsAndUnlock
KsStreamPointerCancelTimeout
KsStreamPointerGetIrp
KsStreamPointerGetMdl
KsStreamPointerGetNextClone
KsStreamPointerLock
KsStreamPointerScheduleTimeout
KsStreamPointerSetStatusCode
KsStreamPointerUnlock