Udostępnij przez


Identyfikator wystąpienia

Identyfikator wystąpienia to ciąg zgłaszany przez moduł wyliczający urządzenia (jego sterownik magistrali) i rozróżnia urządzenie od innych urządzeń tego samego typu na komputerze. Identyfikator instancji zawiera informacje o numerze seryjnym, jeśli jest obsługiwany przez magistralę, lub informacje o lokalizacji. Ciąg nie może zawierać żadnych znaków "\" ani żadnego innego znaku niedozwolonego w odpowiedzi na żądanie IRP_MN_QUERY_ID ; w przeciwnym razie ogólny format ciągu jest specyficzny dla magistrali. Liczba znaków identyfikatora wystąpienia, z wyłączeniem terminatora o wartości NULL, musi być mniejsza niż MAX_DEVICE_ID_LEN. Ponadto identyfikator wystąpienia to kolejne dane wejściowe do utworzenia identyfikatora wystąpienia urządzenia wraz z identyfikatorem urządzenia, a maksymalna możliwa długość identyfikatora wystąpienia urządzenia to MAX_DEVICE_ID_LEN. Wymaga to, aby długość identyfikatora wystąpienia była dostatecznie mniejsza niż MAX_DEVICE_ID_LEN, tak aby identyfikator wystąpienia urządzenia można było utworzyć jako ciąg o długości mniejszej niż MAX_DEVICE_ID_LEN.

Unikatowy członek struktury DEVICE_CAPABILITIES dla urządzenia wskazuje, czy identyfikator wystąpienia dostarczony przez magistralę jest unikatowy w systemie, w następujący sposób:

  • Jeśli parametr UniqueID ma wartość FALSE, identyfikator wystąpienia dostarczonego przez magistralę urządzenia jest unikatowy tylko dla magistrali urządzenia. Menedżer Plug and Play (PnP) modyfikuje identyfikator wystąpienia dostarczony przez magistralę i łączy go z odpowiednim identyfikatorem urządzenia, aby utworzyć identyfikator wystąpienia urządzenia, który jest unikatowy w systemie.

  • Jeśli UniqueID ma wartość TRUE, identyfikator wystąpienia urządzenia, utworzony z identyfikatora urządzenia dostarczonego przez magistralę i identyfikatora wystąpienia, jednoznacznie identyfikuje urządzenie w systemie.

Identyfikator wystąpienia jest trwały w przypadku ponownych uruchomień systemu.

Menedżer PnP wysyła zapytanie do tego ciągu z sterownika magistrali urządzenia przy użyciu żądania IRP_MN_QUERY_ID z polem Parameters.QueryId.IdType ustawionym na BusQueryInstanceID.