IOCTL_STORAGE_REINITIALIZE_MEDIA IOCTL (ntddstor.h)

驅動程式可以發出 IOCTL_STORAGE_REINITIALIZE_MEDIA 控制程式代碼,將清除程式卸載至存儲設備。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

針對 Windows Server 2022 和更新版本,包含選擇性 STORAGE_REINITIALIZE_MEDIA 結構,其中包含清理選項或 NULL。 對於舊版OS,輸入緩衝區為NULL。

輸入緩衝區長度

對於 Windows 10 21H1 版和更新版本,Parameters.DeviceIoControl.InputBufferLength 會指出 Irp-AssociatedIrp.SystemBuffer> 的參數緩衝區大小,如果 Parameters.DeviceIoControl.InputBuffer != NULL,則參數緩衝區的大小必須為 = sizeof (STORAGE_REINITIALIZE_MEDIA) ;否則為>零。 對於舊版OS,輸入緩衝區長度為零。

輸出緩衝區

無。

輸出緩衝區長度

無。

輸入/輸出緩衝區

n/a

輸入/輸出緩衝區長度

n/a

狀態區塊

如果呼叫成功完成,[ 資訊 ] 字段會設定為零;否則,它會設定為非零值。

備註

IOCTL_STORAGE_REINITIALIZE_MEDIA 將清除卸除至存儲設備。 在命令完成之後,無法保證記憶體裝置數據成功刪除或復原。

此 IOCTL 僅限於桌面裝置系列中裝置上的數據磁碟。 在 Windows 預安裝環境中 (WinPE) ,開機和數據磁碟都支援此 IOCTL。

在舊版OS中,實作不需要任何輸入,而且不會傳回狀態以外的輸出。

呼叫端應該先呼叫 FSCTL_LOCK_VOLUME ,再呼叫此 IOCTL,以清除上層快取的數據。 在發出命令給裝置之前,不會等待未完成的要求完成。

規格需求

需求
最低支援的用戶端 Windows 10 (版本 1607)
最低支援的伺服器 Windows Server 2016
標頭 ntddstor.h

另請參閱

IO_STATUS_BLOCK結構

STORAGE_REINITIALIZE_MEDIA

如何在分派例程中完成 IRP