Что означает буква C в аббревиатуре Cid в winDbg, kdbg и livekd?

Что означает буква C в аббревиатуре Cid в winDbg, kdbg и livekd?

Если выполнить!процессв отладчике Windwos вы получите вывод в следующем формате:

PROCESS fffffa8006bff940
    SessionId: 0  Cid: 03ec    Peb: 7f79ae1f000  ParentCid: 02e4
    DirBase: 084ed000  ObjectTable: fffff8a002c3fd80  HandleCount: <Data Not Accessible>
    Image: svchost.exe

Хорошо документировано, что Cid — это ProcessId (pid) в шестнадцатеричном формате. Однако я не вижу, что означает C.

решение1

Это означает CLIENT_ID.

Из этогоЗапись в блоге MSDN(выделено мной):

Недавно кто-то спросил меня, каково реальное значение поля 'Cid', которое появляется в выводе таких команд, как !process и !thread в отладчике ядра (kd). Хотя с практической точки зрения я знал, что они представляют идентификатор процесса и идентификатор потока, я не был уверен в том, что означает Cid. В ходе поиска я нашел общедоступный источник, который отвечает на этот вопрос.Cid — это сокращение от CLIENT_ID, которое в свою очередь является недокументированной структурой..

В этом сообщении говорится, что первоисточником являетсяНедокументированные секреты Windows 2000: кулинарная книга программиста, Свен Б. Шрайбер.

решение2

03ec = 1004 в десятичной системе счисления. «c» — последняя шестнадцатеричная цифра этого числа, она ничего не обозначает (ну, само по себе 12dec).

cid/pid — это 4-значное шестнадцатеричное значение, а не 3.

Связанный контент