次の方法で共有


provider 複合型

プロバイダーと、プロバイダーが提供するカウンターを定義します。

<xs:complexType name="provider">
    <xs:choice
        minOccurs="0"
        maxOccurs="unbounded"
    >
        <xs:element name="counterSet"
            type="man:counterSet"
        >
            <xs:key name="uniqueCounterID">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@id"
                 />
            </xs:key>
            <xs:unique name="uniqueCounterName">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@name"
                 />
            </xs:unique>
            <xs:keyref name="existBaseID">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@baseID"
                 />
            </xs:keyref>
            <xs:keyref name="existPerfTimeID">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@perfTimeID"
                 />
            </xs:keyref>
            <xs:keyref name="existPerfFreqID">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@perfFreqID"
                 />
            </xs:keyref>
            <xs:keyref name="existMultiCounterID">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@multiCounterID"
                 />
            </xs:keyref>
            <xs:key name="uniqueStructNames">
                <xs:selector
                    xpath="./man:structs/man:struct"
                 />
                <xs:field
                    xpath="@name"
                 />
            </xs:key>
            <xs:keyref name="existCounterName">
                <xs:selector
                    xpath="./man:counter"
                 />
                <xs:field
                    xpath="@struct"
                 />
            </xs:keyref>
        </xs:element>
    </xs:choice>
    <xs:attribute name="symbol"
        type="man:CSymbolType"
        use="optional"
     />
    <xs:attribute name="callback"
        use="optional"
        default="default"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="custom"
                 />
                <xs:enumeration
                    value="default"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="providerGuid"
        type="man:GUIDType"
        use="required"
     />
    <xs:attribute name="applicationIdentity"
        type="xs:string"
        use="required"
     />
    <xs:attribute name="providerType"
        use="optional"
        default="userMode"
    >
        <xs:simpleType>
            <xs:restriction
                base="xs:string"
            >
                <xs:enumeration
                    value="userMode"
                 />
                <xs:enumeration
                    value="kernelMode"
                 />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="providerName"
        type="xs:string"
        use="optional"
        default="Counters"
     />
    <xs:attribute name="resourceBase"
        type="man:UInt32Type"
        use="optional"
     />
</xs:complexType>

子要素

要素 Type 説明
counterSet man:counterSet 1 つ以上の論理的に関連するカウンターを含むカウンター セットを識別します。

属性

名前 説明
applicationIdentity xs:string ローカライズされたリソース文字列を含むバイナリ ファイルの名前 。.exeまたは.dll ファイル (バイナリへのパスは含まれません)。
Lodctr.exe ユーティリティは、省略可能な [path] パラメーターのパスを使用してバイナリ ファイルを検索します。 たとえば、 lodctr [/m:manifest [path]] などです。 [path] パラメーターを含まない場合は、マニフェストを含むフォルダーLodctr.exe検索します。
コールバック (callback) この属性は、コンシューマーが特定のアクションを実行したときに通知を受け取る必要があることを示します。
この属性を含める場合、CTRPP ツールは代替 CounterInitialize 関数シグネチャを使用します。これは、 ControlCallback コールバック関数を実装する関数の名前を渡すために使用します。
この属性を指定する代わりに、 -NotificationCallbackCTRPP 引数を使用できます。
Windows Vista: この属性の有効な値は"custom" だけです。 CTRPP ユーティリティは、ControlCallback コールバック関数のテンプレートを生成します。 テンプレートは、CTRPP によって生成された .c ファイルに含まれています。

providerGuid man:GUIDType マニフェスト内のプロバイダーを一意に識別する文字列 GUID。 GUID はマニフェスト内で一意である必要があります。
アプリケーションのバージョンが変更された場合 (サイド バイ サイド インストールをサポートしている場合) にのみ、新しい GUID を指定する必要があります。
providerName xs:string WMI Win32_PerfRawData クラス名の作成に使用される名前。 名前を指定しない場合は、クラスの名前として "Counters" が使用されます。
providerType プロバイダーがユーザー モード プロバイダー、カーネル モード プロバイダー、ドライバー プロバイダーのいずれであるかを識別します。 有効値は次のとおりです。
期間 説明
userMode
アプリケーション、DLL、ユーザー モード ドライバーなどのユーザー モード コンポーネントに対してこのモードを指定します。 ユーザー モード コンポーネントの一般的な拡張機能は、.exeまたは.dllです。 既定値です。
カーネル
WDM ドライバーや WDF ドライバーなどのカーネル モード コンポーネントには、このモードを指定します。 カーネル モード コンポーネントの一般的な拡張機能は.sys。
Windows Vista と Windows Server 2008: この値は、Windows 7 および Windows Server 2008 R2 までサポートされていません。

resourceBase man:UInt32Type

CTRPP がリソース識別子の生成に使用する開始リソース インデックス値を定義します。

記号 man:CSymbolType

プロバイダーを識別するシンボリック名。 CTRPP ツールは、プロバイダーへのハンドルを必要とする関数 (PerfSetULongCounterValue など) を呼び出すときに使用できる HANDLE 変数を作成します。 シンボリック名は変数の名前です。

CTRPP を呼び出すときに -prefix 引数を含めると、プレフィックス文字列がシンボリック名の先頭に追加されます。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]