Desde CodeMachine podemos acceder a un artículo muy útil para aquellos que de alguna forma tengan que enfrentarse a la ardua tarea de depurar una aplicación en Windows y tenga que tratar con algún driver del sistema o el propio núcleo.
En dicho artículo se nos detallan varias de las estructuras de datos internas del núcleo de Windows. Por cada estructura se nos da una breve explicación sobre la misma, más algunos detalles sobres los campos más importantes de ésta.
La estructuras de datos contenidas en el artículos son las siguientes:
| Doubly Linked List : | LIST_ENTRY | |
| Process and Thread : | EPROCESS, KPROCESS, ETHREAD, KTHREAD | |
| Kernel and HAL : | KPCR, KINTERRUPT, CONTEXT, KTRAP_FRAME, KDPC, KAPC, KAPC_STATE | |
| Synchronization Objects : | DISPATCHER_HEADER, KEVENT, KSEMAPHORE, KMUTANT, KTIMER, KGATE, KQUEUE | |
| Executive & RTL : | IO_WORKITEM | |
| I/O Manager : | IRP, IO_STACK_LOCATION, DRIVER_OBJECT, DEVICE_OBJECT, DEVICE_NODE, FILE_OBJECT | |
| Objects and Handles : | OBJECT_HEADER, OBJECT_TYPE, HANDLE_TABLE_ENTRY | |
| Memory Manager : | MDL, MMPTE, MMPFN, MMPFNLIST, MMWSL, MMWSLE, POOL_HEADER, MMVAD | |
| Cache Manager : | VACB, VACB_ARRAY_HEADER, SHARED_CACHE_MAP, PRIVATE_CACHE_MAP, SECTION_OBJECT_POINTERS |