40{
45
48 {
50 }
51
53
56
57
60
62 {
64 {
66 break;
67 }
69 {
70 Guid = (
LPGUID)&GUID_IO_VOLUME_DISMOUNT_FAILED;
71 break;
72 }
74 {
76 break;
77 }
79 {
81 break;
82 }
84 {
86 break;
87 }
89 {
91 break;
92 }
93 }
95 {
96
98
100 {
105 }
106 else
107 {
110 }
111
113 }
115
117}
#define NT_SUCCESS(StatCode)
_In_ NDIS_STATUS EventCode
#define FSRTL_VOLUME_UNLOCK
#define FSRTL_VOLUME_LOCK
#define FSRTL_VOLUME_DISMOUNT_FAILED
#define FSRTL_VOLUME_DISMOUNT
#define FSRTL_VOLUME_MOUNT
#define FSRTL_VOLUME_LOCK_FAILED
NTSTATUS NTAPI IoGetRelatedTargetDevice(IN PFILE_OBJECT FileObject, OUT PDEVICE_OBJECT *DeviceObject)
NTSTATUS NTAPI IoReportTargetDeviceChange(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure)
NTSTATUS NTAPI IoReportTargetDeviceChangeAsynchronous(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure, IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback OPTIONAL, IN PVOID Context OPTIONAL)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INVALID_PARAMETER
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
struct _TARGET_DEVICE_CUSTOM_NOTIFICATION TARGET_DEVICE_CUSTOM_NOTIFICATION
#define ObDereferenceObject