Defines |
| #define | GESN_TIMEOUT_VALUE (0x4) |
| #define | GESN_BUFFER_SIZE (0x8) |
| #define | MAXIMUM_IMMEDIATE_MCN_RETRIES (0x20) |
| #define | MCN_REG_SUBKEY_NAME (L"MediaChangeNotification") |
| #define | MCN_REG_AUTORUN_DISABLE_INSTANCE_NAME (L"AlwaysDisableMCN") |
| #define | MCN_REG_AUTORUN_ENABLE_INSTANCE_NAME (L"AlwaysEnableMCN") |
| #define | ClasspCanSendPollingIrp(fdoExtension) |
Functions |
| BOOLEAN | ClasspIsMediaChangeDisabledDueToHardwareLimitation (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PUNICODE_STRING RegistryPath) |
| NTSTATUS | ClasspMediaChangeDeviceInstanceOverride (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, OUT PBOOLEAN Enabled) |
| BOOLEAN | ClasspIsMediaChangeDisabledForClass (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PUNICODE_STRING RegistryPath) |
| VOID | ClasspSetMediaChangeStateEx (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN MEDIA_CHANGE_DETECTION_STATE NewState, IN BOOLEAN Wait, IN BOOLEAN KnownStateChange) |
| NTSTATUS | ClasspMediaChangeRegistryCallBack (IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext) |
| VOID | ClasspSendMediaStateIrp (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PMEDIA_CHANGE_DETECTION_INFO Info, IN ULONG CountDown) |
| VOID | ClasspFailurePredict (IN PDEVICE_OBJECT DeviceObject, IN PFAILURE_PREDICTION_INFO Info) |
| NTSTATUS | ClasspInitializePolling (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN BOOLEAN AllowDriveToSleep) |
| VOID | ClassSendEjectionNotification (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClasspSendNotification (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN const GUID *Guid, IN ULONG ExtraDataSize, IN PVOID ExtraData) |
| VOID | ClasspInterpretGesnData (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PNOTIFICATION_EVENT_STATUS_HEADER Header, IN PBOOLEAN ResendImmediately) |
| VOID | ClasspInternalSetMediaChangeState (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN MEDIA_CHANGE_DETECTION_STATE NewState, IN BOOLEAN KnownStateChange) |
| VOID | ClassSetMediaChangeState (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN MEDIA_CHANGE_DETECTION_STATE NewState, IN BOOLEAN Wait) |
| NTSTATUS | ClasspMediaChangeDetectionCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PSCSI_REQUEST_BLOCK Srb) |
| PIRP | ClasspPrepareMcnIrp (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PMEDIA_CHANGE_DETECTION_INFO Info, IN BOOLEAN UseGesn) |
| VOID | ClassCheckMediaState (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClassResetMediaChangeTimer (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| NTSTATUS | ClasspInitializeGesn (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PMEDIA_CHANGE_DETECTION_INFO Info) |
| NTSTATUS | ClassInitializeTestUnitPolling (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN BOOLEAN AllowDriveToSleep) |
| VOID | ClassInitializeMediaChangeDetection (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PUCHAR EventPrefix) |
| VOID | ClassEnableMediaChangeDetection (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClassDisableMediaChangeDetection (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClassCleanupMediaChangeDetection (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| NTSTATUS | ClasspMcnControl (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PIRP Irp, IN PSCSI_REQUEST_BLOCK Srb) |
| VOID | ClasspTimerTick (PDEVICE_OBJECT DeviceObject, PVOID Context) |
| NTSTATUS | ClasspEnableTimer (PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | ClasspDisableTimer (PDEVICE_OBJECT DeviceObject) |
| VOID | ClassNotifyFailurePredicted (PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, PUCHAR Buffer, ULONG BufferSize, BOOLEAN LogError, ULONG UniqueErrorValue, UCHAR PathId, UCHAR TargetId, UCHAR Lun) |
| NTSTATUS | ClassSetFailurePredictionPoll (PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, FAILURE_PREDICTION_METHOD FailurePredictionMethod, ULONG PollingPeriod) |
Variables |
| GUID | StoragePredictFailureEventGuid = WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID |
| ULONG | BreakOnMcnDisable = FALSE |