Guest User

Untitled

a guest
Mar 6th, 2020
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.38 KB | None | 0 0
  1. #include <wdf.h>
  2. #include <ntddk.h>
  3.  
  4. DRIVER_INITIALIZE DriverEntry;
  5. EVT_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd;
  6. EVT_WDF_DRIVER_UNLOAD EvtDriverUnload;
  7.  
  8. NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath)
  9. {
  10.     NTSTATUS retstatus;
  11.  
  12.     WDF_DRIVER_CONFIG driver_config_struct;
  13.    
  14.     driver_config_struct.EvtDriverUnload = EvtDriverUnload;
  15.    
  16.     driver_config_struct.EvtDriverDeviceAdd = EvtDriverDeviceAdd;
  17.    
  18.     WDF_OBJECT_ATTRIBUTES driver_attributes_struct;
  19.  
  20.     WDF_DRIVER_CONFIG_INIT(&driver_config_struct, EvtDriverDeviceAdd);
  21.     WDF_OBJECT_ATTRIBUTES_INIT(&driver_attributes_struct);
  22.  
  23.     retstatus = WdfDriverCreate(DriverObject, RegistryPath, &driver_attributes_struct, &driver_config_struct, WDF_NO_HANDLE);
  24.  
  25.     if (retstatus != STATUS_SUCCESS)
  26.     {
  27.         DbgPrint("[-] Error,intilialize Driver code: %x\n", retstatus);
  28.         goto return_status;
  29.     }
  30.  
  31.     DbgPrint("[*] DRIVER LOAD\n");
  32.  
  33. return_status:
  34.     return retstatus;
  35.  
  36. }
  37.  
  38. NTSTATUS EvtDriverDeviceAdd(_In_ WDFDRIVER WdfDriverObject, _Inout_ PWDFDEVICE_INIT DeviceInit)
  39. {
  40.  
  41.     NTSTATUS retstatus;
  42.     UNREFERENCED_PARAMETER(WdfDriverObject);
  43.     WDFDEVICE WdfDeviceObject;
  44.  
  45.     retstatus = WdfDeviceCreate(&DeviceInit, WDF_NO_OBJECT_ATTRIBUTES, &WdfDeviceObject);
  46.  
  47.     return retstatus;
  48. }
  49.  
  50. VOID EvtDriverUload(_In_ WDFDRIVER WdfDriverObject)
  51. {
  52.  
  53.     WdfObjectDelete(WdfDriverObject);
  54.  
  55.     DbgPrint("[*] DRIVER UNLOAD\n");
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment