IOCTL_DISK_UPDATE_PROPERTIES control code
Applies to: desktop apps only
Invalidates the cached partition table and re-enumerates the device.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl( (HANDLE) hDevice, // handle to device IOCTL_DISK_UPDATE_PROPERTIES,// dwIoControlCode NULL, // lpInBuffer 0, // nInBufferSize NULL, // lpOutBuffer 0, // nOutBufferSize (LPDWORD)lpBytesReturned, // lpBytesReturned (LPDWORD) lpOverlapped // lpOverlapped );
Parameters
- hDevice
-
A handle to the object to be re-enumerated. To retrieve a device handle, call the CreateFile function.
- dwIoControlCode
-
The control code for the operation. Use IOCTL_DISK_UPDATE_PROPERTIES for this operation.
- lpInBuffer
-
Not used with this operation; set to NULL.
- nInBufferSize
-
Not used with this operation; set to zero.
- lpOutBuffer
-
Not used with this operation; set to NULL.
- nOutBufferSize
-
Not used with this operation; set to zero.
- lpBytesReturned
-
A pointer to a variable that receives the size of the data stored in the output buffer, in bytes.
If lpOverlapped is NULL, lpBytesReturned cannot be NULL. Even when an operation returns no output data and lpOutBuffer is NULL, DeviceIoControl makes use of lpBytesReturned. After such an operation, the value of lpBytesReturned is meaningless.
If lpOverlapped is not NULL, lpBytesReturned can be NULL. If this parameter is not NULL and the operation returns data, lpBytesReturned is meaningless until the overlapped operation has completed. To retrieve the number of bytes returned, call GetOverlappedResult. If hDevice is associated with an I/O completion port, you can retrieve the number of bytes returned by calling GetQueuedCompletionStatus.
- lpOverlapped
-
A pointer to an OVERLAPPED structure.
If hDevice was opened without specifying FILE_FLAG_OVERLAPPED, lpOverlapped is ignored.
If hDevice was opened with the FILE_FLAG_OVERLAPPED flag, the operation is performed as an overlapped (asynchronous) operation. In this case, lpOverlapped must point to a valid OVERLAPPED structure that contains a handle to an event object. Otherwise, the function fails in unpredictable ways.
For overlapped operations, DeviceIoControl returns immediately, and the event object is signaled when the operation has been completed. Otherwise, the function does not return until the operation has been completed or an error occurs.
Return value
If the operation completes successfully, DeviceIoControl returns a nonzero value.
If the operation fails or is pending, DeviceIoControl returns zero. To get extended error information, call GetLastError.
Remarks
This operation is used in synchronizing the system view of the specified disk device when the partition table of the disk is directly modified. Be sure to perform this operation when you update the usable space for a disk so that the system will update its partition table.
You can update the properties of a live volume, and the volume can be open for sharing during the update operation.
You do not need to lock a volume that you are updating, nor do you need to shut down other applications or services during the update operation.
Requirements
|
Minimum supported client | Windows XP |
|---|---|
|
Minimum supported server | Windows Server 2003 |
|
Header |
|
See also
Send comments about this topic to Microsoft
Build date: 4/17/2012