از این به بعد بشتر تمرکز پستهام رو روی کرنل و درایور نویسی و ساختار درون اون میگذارم .
تصمیم داشتم بیشتر درمورد ساختار درون کرنل ویندوز توضیح بدم اما دیدم بیشتر موجب سردرگمی میشه برای همین تصمیم گرفتم با ارائه مثال ، در وقت مناسب ساختار هارو بیشتر توضیح بدم .
اولین پست ررو با یک مثال خیلی خیلی ساده توضیح میدم که خواننده ها بیشتر با روش کامپایل و اجرا و دیدن خروجی درایور آشنا بشن .
typedef struct _DRIVER_OBJECT { PDEVICE_OBJECT DeviceObject; PDRIVER_EXTENSION DriverExtension; PUNICODE_STRING HardwareDatabase; PFAST_IO_DISPATCH FastIoDispatch; PDRIVER_INITIALIZE DriverInit; PDRIVER_STARTIO DriverStartIo; PDRIVER_UNLOAD DriverUnload; PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]; } DRIVER_OBJECT, *PDRIVER_OBJECT;