Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Element danych w definicji klasy danych usługi WMI lub bloku zdarzeń może być jednym z następujących elementów:
Podstawowy typ danych, taki jak ciąg lub niepodpisane liczby całkowite.
Osadzona klasa. Osadzona klasa jest używana tylko jako element danych w innej definicji klasy i nie jest widoczna jako blok danych lub blok zdarzeń.
Tablica o stałej długości lub zmiennej długości podstawowego typu danych lub klasy osadzonej.
Podczas wysyłania bloku danych do usługi WMI sterownik musi wyrównać początek bloku na granicy 8-bajtowej. Wszystkie kolejne elementy danych w bloku muszą być wyrównane zgodnie z odpowiednim wyrównaniem dla typu danych. Wartość logiczna lub uint8 powinna być wyrównana do granicy 1-bajtowej. Element sint16, uint16 lub string powinien być wyrównany do granicy 2-bajtowej itd. Tablice powinny być wyrównane na podstawie podstawowego typu tablicy. Tablica bajtów powinna być wyrównana do granicy bajtów. Tablica uint64 powinna być wyrównana do granicy 8-bajtowej itd. Osadzona klasa powinna być wyrównana na podstawie naturalnego wyrównania klasy osadzonej, która jest zdefiniowana jako największy element w klasie osadzonej. Na przykład, jeśli osadzona klasa ma uint64, klasa powinna być wyrównana do granicy 8-bajtowej. Wyrównanie elementu danych WMI jest zgodne z tymi samymi konwencjami co przełącznik /Zp8 w kompilatorze Microsoft C.
Autor sterownika nie musi definiować elementów danych w bloku innym niż wymagane elementy InstanceName i Active. Na przykład pusty blok zdarzeń może służyć jako powiadomienie o wystąpieniu zdarzenia bez dodatkowych danych. Lub blok danych może po prostu wyliczyć nazwy wystąpień w odpowiedzi na żądanie IRP_MN_QUERY_ALL_DATA .
W poniższej tabeli wymieniono typy danych MOF, których można użyć do definiowania elementów w danych lub bloku zdarzeń usługi WMI. Aby uzyskać więcej informacji na temat typów danych MOF, zobacz Zestaw MICROSOFT Windows SDK.
| Typ danych | Format danych | Wyrównanie (w bajtach) |
|---|---|---|
ciąg |
Element USHORT określający długość ciągu w bajtach, a następnie dane ciągu Unicode. Dane ciągu mogą opcjonalnie zawierać zakończenie 0, po którym następuje wypełnienie. Jeśli tak, długość ciągu musi zawierać zakończenie 0 i dopełnienie. Sterowniki mogą używać kwalifikatora MaxLen , aby określić maksymalną długość znaków ciągu. Sterowniki, które określają maksymalną długość ciągu, mogą używać buforu o stałym rozmiarze do przechowywania ciągu. Jeśli ciąg jest ściśle mniejszy niż rozmiar buforu, sterownik może wypełnić resztę ciągu zerami. |
2 |
boolean |
Wartość jedno bajtowa, w której wartość 0 to FAŁSZ, a każda wartość niezerowa ma wartość TRUE |
1 |
sint8 |
Podpisana 8-bitowa liczba całkowita |
1 |
uint8 powiedział: |
Niepodpisane 8-bitowe liczby całkowite |
1 |
sint16 |
Podpisana 16-bitowa liczba całkowita |
2 |
uint16 |
Niepodpisane 16-bitowe liczby całkowite |
2 |
sint32 |
Podpisana 32-bitowa liczba całkowita |
4 |
uint32 |
Liczba 32-bitowa bez znaku |
4 |
sint64 |
Podpisana 64-bitowa liczba całkowita |
8 |
uint64 |
64-bitowa liczba całkowita bez znaku |
8 |
data/godzina |
Ciąg Unicode o stałej długości 25 znaków, który określa bezwzględną datę lub interwał godziny. Wartość daty/godziny ma następujący format: yyyymmddhhmmss.mmmmmmsutc gdzie: yy to 4-cyfrowy rok mm to 2-cyfrowy miesiąc dd to 2-cyfrowy dzień miesiąca hh jest godziną zgodnie z zegarem 24-godzinnym mm oznacza minutę ss to sekundy mmmmmm jest liczbą mikrosekund s to znak plus (+) lub znak minus (-), wskazujący, czy utc jest dodatnim lub ujemnym przesunięciem z współrzędnych uniwersalnych czasu; lub dwukropek (:) wskazujący, że wartość daty/godziny jest interwałem. utc to przesunięcie w minutach od Uniwersalnego Czasu Koordynowanego. Jeśli utc to zero (000), wartość data i czas jest interwałem. Wartości muszą być dopełnione zerami. Pola, które nie są znaczące, mogą być wypełnione gwiazdkami (*). |
2 |