70 Guid = (
LPGUID)&GUID_IO_VOLUME_DISMOUNT_FAILED;
#define FSRTL_VOLUME_DISMOUNT
NTSTATUS NTAPI IoGetRelatedTargetDevice(IN PFILE_OBJECT FileObject, OUT PDEVICE_OBJECT *DeviceObject)
struct _TARGET_DEVICE_CUSTOM_NOTIFICATION TARGET_DEVICE_CUSTOM_NOTIFICATION
_In_ NDIS_STATUS EventCode
#define FSRTL_VOLUME_DISMOUNT_FAILED
#define STATUS_INVALID_PARAMETER
#define FSRTL_VOLUME_UNLOCK
#define FSRTL_VOLUME_LOCK_FAILED
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
NTSTATUS NTAPI IoReportTargetDeviceChange(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure)
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
NTSTATUS NTAPI FsRtlNotifyVolumeEvent(IN PFILE_OBJECT FileObject, IN ULONG EventCode)
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
#define ObDereferenceObject
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
#define FSRTL_VOLUME_LOCK
#define FSRTL_VOLUME_MOUNT
#define RtlCopyMemory(Destination, Source, Length)
NTSTATUS NTAPI IoReportTargetDeviceChangeAsynchronous(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure, IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback OPTIONAL, IN PVOID Context OPTIONAL)