Wofür steht das C in Cid in winDbg, kdbg und livekd?

Wofür steht das C in Cid in winDbg, kdbg und livekd?

Wenn Sie den!VerfahrenBefehl im Windows-Debugger erhalten Sie eine Ausgabe in diesem Format:

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

Es ist gut dokumentiert, dass Cid die ProcessId (PID) in Hex ist. Ich sehe jedoch nicht, wofür das C steht.

Antwort1

Es steht für CLIENT_ID.

DavonMSDN-Blogbeitrag(Hervorhebung von mir):

Kürzlich fragte mich jemand, was die wahre Bedeutung des Felds „Cid“ sei, das in der Ausgabe von Befehlen wie !process und !thread im Kernel-Debugger (kd) erscheint. Obwohl ich aus praktischer Sicht wusste, dass diese die Prozess-ID und die Thread-ID darstellen, war ich mir nicht sicher, wofür Cid steht. Im Zuge einer Suche fand ich eine öffentliche Quelle, die die Frage beantwortet.Cid ist die Abkürzung für CLIENT_IDwas wiederum eine undokumentierte Struktur ist.

Dieser Beitrag zitiert die Originalquelle alsUndokumentierte Windows 2000-Geheimnisse: Ein Kochbuch für Programmierer, von Sven B. Schreiber.

Antwort2

03ec = 1004 in dez. „c“ ist die letzte hexadezimale Ziffer dieser Zahl, sie steht für nichts (also nicht 12dec für sich allein).

Die CID/PID ist ein 4-stelliger Hex-Wert, nicht 3.

verwandte Informationen