!ks.dump

Расширение !ks.dump отображает указанный объект.

!ks.dump Object [Level] [Flags]  

Параметры

Объект
Указывает указатель на структуру AVStream, объект класса AVStream или объект PortCls. Можно также указать указатель на IRP или объект файла.

Уровень
Необязательно. Задает уровень детализации для отображения на шкале 0-7 с постепенно большей информацией, отображаемой для более высоких значений. Чтобы отобразить все доступные сведения, укажите значение 7. Дополнительные сведения об уровнях можно просмотреть, выполнив команду !ks.dump без аргументов.

Флаги
Необязательно. Указывает тип отображаемой информации. Флаги могут быть любым сочетанием следующих битов.

Bit 0 (0x1)
Отображение всех очередей IRP.

Бит 1 (0x2)
Отображение всех ожидающих IRP.

Бит 2 (0x4)
Анализ остановленного графа для подозреваемых.

Бит 3 (0x8)
Отображение всех состояний закреплений.

DLL-библиотеки

Windows 2000

winxp\Ks.dll

Windows XP и более поздние версии

Ks.dll

Дополнительная информация

Дополнительные сведения см. в разделе "Отладка потоковой передачи ядра".

Замечания

Команда !ks.dump распознает большинство объектов AVStream, включая закрепления, фильтры, фабрики, устройства, каналы и указатели потоков. Эта команда также распознает некоторые структуры классов потоков, включая объекты потока, экземпляры фильтров, расширения устройств и SRB.

Ниже приведен пример отображения !ks.dump для фильтра:

kd> !dump 829493c4
Filter object 829493c4 [CKsFilter = 82949350]
    Descriptor     f7a233c8:
    Context        829dce28

Ниже приведен пример отображения !ks.dump для пин-кода:

kd> !dump 8160DDE0 7
Pin object 8160DDE0 [CKsPin = 8160DD50]
    DeviceState    KSSTATE_RUN
    ClientState    KSSTATE_RUN
    ResetState     KSRESET_END
    CKsPin object 8160DD50 [KSPIN = 8160DDE0]
        State                    KSSTATE_RUN
        Processing Mutex         8160DFD0 is not held
        And Gate &               8160DF88
        And Gate Count           1

Некоторые важные части этого дисплея включены в следующую таблицу.

Параметр

Значение

DeviceState

Состояние ввода пин-кода. Если отличается от ClientState, это состояние, на которое будет переходить мини-driver.

ClientState

Состояние, в которое на самом деле находится мини-driver. Это отражает состояние канала.

ResetState

Указывает, находится ли объект в середине очистки.

KSRESET_BEGIN указывает на смыв.

KSRESET_END указывает на отсутствие очистки.

Штат

Внутреннее состояние транспорта пин-кода в фильтры, отличные от AVStream.

Ниже приведен пример отображения !ks.dump для драйвера класса потока:

kd> !dump 81a0a170 7
Device Extension 81a0a228:
    Device Object          81a0a170 [\Driver\TESTCAP]
    Next Device Object     81bd56d8 [\Driver\PnpManager]
    Physical Device Object 81bd56d8 [\Driver\PnpManager]
    REGISTRY FLAGS:
        Page out driver when closed
        No suspend if running
    MINIDRIVER Data:
        Device Extension       81a0a44c
        Interrupt Routine      00000000
        Synchronize Routine    STREAM!StreamClassSynchronizeExecution
        Receive Device SRB     testcap!AdapterReceivePacket
        Cancel Packet          testcap!AdapterCancelPacket
        Timeout Packet         testcap!AdapterTimeoutPacket
        Size (d / r / s / f)   1a0(416), 14(20), 978(2424), 0(0)
        Sync Mode              Driver Synchronizes
    Filter Type 0:
        Symbolic Links:
            Information Paged Out
        Instances:
            816b7bd8

Обратите внимание, что размеры перечислены как в шестнадцатеричных числах, так и в десятичном эквиваленте. Сокращенные значения размера в этом отображении перечислены в следующей таблице.

Размер

Описание

d

Устройство

r

Запросить

s

Stream

f

Фильтр. Если размер фильтра равен 0, фильтр является одним экземпляром. Если оно больше 0, оно является несколькими экземплярами.