共用方式為


計數器複雜類型

定義計數器。

<xs:complexType name="counter">
    <xs:choice
        minOccurs="0"
        maxOccurs="1"
    >
        <xs:element name="counterAttributes"
            type="man:counterAttributes"
        >
            <xs:key name="uniqueCounterAttributeName">
                <xs:selector
                    xpath="./man:counterAttribute"
                 />
                <xs:field
                    xpath="@name"
                 />
            </xs:key>
        </xs:element>
    </xs:choice>
    <xs:attribute name="symbol"
        type="man:CSymbolType"
        use="optional"
     />
    <xs:attribute name="id"
        type="man:UInt32Type"
        use="required"
     />
    <xs:attribute name="uri"
        type="xs:anyURI"
        use="required"
     />
    <xs:attribute name="name"
        use="optional"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:maxLength
                    value="1023"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="description"
        type="xs:string"
        use="optional"
     />
    <xs:attribute name="type"
        use="required"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="perf_counter_counter"
                 />
                <xs:enumeration
                    value="perf_counter_timer"
                 />
                <xs:enumeration
                    value="perf_counter_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_large_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_100ns_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_obj_time_queuelen_type"
                 />
                <xs:enumeration
                    value="perf_counter_bulk_count"
                 />
                <xs:enumeration
                    value="perf_counter_text"
                 />
                <xs:enumeration
                    value="perf_counter_rawcount"
                 />
                <xs:enumeration
                    value="perf_counter_large_rawcount"
                 />
                <xs:enumeration
                    value="perf_counter_rawcount_hex"
                 />
                <xs:enumeration
                    value="perf_counter_large_rawcount_hex"
                 />
                <xs:enumeration
                    value="perf_sample_fraction"
                 />
                <xs:enumeration
                    value="perf_sample_counter"
                 />
                <xs:enumeration
                    value="perf_counter_timer_inv"
                 />
                <xs:enumeration
                    value="perf_sample_base"
                 />
                <xs:enumeration
                    value="perf_average_timer"
                 />
                <xs:enumeration
                    value="perf_average_base"
                 />
                <xs:enumeration
                    value="perf_average_bulk"
                 />
                <xs:enumeration
                    value="perf_obj_time_timer"
                 />
                <xs:enumeration
                    value="perf_100nsec_timer"
                 />
                <xs:enumeration
                    value="perf_100nsec_timer_inv"
                 />
                <xs:enumeration
                    value="perf_counter_multi_timer"
                 />
                <xs:enumeration
                    value="perf_counter_multi_timer_inv"
                 />
                <xs:enumeration
                    value="perf_counter_multi_base"
                 />
                <xs:enumeration
                    value="perf_100nsec_multi_timer"
                 />
                <xs:enumeration
                    value="perf_100nsec_multi_timer_inv"
                 />
                <xs:enumeration
                    value="perf_raw_fraction"
                 />
                <xs:enumeration
                    value="perf_large_raw_fraction"
                 />
                <xs:enumeration
                    value="perf_raw_base"
                 />
                <xs:enumeration
                    value="perf_large_raw_base"
                 />
                <xs:enumeration
                    value="perf_elapsed_time"
                 />
                <xs:enumeration
                    value="perf_counter_delta"
                 />
                <xs:enumeration
                    value="perf_counter_large_delta"
                 />
                <xs:enumeration
                    value="perf_precision_system_timer"
                 />
                <xs:enumeration
                    value="perf_precision_100ns_timer"
                 />
                <xs:enumeration
                    value="perf_precision_object_timer"
                 />
                <xs:enumeration
                    value="perf_counter_composite"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="baseID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="detailLevel"
        use="required"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="standard"
                 />
                <xs:enumeration
                    value="advanced"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="defaultScale"
        use="optional"
        default="0"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:integer"
            >
                <xs:minInclusive
                    value="-10"
                 />
                <xs:maxInclusive
                    value="10"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="aggregate"
        use="optional"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="sum"
                 />
                <xs:enumeration
                    value="avg"
                 />
                <xs:enumeration
                    value="max"
                 />
                <xs:enumeration
                    value="min"
                 />
                <xs:enumeration
                    value="undefined"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="perfTimeID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="perfFreqID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="multiCounterID"
        type="man:UInt32Type"
        use="optional"
     />
    <xs:attribute name="struct"
        type="man:CSymbolType"
        use="optional"
     />
    <xs:attribute name="field"
        type="man:CSymbolType"
        use="optional"
     />
</xs:complexType>

子元素

