windows-itpro-docs/windows/client-management/mdm/configuration-service-provider-ddf.md
Chris J. Lin ef1c69b439
Release mcc ent (#1)
* smb adds

* smb adds

* formatting

* private preview and support content

* edit removed and dep

* Fix blocking issues

* Acro-fix

* 24H2 CSP Updates

* Fix link

* fix link in dep page

* edit

* edit index file

* syntax-fix-24h2

* ltsc-edits

* ltsc-edits

* lichris-docs-1

* Acrolinx improvements

* refresh for maxado-8631996

* update link for maxado-8631993

* additional edits, acrolinx

* ltsc-tw

* contentsource-8914508

* contentsource-8914508

* Updates for 1 October release

* Set stale debug to false

* update gp link for 24h2

* additional changes

* Changes to updates, acrolinx changes

* fixes broken links

* Fixed alignment issues

* updates from Rafal

* fixed acrolinx

* so many link fixes

* added release notes and troubleshoot content

* updates

* Update security-compliance-toolkit-10.md

Added Windows 11 24H2

* Update get-support-for-security-baselines.md

Updated for Windows 11 24H2

* bump date

* bump date

* fix pde comment

* fixing broken link

* Fix broken redirections

* fix to rel link

* reset head, fix link

* add cli to deploy, add script to cli

* removing "mcce"

* edits to create page

* Update default and global release policies OS version and dates to latest release values

* emoved e from mcce and other changes

* updated example script

* added important notice to update page

* more update page changes

* clarified how proxy configuration is used

* anonymizing variables in example script

* revise example script

* acrolinx fixes to update page

* changes to other pages and content in overview page

* Update broken link

Update broken link

* Update windows-sandbox-configure-using-wsb-file.md

Update `HostFolder` value description in `MappedFolder`, specifying that the path could be absolute or relative, not only absolute as, instead, is for the `SandboxFolder` value.

* Remove bad link

Removed bad link. There is already a second link referring to content so no need to replace the link.

* docfx update for security book

* Correct TOC entry changing Windows 10 to Windows

* Update whats-new-do.md

- Vpn to VPN
- Minor improvements

* Updated date for freshness reporting

* Add EOS callout

Fix some obvious Acrolinx issues

* Fixed typo added clarity

* Update mcc-ent-deploy-to-windows.md

* Update .openpublishing.redirection.windows-deployment.json

* Update .openpublishing.redirection.windows-deployment.json

* Update policy-csp-localpoliciessecurityoptions.md

* Correct indentation and spacing

* Acrolinx: "Enteprise"

* Update mcc-ent-edu-overview.md

* refresh

* Remove redirection and final bits of store-for-business

store-for-business, AKA /microsoft-store/, is retired, and the content is archived in officearchive-pr. This archival was for ADO task 9268422.

* added support content and other changes

* fixed tabs

* fixed tabs

* Updated device reg policy and group information

* Update delivery-optimization-endpoints.md

Added a line item in MCC table for Outlook *res.cdn.office.net requirement

* freshness review

* Fix broken links

* Minor change

* content for faq

* changes to landing page

* more content to faqs

* pencil edit

* add copilot exps link

* edits and ren cli file temporarily

* ren file back and edit toc to lowercase

* edit

* edit

* edit

* Update windows-autopatch-configure-network.md

Adding a new network endpoint required for the service 'device.autopatch.microsoft.com' @tiaraquan

* Clarify some points and remove data that is confusing to customers.

* fix syntax

* Sentence correction

* Update windows/deployment/do/waas-delivery-optimization-faq.yml

Co-authored-by: Meghan Stewart <33289333+mestew@users.noreply.github.com>

* Update windows/deployment/do/waas-delivery-optimization-faq.yml

Co-authored-by: Meghan Stewart <33289333+mestew@users.noreply.github.com>

* moved shortcuts under policy settings article

---------

Co-authored-by: Alma Jenks <v-alje@microsoft.com>
Co-authored-by: Meghan Stewart <33289333+mestew@users.noreply.github.com>
Co-authored-by: Stacyrch140 <102548089+Stacyrch140@users.noreply.github.com>
Co-authored-by: Nidhi Doshi <77081571+doshnid@users.noreply.github.com>
Co-authored-by: Gary Moore <5432776+garycentric@users.noreply.github.com>
Co-authored-by: Vinay Pamnani (from Dev Box) <vinpa@microsoft.com>
Co-authored-by: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com>
Co-authored-by: Aaron Czechowski <aczechowski@users.noreply.github.com>
Co-authored-by: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com>
Co-authored-by: Daniel H. Brown <32883970+DHB-MSFT@users.noreply.github.com>
Co-authored-by: David Strome <21028455+dstrome@users.noreply.github.com>
Co-authored-by: Padma Jayaraman <v-padmaj@microsoft.com>
Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com>
Co-authored-by: Rebecca Agiewich <16087112+rjagiewich@users.noreply.github.com>
Co-authored-by: Rick Munck <33725928+jmunck@users.noreply.github.com>
Co-authored-by: Tanaka <Huios@users.noreply.github.com>
Co-authored-by: Tiara Quan <95256667+tiaraquan@users.noreply.github.com>
Co-authored-by: Frank Rojas <45807133+frankroj@users.noreply.github.com>
Co-authored-by: Davide Piccinini <davide.piccinini.95@gmail.com>
Co-authored-by: Phil Garcia <phil@thinkedge.com>
Co-authored-by: Learn Build Service GitHub App <Learn Build Service LearnBuild@microsoft.com>
Co-authored-by: tiaraquan <tiaraquan@microsoft.com>
Co-authored-by: Caitlin Hart <caithart@microsoft.com>
Co-authored-by: Harman Thind <63820404+hathin@users.noreply.github.com>
Co-authored-by: [cmknox] <[cmknox@gmail.com]>
Co-authored-by: Carmen Forsmann <cmforsmann@live.com>
2024-10-17 11:34:07 -07:00

30 KiB

title, description, ms.date, ms.collection
title description ms.date ms.collection
Configuration service provider DDF files Learn more about the OMA DM device description framework (DDF) for various configuration service providers 09/18/2020
highpri
tier2

Configuration service provider DDF files

This article lists the OMA DM device description framework (DDF) files for various configuration service providers. DDF files are used only with OMA DM provisioning XML.

As of December 2022, DDF XML schema was updated to include additional information such as OS build applicability. DDF v2 XML files for Windows 10 and Windows 11 are combined, and provided in a single download:

DDF v2 schema

DDF v2 XML schema definition is listed below along with the schema definition for the referenced MSFT namespace.

  • Schema definition for DDF v2:

    <?xml version="1.0" encoding="Windows-1252"?>
    <xs:schema xmlns="http://tempuri.org/DM_DDF-V1_2" elementFormDefault="qualified" targetNamespace="http://tempuri.org/DM_DDF-V1_2"
               xmlns:xs="http://www.w3.org/2001/XMLSchema"
               xmlns:MSFT="http://schemas.microsoft.com/MobileDevice/DM">
      <xs:import schemaLocation="DDFv2Msft.xsd" namespace="http://schemas.microsoft.com/MobileDevice/DM" />
      <xs:element name="MgmtTree">
        <xs:annotation>
          <xs:documentation>Starting point for DDF</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="VerDTD" />
            <xs:element minOccurs="1" ref="MSFT:Diagnostics" />
            <xs:element minOccurs="1" maxOccurs="unbounded" ref="Node" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="VerDTD" type="xs:string" />
      <xs:element name="Node">
        <xs:annotation>
          <xs:documentation>Main Recurring XML tag describing nodes of the CSP</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="NodeName" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Path" />
            <xs:element minOccurs="1" maxOccurs="1" ref="DFProperties" />
            <xs:choice>
              <xs:element minOccurs="0" maxOccurs="unbounded" ref="Node" />
            </xs:choice>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="NodeName" type="xs:anyURI" />
      <xs:element name="Path" type="xs:anyURI" />
      <xs:element name="MIME" type="xs:string" />
      <xs:element name="DDFName" type="xs:string" />
      <xs:element name="DFProperties">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="AccessType" />
            <xs:element minOccurs="0" maxOccurs="1" ref="DefaultValue" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Description" />
            <xs:element ref="DFFormat" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Occurrence" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Scope" />
            <xs:element minOccurs="0" maxOccurs="1" ref="DFTitle" />
            <xs:element ref="DFType" />
            <xs:element minOccurs="0" maxOccurs="1" ref="CaseSense" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:Applicability" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:DynamicNodeNaming" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:AllowedValues" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:ReplaceBehavior" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:RebootBehavior" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:GpMapping" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:CommonErrorResults" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:Deprecated" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:DependencyBehavior" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:ConflictResolution" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:AtomicRequired" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AccessType">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="Add" />
            <xs:element minOccurs="0" maxOccurs="1" name="Copy" />
            <xs:element minOccurs="0" maxOccurs="1" name="Delete" />
            <xs:element minOccurs="0" maxOccurs="1" name="Exec" />
            <xs:element minOccurs="0" maxOccurs="1" name="Get" />
            <xs:element minOccurs="0" maxOccurs="1" name="Replace" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DefaultValue" type="xs:string" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="DFFormat">
        <xs:complexType>
          <xs:choice>
            <xs:element name="b64" />
            <xs:element name="bin" />
            <xs:element name="bool" />
            <xs:element name="chr" />
            <xs:element name="int" />
            <xs:element name="node" />
            <xs:element name="null" />
            <xs:element name="xml" />
            <xs:element name="date" />
            <xs:element name="time" />
            <xs:element name="float" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="Occurrence">
        <xs:complexType>
          <xs:choice>
            <xs:element name="One" />
            <xs:element name="ZeroOrOne" />
            <xs:element name="ZeroOrMore" />
            <xs:element name="OneOrMore" />
            <xs:element name="ZeroOrN" type="xs:integer" />
            <xs:element name="OneOrN" type="xs:integer" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="Scope">
        <xs:complexType>
          <xs:choice>
            <xs:element name="Permanent" />
            <xs:element name="Dynamic" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="DFTitle" type="xs:string" />
      <xs:element name="DFType">
        <xs:complexType>
          <xs:choice>
            <xs:element minOccurs="1" maxOccurs="unbounded" ref="MIME" />
            <xs:element ref="DDFName" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="CaseSense">
        <xs:complexType>
          <xs:choice>
            <xs:element name="CS" />
            <xs:element name="CIS" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    
  • Schema definition for the MSFT namespace:

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/MobileDevice/DM" targetNamespace="http://schemas.microsoft.com/MobileDevice/DM" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="Diagnostics" type="xs:string">
        <xs:annotation>
          <xs:documentation>This node contains an XML blob that can be used as an argument to the DiagnosticsLogCSP to pull diagnostics for a feature.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Deprecated">
        <xs:annotation>
          <xs:documentation>This node marks that a feature is deprecated.  If included, OsBuildDeprecated gives the OS Build version that the node is no longer recommended to be set.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="OsBuildDeprecated" type="xs:string" />
        </xs:complexType>
      </xs:element>
      <xs:element name="DynamicNodeNaming">
        <xs:annotation>
          <xs:documentation>This node contains information on how to dynamically name the node such that the name is valid.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:choice>
            <xs:element name="ServerGeneratedUniqueIdentifier">
              <xs:annotation>
                <xs:documentation>This indicates that the server should generate a unique identifier for the node.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ClientInventory">
              <xs:annotation>
                <xs:documentation>This indicates that the client will generate the name of the node based on the device state (such as inventorying apps).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="UniqueName" type="xs:string">
              <xs:annotation>
                <xs:documentation>This indicates that the server should name the node, and the value listed gives a regex to define what is allowed.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="ConflictResolution" default="NoMerge">
        <xs:simpleType>
          <xs:annotation>
            <xs:documentation>The type of the conflict resolution.</xs:documentation>
          </xs:annotation>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NoMerge">
              <xs:annotation>
                <xs:documentation>No policy merge.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LowestValueMostSecure">
              <xs:annotation>
                <xs:documentation>The lowest value is the most secure policy value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HighestValueMostSecure">
              <xs:annotation>
                <xs:documentation>The highest value is the most secure policy value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LastWrite">
              <xs:annotation>
                <xs:documentation>The last written value is current value</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LowestValueMostSecureZeroHasNoLimits">
              <xs:annotation>
                <xs:documentation>The lowest value is the most secure policy value unless the value is zero.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HighestValueMostSecureZeroHasNoLimits">
              <xs:annotation>
                <xs:documentation>The highest value is the most secure policy value unless the value is zero.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Applicability">
        <xs:annotation>
          <xs:documentation>These tags indicate what are required on the device for the node to be applicable to configured.  These tags can be inherited by children nodes.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OsBuildVersion" type="xs:string">
              <xs:annotation>
                <xs:documentation>This tag describes the first build that a feature is released to.  If the feature was backported, multiple OS versions will be listed, such that the OS build version without a minor number is the first "major release."</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CspVersion" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>This tag describes the lowest CSP Version that the node was released to.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EditionAllowList" type="xs:string">
              <xs:annotation>
                <xs:documentation>This tag describes the list of Edition IDs that the features is allowed on.  0x88* refers to Windows Holographic for Business.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RequiresAzureAd">
              <xs:annotation>
                <xs:documentation>This tag indicates that the node requires the device to be Azure Active Directory Joined to be applicable.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AllowedValues">
        <xs:annotation>
          <xs:documentation>These tags describe what values are allowed to be set for this particular node.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="AllowedValuesGroup" />
          <xs:attributeGroup ref="AllowedValuesAttributeGroup" />
        </xs:complexType>
      </xs:element>
      <xs:attributeGroup name="AllowedValuesAttributeGroup">
        <xs:attribute name="ValueType" use="required">
          <xs:annotation>
            <xs:documentation>This attribute describes what kind of Allowed Values tag this is.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="XSD">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the Value tag contains an XSD for the node.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="RegEx">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the Value tag contains a RegEx for the node.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="ADMX">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the node can be described by an external ADMX file.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="JSON">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the node can be described by a JSON schema.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="ENUM">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values are an enumeration.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="Flag">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values can be combined into a bitwise flag.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="Range">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values are a numerical range.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="SDDL">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values are a string in the SDDL format.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="None">
                <xs:annotation>
                  <xs:documentation>This attribute indicates there is no data-driven way to define the allowed values of the node.  This potentially means that all string values are valid values.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:attributeGroup>
      <xs:group name="AllowedValuesGroup">
        <xs:sequence>
          <xs:group minOccurs="0" maxOccurs="1" ref="AllowedValueGroupedNodes" />
          <xs:element minOccurs="0" maxOccurs="1" name="List">
            <xs:annotation>
              <xs:documentation>This tag indicates that the node input can contain multiple, delimited values.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="Delimiter" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>This attribute details the delimeter used for the list of values.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:group>
      <xs:group name="ValueAndDescriptionGroup">
        <xs:sequence>
          <xs:element name="Value" type="xs:string">
            <xs:annotation>
              <xs:documentation>This tag indicates an allowed value.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" maxOccurs="1" name="ValueDescription" type="xs:string">
            <xs:annotation>
              <xs:documentation>This tag gives further description to an allowed value, such as for an enumeration.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:group>
      <xs:group name="AllowedValueGroupedNodes">
        <xs:choice>
          <xs:element ref="Enum" maxOccurs="unbounded" />
          <xs:group ref="ValueAndDescriptionGroup" />
          <xs:element ref="AdmxBacked" />
        </xs:choice>
      </xs:group>
      <xs:element name="Enum">
        <xs:annotation>
          <xs:documentation>This tag gives details for one particular enumeration of the allowed values.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:group ref="ValueAndDescriptionGroup" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdmxBacked">
        <xs:annotation>
          <xs:documentation>This tag indicates the relevent details for the corresponding ADMX policy for this node.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="Area" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives the area path of the ADMX policy.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="Name" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives the name of the ADMX policy.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="File" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives the filename for the ADMX policy.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReplaceBehavior" default="Replace">
        <xs:annotation>
          <xs:documentation>This tag details the replace behavior of the node.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Append">
              <xs:annotation>
                <xs:documentation>When performing a replace operation on this node, the value is appending to the existing node data.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Replace">
              <xs:annotation>
                <xs:documentation>When performing a replace operation on this node, the existing node data is removed before new data is added.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="RebootBehavior" default="None">
        <xs:annotation>
          <xs:documentation>This tag describes the reboot behavior of the node.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="None">
              <xs:annotation>
                <xs:documentation>No reboot is required for this node.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Automatic">
              <xs:annotation>
                <xs:documentation>This node will automatically perform a reboot to take effect.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ServerInitiated">
              <xs:annotation>
                <xs:documentation>This node needs a reboot initiated from an external source to take effect.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="GpMapping">
        <xs:annotation>
          <xs:documentation>This tag details the information necessary to map this node to an existing group policy.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="GpEnglishName" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute details the English name of the GP.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="GpAreaPath" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute details the area path of the GP.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="GpElement" type="xs:string">
            <xs:annotation>
              <xs:documentation>This attribute details a particular element of a GP that the CSP node maps to.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="CommonErrorResults">
        <xs:annotation>
          <xs:documentation>This tag lists out common error HRESULTS reported by the CSP and English text to associate with them.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CommonErrorOne" type="xs:string" />
            <xs:element name="CommonErrorTwo" type="xs:string" />
            <xs:element name="CommonErrorThree" type="xs:string" />
            <xs:element name="CommonErrorFour" type="xs:string" />
            <xs:element name="CommonErrorFive" type="xs:string" />
            <xs:element name="CommonErrorSix" type="xs:string" />
            <xs:element name="CommonErrorSeven" type="xs:string" />
            <xs:element name="CommonErrorEight" type="xs:string" />
            <xs:element name="CommonErrorNine" type="xs:string" />
            <xs:element name="CommonErrorTen" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AtomicRequired">
        <xs:annotation>
          <xs:documentation>This tag indicates that this node and all children nodes should be enclosed by an Atomic tag when being sent to the client.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DependencyBehavior">
        <xs:annotation>
          <xs:documentation>These tags detail potential dependencies that the current CSP node has on other nodes in the same CSP.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="DependencyGroup" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Dependency">
        <xs:annotation>
          <xs:documentation>This tag describes a dependency that the current CSP node has on another nodes in the same CSP.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DependencyUri" type="xs:anyURI">
              <xs:annotation>
                <xs:documentation>The URI that the current CSP node has a dependency on.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="DependencyAllowedValue" />
          </xs:sequence>
          <xs:attribute name="Type" use="required">
            <xs:annotation>
              <xs:documentation>This tag details the kind of dependency.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="DependsOn">
                  <xs:annotation>
                    <xs:documentation>The current node depends on the dependency holding a certain value.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
                <xs:enumeration value="Not">
                  <xs:annotation>
                    <xs:documentation>The current node depends on the dependency not holding a certain value.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="DependencyGroup">
        <xs:annotation>
          <xs:documentation>This tag details one specific dependency.  A node might have multiple different dependencies.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" ref="DependencyChangedAllowedValues" />
            <xs:element ref="Dependency" maxOccurs="unbounded" />
          </xs:sequence>
          <xs:attribute name="FriendlyId" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives a friendly ID to the dependency, to differentiate it from other dependencies.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="DependencyAllowedValue">
        <xs:annotation>
          <xs:documentation>This tag details the values that the dependency must be set to for the dependency to be satisfied.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="AllowedValuesGroup" />
          <xs:attributeGroup ref="AllowedValuesAttributeGroup" />
        </xs:complexType>
      </xs:element>
      <xs:element name="DependencyChangedAllowedValues">
        <xs:annotation>
          <xs:documentation>This tag details a change to the current node's allowed values if the dependency is satisfied.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="AllowedValuesGroup" />
          <xs:attributeGroup ref="AllowedValuesAttributeGroup" />
        </xs:complexType>
      </xs:element>
    </xs:schema>
    

Older DDF files

You can download the older DDF files for various CSPs from the links below:

You can download the older Policy area DDF files by clicking the following links: