Files
Joas A Santos 60196e31fb Update Driver.c
2025-01-14 12:57:32 -03:00

44 lines
1.1 KiB
C

#include <ntddk.h>
#include <wdf.h>
#include "Device.h"
DRIVER_INITIALIZE DriverEntry;
EVT_WDF_DRIVER_DEVICE_ADD CryptoDriverEvtDeviceAdd;
EVT_WDF_OBJECT_CONTEXT_CLEANUP CryptoDriverEvtDriverContextCleanup;
NTSTATUS
DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
) {
WDF_DRIVER_CONFIG config;
NTSTATUS status;
WDF_DRIVER_CONFIG_INIT(&config, CryptoDriverEvtDeviceAdd);
config.EvtDriverUnload = CryptoDriverEvtDriverContextCleanup;
status = WdfDriverCreate(DriverObject, RegistryPath, WDF_NO_OBJECT_ATTRIBUTES, &config, WDF_NO_HANDLE);
if (!NT_SUCCESS(status)) {
KdPrint(("Failed to create driver: 0x%08X\n", status));
}
return status;
}
VOID
CryptoDriverEvtDriverContextCleanup(
_In_ WDFOBJECT DriverObject
) {
UNREFERENCED_PARAMETER(DriverObject);
KdPrint(("Driver context cleanup\n"));
}
NTSTATUS
CryptoDriverEvtDeviceAdd(
_In_ WDFDRIVER Driver,
_Inout_ PWDFDEVICE_INIT DeviceInit
) {
UNREFERENCED_PARAMETER(Driver);
return CryptoDeviceCreate(DeviceInit); // Função definida em Device.c
}