1、初始化设备热插拔消息,注册回调函数
代码如下:
#include <fltKernel.h>
#include <wdmguid.h>
DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
0xA5DCBF10, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
PVOID g_notificationEntry = NULL;
//回调函数
NTSTATUS NotificationCallback(IN PVOID NotificationStructure,IN PVOID Context);
//初始化设备热插拔消息
NTSTATUS HotPlugInit(_In_ PDRIVER_OBJECT DriverObject)
{
NTSTATUS status = STATUS_SUCCESS;
//初始化设备热插拔消息,注册回调函数
status = IoRegisterPlugPlayNotification(
EventCategoryDeviceInterfaceChange,
PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES,
&GUID_DEVINTERFACE_USB_DEVICE,
DriverObject,
NotificationCallback,
NULL, &g_notificationEntry
);
//判断是否注册成功
if (!NT_SUCCESS(status))
{
KdPrint(