元素 類型 Description
counterAttributes man:counterAttributes 列出可指定計數器資料在取用者應用程式中顯示方式的唯一屬性。

屬性

名称 類型 Description
彙總 (aggregate) 如果counterSet實例屬性是 globalAggregate、multipleAggregate 或 globalAggregateHistory,則要套用的匯總函式。 以下是您可以套用的可能彙總函式:
麥克斯
傳回計數器值上限。
min
傳回最小計數器值。
Avg
傳回平均計數器值。
傳回計數器值的總和。
定義
請勿匯總此計數器。
baseID man:UInt32Type 相同計數器集合內另一個計數器的識別碼,其值是用來計算這個計數器的值。 下列計數器類型需要基底計數器:
PERF_AVERAGE_TIMER
需要PERF_AVERAGE_BASE基底計數器。
PERF_AVERAGE_BULK
需要PERF_AVERAGE_BASE基底計數器。
PERF_COUNTER_MULTI_TIMER_INV
需要PERF_COUNTER_MULTI_BASE基底計數器。
PERF_LARGE_RAW_FRACTION
需要PERF_LARGE_RAW_BASE基底計數器。
PERF_PRECISION_100NS_TIMER
需要PERF_LARGE_RAW_BASE基底計數器。
PERF_RAW_FRACTION
需要PERF_RAW_BASE基底計數器。
PERF_SAMPLE_FRACTION
需要PERF_SAMPLE_BASE基底計數器。
defaultScale 要套用至計數器值的縮放比例, (factor * 計數器值) 。 如果未套用縮放比例,則預設值為零。 有效值的範圍從 10 到 10 (0.00000000001 到 10000000000) 。 如果此值為零,小數位數值為 1;如果此值為 1,則刻度值為 10;如果此值為 1,則小數位數值為 .10;依此類故。
description xs:string 計數器的簡短描述。 如果計數器包含 noDisplay 屬性,則不需要指定這個屬性。
detailLevel 指定計數器詳細資料的目標物件。 以下是可能的值:
標準
顯示一般使用者瞭解之計數器的詳細資料。
先進
顯示只有進階使用者瞭解之計數器的詳細資料。
field man:CSymbolType 結構內包含計數器值的功能變數名稱。 使用者模式提供者不允許此屬性。
id man:UInt32Type 識別計數器集合內計數器的唯一數位。
multiCounterID man:UInt32Type 相同計數器集內另一個計數器的識別碼,其乘數值用來計算這個計數器的值。 下列計數器類型需要乘數值。 參考的計數器的類型必須為 PERF_COUNTER_RAWCOUNT。
  • PERF_COUNTER_MULTI_TIMER
  • PERF_COUNTER_MULTI_TIMER_INV
  • PERF_100NSEC_MULTI_TIMER
  • PERF_100NSEC_MULTI_TIMER_INV
NAME 計數器的名稱。 名稱必須是唯一且少於 1,024 個字元。 名稱會區分大小寫。 如果計數器包含 noDisplay 屬性,則不需要指定這個屬性。
perfFreqID man:UInt32Type 相同計數器集內另一個計數器的識別碼,其頻率值是用來計算這個計數器的值。 下列計數器類型需要頻率。 PERF_COUNTER_LARGE_RAWCOUNT計數器類型包含時間戳記值。
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
perfTimeID man:UInt32Type 相同計數器集合內另一個計數器的識別碼,其時間戳記值是用來計算此計數器的值。 下列計數器類型需要時間戳記。 PERF_COUNTER_LARGE_RAWCOUNT計數器類型包含時間戳記值。
  • PERF_COUNTER_OBJECT_TIME_QUEUELEN_TYPE
  • PERF_ELAPSED_TIME
  • PERF_OBJ_TIME_TIMER
  • PERF_PRECISION_OBJECT_TIMER
struct man:CSymbolType 包含這個計數器值的結構專案名稱。 使用者模式提供者不允許這個屬性。
符號 man:CSymbolType 識別計數器的符號名稱。 CTRPP工具會建立常數,您可以在呼叫需要計數器識別碼 (的函式時使用,例如PerfIncrementULongCounterValue) 。 常數的名稱是符號名稱。
類型 計數器類型的名稱。 如需可能的值,請參閱上述語法區塊。 如需每種類型的詳細資訊,請參閱 Windows 2003 部署指南中的 計數器類型 。 名稱區分大小寫的使用小寫。
uri xs:anyURI 唯一的統一資源識別項,可讓使用者從任何位置擷取計數器值。

備註

若要提供回溯相容性,計數器集合中的每個計數器都應該指定相同的 perfFreqIDperfTimeID 值。

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]