IOCTL_VOLUME_ONLINE IOCTL (ntddvol.h)
The IOCTL_VOLUME_ONLINE IOCTL puts the volume in an ONLINE state, which is a state where read and write operations will be executed. The requests are passed down to the physical disk until a subsequent IOCTL_VOLUME_OFFLINE is received.
A common use for IOCTL_VOLUME_ONLINE is a case in which the mount manager automatically puts a new volume in the ONLINE state when the volume arrives, unless that volume is listed in a registry key that is populated by the cluster service. IOCTL_VOLUME_ONLINE is called for removable drives regardless of the NoAutoMount setting in the following registry key:
HKCU\System\CurrentControlSet\Services\Mountmgr\NoAutoMount
But for volumes controlled by NoAutoMount, assigning a drive letter will cause IOCTL_VOLUME_ONLINE to be called.
For volumes that are controlled by the cluster service, IOCTL_VOLUME_ONLINE is sent by the cluster service when the local node owns the volume. The cluster service uses both IOCTL_VOLUME_ONLINE and IOCTL_VOLUME_ONLINE to allow I/O to a disk volume when the disk volume is owned by the local server. Until the cluster service puts the disk volume in an ONLINE state, no I/O is permitted to the disk volume. This prevents disk volume corruption that could result from multiple cluster nodes writing to the same disk volume simultaneously.
Major code
Input buffer
None.
Input buffer length
None.
Output buffer
None.
Output buffer length
None.
Status block
The Status member is set to STATUS_SUCCESS.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows XP. |
Header | ntddvol.h (include Ntddvol.h) |