Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Datová položka v definici třídy dat rozhraní WMI nebo bloku událostí může být jedna z těchto věcí:
Základní datový typ, například řetězec nebo celé číslo bez znaménka.
Vložená třída. Vložená třída se používá pouze jako datová položka v jiné definici třídy a není vystavena jako blok dat nebo blok událostí.
Pole s pevnou délkou nebo proměnnou délkou základního datového typu nebo vložené třídy.
Při odesílání datového bloku do rozhraní WMI musí ovladač zarovnat začátek bloku na 8 bajtové hranici. Všechny následující datové položky v bloku musí být zarovnány na odpovídající zarovnání pro datový typ. Boolean nebo uint8 by měl být zarovnán na 1bajtovou hranici. Položka sint16, uint16 nebo řetězcová položka by měla být zarovnaná na 2 bajtové hranici atd. Matice by měly být zarovnány na základě základního typu pole. Pole bajtů by mělo být zarovnáno na hranici bajtů, pole uint64 by mělo být zarovnáno na hranici 8 bajtů, atd. Vložená třída by měla být zarovnaná na základě přirozeného zarovnání vložené třídy, která je definována jako největší prvek v rámci vložené třídy. Pokud má například vložená třída uint64, měla by být třída zarovnaná na 8 bajtové hranici. Zarovnání datové položky WMI se řídí stejnými konvencemi jako přepínač /Zp8 kompilátoru Microsoft C.
Zapisovač ovladačů nemusí nutně definovat datové položky v jiném bloku než požadované položky InstanceName a Active. Prázdný blok události může například sloužit jako oznámení, že došlo k události bez dalších dat. Nebo může datový blok jednoduše vypsat názvy instancí v reakci na požadavek IRP_MN_QUERY_ALL_DATA .
Následující tabulka uvádí datové typy MOF, které lze použít k definování položek v datech rozhraní WMI nebo bloku událostí. Další informace o datových typech MOF naleznete v sadě Microsoft Windows SDK.
| Datový typ | Formát dat | Zarovnání (v bajtech) |
|---|---|---|
string |
Funkce USHORT určující délku řetězce v bajtech následovaná řetězcovými daty Unicode. Řetězcová data mohou volitelně zahrnovat nulový terminátor následovaný výplní. Pokud ano, délka řetězce musí zahrnovat koncový nulový znak a vyplňování. Ovladače mohou použít kvalifikátor MaxLen k určení maximální délky znaků řetězce. Ovladače, které určují maximální délku řetězce, mohou k uložení řetězce použít vyrovnávací paměť pevné velikosti. Pokud je řetězec podstatně menší než velikost vyrovnávací paměti, ovladač může zbytek řetězce doplnit nulami. |
2 |
boolean |
Jedna bajtová hodnota, kde 0 je NEPRAVDA a jakákoli nenulová hodnota je PRAVDA. |
1 |
sint8 |
Podepsané 8bitové celé číslo |
1 |
uint8 řekl: |
Celé číslo bez znaménka |
1 |
sint16 |
Podepsané 16bitové celé číslo |
2 |
uint16 |
Celé číslo bez znaménka |
2 |
sint32 |
Podepsané 32bitové celé číslo |
4 |
uint32 |
Neznaménkové 32bitové celé číslo |
4 |
int64 |
Podepsané 64bitové celé číslo |
8 |
uint64 |
Neznamenkové 64bitové celé číslo |
8 |
datum a čas |
Řetězec Unicode s pevnou délkou 25 znaků, který určuje absolutní datum nebo časový interval. Hodnota datetime má následující formát: yyyymmddhhmmss.mmmmmmsutc kde: yyyy je 4místný rok mm je dvouciferný měsíc. dd je 2místný den v měsíci. hh je hodina podle 24hodinových hodin mm je minuta SS je sekundy. mmmmmm je počet mikrosekund s je znaménko plus (+) nebo znaménko minus (-), které označuje, zda je utc kladný nebo záporný posun od univerzálních časových souřadnic; nebo dvojtečku (:) označující, že hodnota datetime je interval. UTC je posun v minutách od univerzálních časových souřadnic. Pokud je utc nula (000), hodnota datetime je interval. Hodnoty musí být doplněny nulami. Pole, která nejsou významná, mohou být vyplněna hvězdičkami (*). |
2 |