Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A CTRPP eszköz egy előfeldolgozó, amely elemzi és ellenőrzi a V2-szolgáltató jegyzékfájlját. Az eszköz erőforrásokat hoz létre .rc a szolgáltató fogyasztói számára szükséges sztringekkel, és létrehoz egy .h fejlécet a számláló adatainak megadásához használt kóddal. A CTRPP eszközt a szolgáltató buildje során kell futtatnia. A szolgáltató fejlesztése során a generált kódot kell kiindulópontként használnia, ahelyett, hogy saját maga próbálná létrehozni ezt a kódot.
ctrpp -o codeFile -rc rcFile [-legacy] [-MemoryRoutines] [-NotificationCallback] [-prefix prefix] [-ch symFile] [-backcompat] inputFile
Érvek
| Lehetőség | Leírás |
|---|---|
| bemeneti fájl |
Szükséges: A számlálókat meghatározó (XML-jegyzékfájl) nevét adja meg .man . |
| -okódfájl |
Szükséges: Megadja a .h CTRPP által generálandó kódfájl nevét. Ez a fájl C/C++ beágyazott segítő funkciókat tartalmaz, amelyek leegyszerűsítik a szolgáltató inicializálását és inicializálásának visszavonását. |
| -rcrc fájl |
Szükséges: Megadja a CTRPP által generálandó (erőforrásfájl) nevét .rc . Ez a fájl tartalmazza a szolgáltató sztringtábláját. |
| -chszimbolikus fájl | Megadja a CTRPP által generálandó opcionális .h szimbólumfájl nevét. Ez a fájl C/C++ szimbólumokat fog tartalmazni a szolgáltató egyes számlálóhalmazainak nevéhez és GUID azonosítóihoz. |
| -előtagelőtag | Megadja a létrehozott fejlécfájlban definiált változókhoz és függvényekhez használandó előtagot. |
| -Értesítés visszahívása | Módosítja a CounterInitialize függvény alapértelmezett aláírását, hogy tartalmazza a ControlCallback,AllocateMemory és FreeMemory visszahívási függvények nevének megadására szolgáló paramétereket. Ennek az argumentumnak ugyanaz a hatása, mint az attribútumnak callback a provider elemben. |
| -kimeneti fájláttelepítése | A fájlok létrehozása .h helyett .rc frissíti a jegyzékfájlt a legújabb verzióra, és menti az outputFile fájlba. Ez a kapcsoló nem használható más kapcsolókkal. Használat: CTRPP -migrate NewFile.man OldFile.man |
| -Vissza-Compat |
Elavult: A kernel módú szolgáltatók támogatása a Windows 7 rendszerben került hozzáadásra. Alapértelmezés szerint a CTRPP által a kernel módú szolgáltatók számára generált kód nem lesz kompatibilis a Windows korábbi verzióival (az illesztőprogram hiányzó Pcw*** API-k miatt nem töltődik be). Állítsa be -BackCompat a Windows korábbi verzióival való kompatibilitás engedélyezését. Az illesztőprogram dinamikusan betölti a szükséges API-kat, és a generált kód csendesen letiltja a szolgáltatót, ha az API-k nem érhetők el. |
| -Memória rutinok |
Elavult: A kapcsolóval együtt használva -Legacy a generált kódban memóriarutinok sablonjait tartalmazza. Ellenkező esetben ennek az argumentumnak ugyanaz a hatása, mint a kapcsolónak -NotificationCallback . |
| -Örökség |
Elavult: Létrehozza *.ha , *.c, és *.rc*_r.h fájlokat a Windows Vista kódsablonjainak használatával (a CounterInitialize és a CounterCleanup helyett létrehozza a PerfAutoInitialize és a PerfAutoCleanup funkciót). Ez a kapcsoló használható a -MemoryRoutines és a -NotificationCallback kapcsolókkal, de nem használható más kapcsolókkal. Ne használja az -o vagy -rc kapcsolókat ezzel a kapcsolóval. A létrehozott fájlok a jegyzékfájl neve alapján lesznek elnevezve, és a jegyzékfájlt tartalmazó könyvtárba lesznek írva. Használat: CTRPP -legacy OldFile.man |
Megjegyzések
A CTRPP eszköz létrehoz egy .h kódfájlt, egy .rc erőforrásfájlt, és opcionálisan létrehoz egy .h szimbólumfájlt.
A létrehozott erőforrásfájl használata
A CTRPP eszköz létrehoz egy .rc erőforrásfájlt, amely tartalmazza a szolgáltató számlálóhalmazainak felhasználói számára szükséges honosítható karakterláncokat.
Fontos
A fájlból származó erőforrásokat bele kell foglalni a szolgáltató bináris fájljába, és a szolgáltató bináris fájljának teljes elérési útját regisztrálni kell a szolgáltató jegyzékfájljának telepítése során. Azok a fogyasztók, akik nem tudják megtalálni és betölteni az erőforrásokat, nem tudják használni a szolgáltató számlálóit.
A sztringerőforrásokat a következőképpen kell kezelni:
- A fejlesztő szerkeszti a szolgáltatói jegyzékfájlt (
.man), hogy aapplicationIdentityszolgáltató attribútumát egy olyan szolgáltató bináris (.DLL, .SYS vagy .EXE) nevére állítsa be, amely tartalmazza a szolgáltató sztringerőforrásait, és a szolgáltatói összetevő részeként lesz telepítve. - A CTRPP eszköz beolvassa a szolgáltatói jegyzékfájlt, és létrehoz egy
.rcfájlt. - Az RC (erőforrás-fordító) eszköz összeállítja a CTRPP által generált
.rcfájl adatait, hogy létrehozza a.resbináris erőforrásokat tartalmazó fájlt. Ezt megteheti a CTRPP által generált.rcfájl közvetlen fordításával VAGY egy másik.rcfájl fordításával, amely tartalmazza a CTRPP által generált.rcfájlt egy#includedirektíván keresztül. - A linker beágyazza az RC által generált
.resfájl adatait a szolgáltató bináris fájljába. - A telepítés során a szolgáltató bináris fájlja a felhasználó rendszerére másolódik, és a szolgáltatói jegyzékfájl regisztrálása a lodctr eszközzel történik. A lodctr eszköz a szolgáltatói jegyzékfájl attribútumát teljes elérési úttá alakítja
applicationIdentity, és rögzíti a szolgáltató bináris fájljának teljes elérési útját a beállításjegyzékben.- Ha a szolgáltató bináris fájlja ugyanabban a könyvtárban található, mint a jegyzékfájl, használja a következőt:
lodctr.exe /m:"C:\full\manifest\path\manifest.man". A lodctr a megadott jegyzék elérési útját a jegyzékfájlapplicationIdentityattribútumával kombinálja a teljes elérési út kialakításához. - Ellenkező esetben használja a
lodctr.exe /m:"C:\full\manifest\path\manifest.man" "c:\full\binary\path". A lodctr a megadott bináris elérési utat a jegyzékfájlapplicationIdentityattribútumával kombinálja a teljes elérési út kialakításához. - Diagnosztikai célokra a rögzített teljes elérési utat a rendszerleíró kulcs
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\_V2Providers\{<ProviderGuid>}értékének ellenőrzésévelApplicationIdentityellenőrizheti. - Ha a bináris fájl MUI-t használ a honosításhoz, mindenképpen másolja a MUI-fájlt a bináris fájllal együtt.
- Ha a szolgáltató bináris fájlja ugyanabban a könyvtárban található, mint a jegyzékfájl, használja a következőt:
- A számlálókészlet gyűjtése során a fogyasztó a szolgáltató bináris fájljának rögzített teljes elérési útját használja a szükséges karakterláncok megkereséséhez és betöltéséhez a szolgáltató bináris fájljának erőforrásaiból.
A generált kódfájl használata felhasználói módú szolgáltatóban
A CTRPP eszköz létrehoz egy .h C/C++ kódfájlt. Ha a szolgáltatói jegyzékfájl providerType attribútuma a következőre userModevan állítva, a létrehozott kódfájl a következő definíciókat fogja tartalmazni, amelyek hasznosak a felhasználói módú szolgáltatók kódolásához:
- n CounterInitialize előtag nevű szolgáltatóinicializálási függvény.
- Egy CounterCleanup előtag nevű szolgáltatói tisztítási függvény.
- Globális szolgáltatói változó, amely a függvény előtagja által megnyitott szolgáltatói leírót tárolja. A változó neve a jegyzékfájlban szereplő
providerelem attribútumának értékesymbol. Ezt a változót a ,PerfDeleteInstanceés más API-k hívásaibanPerfCreateInstancekell használni a szolgáltató adatainak vezérléséhez. - Minden számlálóhoz egy globális számlálóhalmazGUID változó a számlálóhalmaz GUID azonosítójával. A változó neve az
counterSetelemsymbolattribútumának értéke plusz a "GUID" utótag, pl.MyCounterSetGUID. Ezt a változót a ,PerfDeleteInstanceés más API-k hívásaibanPerfCreateInstancekell használni a szolgáltató adatainak vezérléséhez. - Minden számlálóhoz egy számlálómakró a számláló
idértékével. A makró neve azcounterelemsymbolattribútumának értéke. Ezt a makrót a ,PerfSetULongLongCounterValueés más API-k hívásaibanPerfSetCounterRefValuekell használni a szolgáltató adatainak beállításához.
A függvénynevekben az előtag a -prefix parancssori paraméter értékére utal. Ha a paramétert -prefix nem használja, a függvények neve CounterInitialize és .CounterCleanup
A generált kódfájl használata kernel módú szolgáltatóban
A CTRPP eszköz létrehoz egy .h C/C++ kódfájlt. Ha a szolgáltatói jegyzékfájl providerType attribútuma értékre kernelModevan állítva, a létrehozott kódfájl a következő definíciókat fogja tartalmazni, amelyek hasznosak a kernelmódú szolgáltató számlálóhalmazainak kódolásához:
- Egy számlálókészlet-inicializálási függvény, amelynek neve Számlálókészletregisztrálása előtag. Ez a függvény kitölti a RegInfo struktúrát, majd meghívja a PcwRegistert, és az eredményül kapott számláló regisztrációs leírót a globális Counterset változóba helyezi.
- A számlálókészlet regisztrációjának törlése nevű számlálóhalmaz előtag-tisztítási függvénye. Ez a függvény meghívja a PcwUnregister függvényt a globális Counterset változó számláló regisztrációs leíróján.
- Egy példány-létrehozási függvény előtagCounterset létrehozása. Ez a függvény kitölti a PcwData struktúrák tömbjét, majd meghívja a PcwCreateInstance-t a globális Counterset változó számlálóregisztrációs leírójával.
- Egy példánytisztító függvény nevű előtagSzámlálókészlet bezárása. Ez a függvény meghívja a PcwCloseInstance-t.
- Egy előtagnevű példányjelentési függvényCounterset hozzáadása a számláló visszahívási függvényéből való használatra. Ez a függvény kitölti a PcwData struktúrák tömbjét, majd meghívja a PcwAddInstance-t.
- Windows SDK 20H1 és újabb: Egy RegInfo inicializálási függvény InitRegistrationInformationcountersetnevű előtag speciális forgatókönyvekben való használatra. Ez a függvény kitölti a RegInfo struktúrát. Ez a funkció olyan esetekben használható, amikor a generált Regiszterszámláló előtag nem felel meg az Ön igényeinek, pl. ha testre szeretné szabni az értékeket a RegInfo struktúrában, vagy ha a visszaadott leírót egy másik változóban szeretné tárolni.
A függvénynevekben az előtag a -prefix parancssori paraméter értékére utal. Ha a paramétert -prefix nem használja, a függvényeknek nem lesz előtagja.
Megjegyzés:
A generált előtagAddCounterset függvény akkor használatos, ha számlálóhalmaz visszahívása van. A létrehozott előtagCreateCounterset és a Close Countersetelőtag függvények akkor használatosak, ha nincs számlálókészlet-visszahívás.
A generált szimbólumfájl használata
Ha a -ch paraméter meg van adva a parancssorban, a CTRPP eszköz létrehoz egy .h szimbólumfájlt. Ez a fájl tartalmazza a szolgáltató egyes számlálóhalmazainak nevéhez és GUID azonosítóihoz tartozó C/C++ szimbólumokat. A szimbólumok olyan programok írásakor használhatók, amelyek a PerfLib V2 fogyasztói függvények segítségével a számlálóhalmazból származó adatok felhasználására vannak kódolva.
Követelmények
| Követelmény | Érték |
|---|---|
| Minimálisan támogatott ügyfél | Windows Vista [csak asztali alkalmazások] |
| Minimálisan támogatott kiszolgáló | Windows Server 2008 [csak asztali alkalmazások] |