/// <summary>Defines the controllable aspects of the Volume.DefineDosDevice() method.</summary>
[Flags]
publicenumDosDeviceAttributes
{
/// <summary>DDD_EXACT_MATCH_ON_REMOVE
/// <para>Default.</para>
/// </summary>
None=0,
/// <summary>DDD_RAW_TARGET_PATH
/// <para>Uses the targetPath string as is. Otherwise, it is converted from an MS-DOS path to a path.</para>
/// </summary>
RawTargetPath=1,
/// <summary>DDD_REMOVE_DEFINITION
/// <para>Removes the specified definition for the specified device.</para>
/// <para>To determine which definition to remove, the function walks the list of mappings for the device, looking for a match of targetPath against a prefix of each mapping associated with this device.</para>
/// <para>The first mapping that matches is the one removed, and then the function returns.</para>
/// <para>If targetPath is null or a pointer to a null string, the function will remove the first mapping associated with the device and pop the most recent one pushed.If there is nothing left to pop, the device name will be removed.</para>
/// <para>If this value is not specified, the string pointed to by the targetPath parameter will become the new mapping for this device.</para>
/// </summary>
RemoveDefinition=2,
/// <summary>DDD_EXACT_MATCH_ON_REMOVE
/// <para>If this value is specified along with <see cref="RemoveDefinition"/>, the function will use an exact match to determine which mapping to remove.</para>
/// <para>Use this value to ensure that you do not delete something that you did not define.</para>
/// </summary>
ExactMatchOnRemove=4,
/// <summary>DDD_NO_BROADCAST_SYSTEM
/// <para>Do not broadcast the WM_SETTINGCHANGE message.</para>
/// <para>By default, this message is broadcast to notify the shell and applications of the change.</para>