Id. de instancia
Un identificador de instancia es una cadena notificada por el enumerador de un dispositivo (su controlador de bus) y distingue un dispositivo de otros dispositivos del mismo tipo en un equipo. Un identificador de instancia contiene información de número de serie, si es compatible con el bus subyacente o algún tipo de información de ubicación. La cadena no puede contener ningún carácter "\" ni ningún otro carácter no permitido en una respuesta a una solicitud de IRP_MN_QUERY_ID ; de lo contrario, el formato genérico de la cadena es específico del bus. El número de caracteres de un identificador de instancia, excepto un terminador NULL, debe ser menor que MAX_DEVICE_ID_LEN
. Además, el identificador de instancia es otra entrada en la creación del identificador de instancia de dispositivo, junto con un identificador de dispositivo, y la longitud máxima posible de un identificador de instancia de dispositivo es .MAX_DEVICE_ID_LEN
Esto requiere que la longitud del identificador de instancia sea suficiente que MAX_DEVICE_ID_LEN
el identificador de instancia de dispositivo se puede crear como una cadena con una longitud menor que MAX_DEVICE_ID_LEN
.
El miembro UniqueID de la estructura de DEVICE_CAPABILITIES para un dispositivo indica si un identificador de instancia proporcionado por bus es único en todo el sistema, como se indica a continuación:
Si UniqueID es FALSE, el identificador de instancia proporcionado por bus para un dispositivo solo es único para el bus del dispositivo. El administrador de Plug and Play (PnP) modifica el identificador de instancia proporcionado por bus y lo combina con el identificador de dispositivo correspondiente para crear un identificador de instancia de dispositivo único en el sistema.
Si UniqueID es TRUE, el identificador de instancia del dispositivo, formado a partir del identificador de dispositivo y el identificador de instancia proporcionados por bus, identifica de forma única un dispositivo en el sistema.
Un identificador de instancia es persistente en los reinicios del sistema.
El administrador de PnP consulta esta cadena desde el controlador de autobús del dispositivo mediante una solicitud de IRP_MN_QUERY_ID con el campo Parameters.QueryId.IdType establecido en BusQueryInstanceID.