3.4.7.14 Media Arrival

When the server detects that media was inserted into a removable media drive, for each callback object that is registered in the list of callback objects, the server MUST call the callback object's IVdsAdviseSink::OnNotify() (section 3.3.4.3.1) method by using a VDS_NOTIFICATION (section 2.2.1.3.9) structure with the following attributes:

  • objectType member is VDS_NTT_VOLUME.

  • Volume member is a VDS_VOLUME_NOTIFICATION (section 2.2.1.3.4) that has the following attributes:

    • ulEvent is VDS_NF_VOLUME_MODIFY.

    • volumeId is the VDS_OBJECT_ID (section 2.2.1.1.3) of the volume object corresponding to the removable media drive.

    • plexId SHOULD be GUID_NULL, but it is not relevant when ulEvent is VDS_NF_VOLUME_MODIFY.

    • ulPercentCompleted needs to be from 0 to 100 and is implementation-specific, but it is not relevant when ulEvent is VDS_NF_VOLUME_MODIFY.

Then, for each callback object that is registered in the list of callback objects, the server MUST call the callback object's IVdsAdviseSink::OnNotify() method by using a VDS_NOTIFICATION structure with the following attributes:

  • objectType member is VDS_NTT_DISK.

  • Disk member is a VDS_DISK_NOTIFICATION (section 2.2.1.3.3) that has the following attributes:

    • ulEvent is VDS_NF_DISK_MODIFY.

    • diskId is the VDS_OBJECT_ID of the disk object corresponding to the removable media drive.