Sdílet prostřednictvím


Vytváření dalších položek registru

Jak je popsáno v Vytvoření klíče výkonu aplikace, komponenta poskytující data čítače výkonu musí mít klíč Výkon pod klíčem Služby, a klíč Výkon musí obsahovat hodnoty Knihovna, Otevřít, Shromažďovata Zavřít. V některých případech může vaše komponenta potřebovat nakonfigurovat další hodnoty registru.

Metadata

MetadataGlobal a MetadataCostly jsou dotazy pouze na metadata vygenerované systémem Windows 10 20H1 a novějším. Umožňují uživateli získat metadata (informace o objektech a čítačích) bez nutnosti potenciálně nákladného shromažďování dat. Očekává se, že dotaz pouze na metadata vrátí stejné výsledky jako odpovídající Global nebo Costly dotaz s tím rozdílem, že NumInstances by se měly nastavit na PERF_METADATA_MULTIPLE_INSTANCES (pro objekt s více instancemi) nebo PERF_METADATA_NO_INSTANCES (pro objekt s jednou instancí) a výsledek by měl vynechat všechny bloky PERF_INSTANCE_DEFINITION.

Pokud knihovna DLL výkonu podporuje typy dotazů MetadataGlobal a MetadataCostly, mělo by to naznačovat tím, že do klíče Performance přidáte hodnotu REG_DWORDCollect Supports Metadata a nastavíte ji na 1. Pokud Collect Supports Metadata chybí nebo je nastavená hodnota 0, dotaz pouze na metadata se vrátí do Global nebo Costly dotazu.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Collect Supports Metadata = 1

Propojení

Funkce knihovny DLL pro výkon OpenPerformanceData jako vstup přijímá řetězcový argument. Pokud chcete poskytnout vstupní řetězec otevřené funkci, zahrňte do klíče Services klíč Linkage. Klíč propojení obsahuje hodnotu exportu. Nastavte data hodnot pro Exportovat na vstupní řetězec, který chcete předat otevřené funkci. Datový typ Export je REG_MULTI_SZ.

Pokud není definován Export (Export je nepovinný), systém předá do vaší funkce OpenPerformanceData hodnotu NULL.

Obvykle platí, že pokud více než jedna aplikace sdílí stejnou výkonnostní knihovnu DLL, každá aplikace obsahuje klíč Linkage a hodnotu Export, která poskytuje kontext volání knihovny DLL.

V následujícím příkladu jsou uvedeny položky registru:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name-1
               \Linkage
                  Export = app-1 context strings
               \Performance
                  Library = perfctrs.dll
            \application-name-2
               \Linkage
                  Export = app-2 context strings
               \Performance
                  Library = perfctrs.dll

Přerušení zápasu

Ve výchozím nastavení se musí funkce knihovny DLL výkonu OpenPerformanceData a CollectPerformanceData vrátit během 10 000 milisekund. Pokud ne, systém nepoužívá data, která knihovna DLL vrátí. Aplikace může zadáním hodnoty registru Otevřít časový limit nebo Shromáždit časový limit zvýšit nebo snížit hodnotu časového limitu pod klíčem Výkon, jak je uvedeno v následujícím příkladu.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Open Timeout = Timeout value for your open function, in milliseconds
                  Collect Timeout = Timeout value for your collect function, in milliseconds

Zařízení DOS

Chcete-li získat údaje o výkonu některých aplikací (ty, které vracejí čítače pomocí funkce DeviceIoControl), je nutné použít funkci CreateFile k otevření zařízení přidruženého k aplikaci. V tomto případě musí být název zadaný v CreateFile také nainstalovaný v uzlu zařízení SYSTÉMU DOS registru, jak je znázorněno tady:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \Session Manager
               \DOS Devices