2.6.3.23 ExecutableType Instance for WMI Data Reader Task

Windows Management Instrumentation (WMI) Data Reader Task runs queries by using the WMI Query Language (WQL) that returns information from WMI about a computer system. An executable is a WMI Data Reader Task executable if the ExecutableType attribute value is one of the following:

  • Microsoft.SqlServer.Dts.Tasks.WmiDataReaderTask.WmiDataReaderTask, Microsoft.SqlServer.WMIDRTask, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91

  • STOCK:WmiDataReaderTask

The WMI Data Reader Task executable is formally defined to be of type AnyNonPackageExecutableType. However, the following XSD fragment, which is expressed as an anonymous complex type declaration, places further restrictions on the type than the restrictions that are declared in the AnyNonPackageExecutableNameEnum type declaration. An Executable element with the ExecutableType attribute value equal to "Microsoft.SqlServer.Dts.Tasks.WmiDataReaderTask.WmiDataReaderTask, Microsoft.SqlServer.WMIDRTask, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" or "STOCK:WmiDataReaderTask" MUST follow the anonymous type declaration that is contained in this section.

Note the following differences between this anonymous complex type declaration and the full definition of the complex type for the AnyNonPackageExecutableType type:

  • This Executable element MUST NOT contain an Executable element.

  • This Executable element MUST NOT contain a ForEachEnumerator element.

  • This Executable element MUST NOT contain a ForEachVariableMapping element.

  • In the AnyNonPackageExecutableType type, the type of the ObjectData element is given as ExecutableObjectDataType. The ExecutableObjectDataType type definition contains an xs:choice XSD Schema element. However, not all of the choices that are allowed in the xs:choice XSD Schema element are available for the WMI Data Reader Task executable. For this Executable element, the ObjectData element MUST contain the WMIDRTaskData element of type WMIDRTaskDataObjectDataType.

  • The allowed values for the Name attribute of the Property element are a restricted subset of the values that are allowed on the type, as specified in the AnyNonPackageExecutablePropertyType type. Hence, the formal type declarations of the Property element and the PropertyExpression elements are replaced in this anonymous XSD fragment with a reference to TaskExePropertyNameEnum simple type. The Name attribute of the Property element MUST be restricted to the values that are shown as valid in the XSD fragment that is contained in the TaskExePropertyNameEnum section.

For more information about the elements, attributes, and enumeration values in the following XSD fragment, see section 2.5.

  
   <xs:complexType>
     <xs:sequence>
       <xs:element name="ForEachEnumerator"
                   type="DTS:ForEachEnumeratorType"
                   minOccurs="0" maxOccurs="0"/>
       <xs:element name="Property"
                   maxOccurs="unbounded">
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="DTS:PropertyElementBaseType">
               <xs:attribute name="Name"
                   type="DTS:TaskExePropertyNameEnum"
                   use="required"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
       </xs:element>
       <xs:element name="Variable" type="DTS:VariableType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="LoggingOptions" type="DTS:LoggingOptionsType"/>
       <xs:element name="PropertyExpression"
                   type="DTS:PropertyExpressionElementType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="PrecedenceConstraint"
                   type="DTS:PrecedenceConstraintType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="ForEachVariableMapping"
                   type="DTS:ForEachVariableMappingType"
                   minOccurs="0" maxOccurs="0"/>
       <xs:element name="EventHandler" type="DTS:EventHandlerType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="ObjectData">
         <xs:complexType>
           <xs:choice>
             <xs:element name="WMIDRTaskData" 
                         type="DTS:WMIDRTaskDataObjectDataType"
                         form="unqualified"/>
           </xs:choice>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
     <xs:attribute name="ExecutableType" use="required">
       <xs:simpleType>
         <xs:restriction base="xs:string">
           <xs:enumeration          value="Microsoft.SqlServer.Dts.Tasks.WmiDataReaderTask.WmiDataReaderTask, Microsoft.SqlServer.WMIDRTask, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
           <xs:enumeration value="STOCK:WmiDataReaderTask"/>
         </xs:restriction>
       </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="ThreadHint" use="optional" type="xs:int"/>
   </xs:complexType>