Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Правило KsInvalidStreamPointer проверяет, предоставляет ли драйвер минипорта KS допустимый указатель потока KS в качестве аргумента функции. Типичные нарушения вызваны неправильной обработкой указателя или повреждением указателя, вызванным неправильным использованием памяти.
Допустимый указатель потока — это указатель на начальный или конечный пограничный потоковый указатель или указатель потока, который был клонирован через KsStreamPointerClone. Дополнительные сведения см. в разделе "Ведущие" и "Конечные пограничные указатели потока".
Это правило также проверяет, не используется ли 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. Например: Дополнительные сведения см. в разделе "Проверка драйверов". |
проверяющий /домен ks [параметры] /driver <yourdriver>
| во время выполнения |
|---|
Запустите средство проверки драйвера и выберите параметр проверки соответствия DDI. |
Применяется к
KsStreamPointerDelete
KsStreamPointerAdvance
KsStreamPointerAdvanceOffsetsAndUnlock
KsStreamPointerCancelTimeout
KsStreamPointerGetIrp
KsStreamPointerGetMdl
KsStreamPointerGetNextClone
KsStreamPointerLock
KsStreamPointerScheduleTimeout
KsStreamPointerSetStatusCode
KsStreamPointerUnlock