<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:WinVolumeObj="http://cybox.mitre.org/objects#WinVolumeObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" xmlns:VolumeObj="http://cybox.mitre.org/objects#VolumeObject-2" targetNamespace="http://cybox.mitre.org/objects#WinVolumeObject-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
	<xs:annotation>
		<xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
		<xs:appinfo>
			<schema>Win_Volume_Object</schema>
			<version>2.1</version>
			<date>01/22/2014</date>			
			<short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML. </short_description>
			<terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
		</xs:appinfo>
	</xs:annotation>
	<xs:import namespace="http://cybox.mitre.org/objects#VolumeObject-2" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/Volume/2.1/Volume_Object.xsd"/>
	<xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="http://cybox.mitre.org/XMLSchema/common/2.1/cybox_common.xsd"/>
	<xs:element name="Windows_Volume" type="WinVolumeObj:WindowsVolumeObjectType">
		<xs:annotation>
			<xs:documentation>Windows_Volume object is intended to characterize Windows disk volumes. This object is roughly based on the Windows Volume Object: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383970(v=vs.85).aspx.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="WindowsVolumeObjectType" mixed="false">
		<xs:annotation>
			<xs:documentation>The WindowsVolumeObjectType type is intended to characterize Windows disk volumes.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="VolumeObj:VolumeObjectType">
				<xs:sequence>
					<xs:element minOccurs="0" name="Attributes_List" type="WinVolumeObj:WindowsVolumeAttributesListType">
						<xs:annotation>
							<xs:documentation>Represents the attributes of this windows volume object.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Drive_Letter" type="cyboxCommon:StringObjectPropertyType" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Represents the drive letter of this windows volume object.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element maxOccurs="1" minOccurs="0" name="Drive_Type" type="WinVolumeObj:WindowsDriveType">
						<xs:annotation>
							<xs:documentation>Represents the drive type of this windows volume object.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WindowsVolumeAttributesListType">
		<xs:annotation>
			<xs:documentation>A list of attributes describing this windows volume.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element maxOccurs="4" name="Attribute" type="WinVolumeObj:WindowsVolumeAttributeType">
				<xs:annotation>
					<xs:documentation>Each attribute field represents a single attribute in the windows volume attribute list.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WindowsDriveType">
		<xs:annotation>
			<xs:documentation>WindowsDriveType specifies Windows drive types via a union of the WindowsDriveTypeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cyboxCommon:BaseObjectPropertyType">
				<xs:simpleType>
					<xs:union memberTypes="WinVolumeObj:WindowsDriveTypeEnum xs:string"/>
				</xs:simpleType>
				<xs:attribute fixed="string" name="datatype" type="cyboxCommon:DatatypeEnum">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified property.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="WindowsVolumeAttributeType">
		<xs:annotation>
			<xs:documentation>WindowsVolumeAttributeType specifies Windows volume attributes via a union of the WindowsVolumeAttributeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cyboxCommon:BaseObjectPropertyType">
				<xs:simpleType>
					<xs:union memberTypes="WinVolumeObj:WindowsVolumeAttributeEnum xs:string"/>
				</xs:simpleType>
				<xs:attribute fixed="string" name="datatype" type="cyboxCommon:DatatypeEnum">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified property.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="WindowsDriveTypeEnum">
		<xs:annotation>
			<xs:documentation>This enumeration contains possible drive types, as enumerated by the WINAPI GetDriveType function: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364939(v=vs.85).aspx.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="DRIVE_UNKNOWN">
				<xs:annotation>
					<xs:documentation>The drive type cannot be determined.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIVE_NO_ROOT_DIR">
				<xs:annotation>
					<xs:documentation>The root path is invalid; for example, there is no volume mounted at the specified path.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIVE_REMOVABLE">
				<xs:annotation>
					<xs:documentation>The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIVE_FIXED">
				<xs:annotation>
					<xs:documentation>The drive has fixed media; for example, a hard disk drive or flash drive.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIVE_REMOTE">
				<xs:annotation>
					<xs:documentation>The drive is a remote (network) drive.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIVE_CDROM">
				<xs:annotation>
					<xs:documentation>The drive is a CD-ROM drive.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIVE_RAMDISK">
				<xs:annotation>
					<xs:documentation>The drive is a RAM disk.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="WindowsVolumeAttributeEnum">
		<xs:annotation>
			<xs:documentation>This enumeration is a list of attributes that may be returned by the diskpart attributes command: http://technet.microsoft.com/en-us/library/cc766465(v=ws.10).aspx.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="ReadOnly">
				<xs:annotation>
					<xs:documentation>Specifies that the volume is read-only.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Hidden">
				<xs:annotation>
					<xs:documentation>Specifies that the volume is hidden.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NoDefaultDriveLetter">
				<xs:annotation>
					<xs:documentation>Specifies that the volume does not receive a drive letter by default.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ShadowCopy">
				<xs:annotation>
					<xs:documentation>Specifies that the volume is a shadow copy volume.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
