Sdílet prostřednictvím


Identifikátor instance

ID instance je řetězec hlášený enumerátorem zařízení (jeho ovladačem sběrnice) a rozlišuje zařízení od jiných zařízení stejného typu na počítači. ID instance obsahuje informace o sériovém čísle, pokud je podporováno podkladovou sběrnici nebo nějakým druhem informací o poloze. Řetězec nesmí obsahovat žádné znaky "\" ani jiné zakázané znaky v odpovědi na požadavek IRP_MN_QUERY_ID; v opačném případě je obecný formát řetězce závislý na specifikacích sběrnice. Počet znaků ID instance, s výjimkou nulového znaku, musí být menší než MAX_DEVICE_ID_LEN. ID instance je navíc dalším vstupem do vytvoření ID instance zařízení spolu s ID zařízení a maximální možnou délkou ID instance zařízení je MAX_DEVICE_ID_LEN. To vyžaduje, aby délka ID instance byla dostatečná, než MAX_DEVICE_ID_LEN aby ID instance zařízení bylo možné vytvořit jako řetězec s délkou menší než MAX_DEVICE_ID_LEN.

Člen UniqueID struktury DEVICE_CAPABILITIES pro zařízení indikuje, jestli je ID instance zadané sběrnici v systému jedinečné, následujícím způsobem:

  • Pokud je UniqueIDFALSE, ID instance zadané sběrnicí pro zařízení je jedinečné pouze pro sběrnici tohoto zařízení. Správce Plug and Play (PnP) upraví ID instance dodané sběrnice a zkombinuje ho s odpovídajícím ID zařízení, aby se vytvořilo ID instance zařízení, které je v systému jedinečné.

  • Pokud je UniqueIDTRUE, ID instance zařízení vytvořené z ID zařízení dodaného sběrnicí a ID instance, jednoznačně identifikuje zařízení v systému.

ID instance je trvalé napříč restartováním systému.

Správce PnP dotazuje tento řetězec z ovladače sběrnice zařízení pomocí požadavku IRP_MN_QUERY_ID s polem Parameters.QueryId.IdType nastaveným na BusQueryInstanceID.