Directiva AddEventProvider inf
Una directiva AddEventProvider se usa dentro de un DDInstall inf. Sección Eventos. Especifica las características de los proveedores de Seguimiento de eventos para Windows (ETW) asociados a controladores. Esta directiva se admite para Windows 10 versión 1809 y posteriores.
[DDInstall.Events]
AddEventProvider={ProviderGUID},event-provider-install-section
...
Entradas
ProviderGUID
Especifica el valor GUID que identifica el proveedor. Esto se puede expresar como un valor GUID explícito del formulario {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
o como un token %strkey% definido {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
en en una sección Strings del archivo INF.
event-provider-install-section
Hace referencia a una sección definida por INF-writer que contiene información para registrar el proveedor para este dispositivo (o dispositivos). Para obtener más información, vea la siguiente sección Comentarios .
Comentarios
Las extensiones sin distinción entre mayúsculas y minúsculas definidas por el sistema se pueden insertar en un DDInstall. Sección eventos que contiene una directiva AddEventProvider en archivos INF entre sistemas operativos o multiplataforma para especificar instalaciones específicas de la plataforma o específicas del sistema operativo.
Cada nombre de sección creado por INF-writer debe ser único dentro del archivo INF y debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, vea Reglas de sintaxis general para archivos INF.
Una directiva AddEventProvider debe hacer referencia a una sección con nombre event-provider-install-section en otra parte del archivo INF. Cada sección de este tipo tiene el siguiente formato:
[event-provider-install-section]
ProviderName=name
ResourceFile=path-to-file
[MessageFile=path-to-file]
[ParameterFile=path-to-file]
(ImportChannel=channel-name) |
(AddChannel=channel-name,channel-type[,channel-install-section])
...
Cada event-provider-install-section debe proporcionar ProviderName y ResourceFile. Opcionalmente, especifique una lista de canales para el proveedor mediante cualquier combinación de ImportChannel(s) y AddChannel(s), cada uno en una línea independiente. Para obtener más información sobre las listas de canales en un archivo INF, vea Especificar una lista de canales a continuación. Para obtener más información sobre los canales del registro de eventos de Windows, consulte Definición de canales.
Entradas y valores de la sección Event-Provider-Install
ProviderName=Nombre
Especifica el nombre del proveedor. El nombre no puede tener más de 255 caracteres y no puede contener los caracteres: '>', '<', '&', ''', '|', '', ':', ''', '?', '*' o caracteres con valores ASCII inferiores a 31. Además, el nombre debe seguir las restricciones generales en los nombres de clave de archivo y registro. Estas restricciones se pueden encontrar en Nomenclatura de los límites de tamaño de los elementos File y Registry.
ResourceFile=ruta de acceso al archivo
Especifica la ruta de acceso al archivo exe o dll que contiene los recursos de metadatos del proveedor, expresados como %dirid%\filename.
El número dirid es un identificador de directorio personalizado o uno de los identificadores de directorio definidos por el sistema descritos en Uso de Dirids.
MessageFile=ruta de acceso al archivo
Opcionalmente, especifica la ruta de acceso al archivo exe o dll que contiene los recursos de mensaje localizados del proveedor, expresados como %dirid%\filename.
ParameterFile=ruta de acceso al archivo
Opcionalmente, especifica la ruta de acceso al archivo exe o dll que contiene los recursos de cadena de parámetros del proveedor, expresados como %dirid%\filename.
ImportChannel=channel-name
Opcionalmente, especifica un canal definido por otro proveedor. Para obtener más información, consulte la siguiente sección Especificación de una lista de canales .
AddChannel=channel-name,channel-type[,channel-install-section]
Opcionalmente, especifica un canal con una subdirección que, opcionalmente, hace referencia a una sección channel-install-install-fined de INF en otro lugar del archivo INF. Para obtener más información, consulte la siguiente sección Especificación de una lista de canales .
Especificar una lista de canales
Puede especificar una lista de canales para el proveedor en su sección event-provider-install-section. Puede importar un canal o agregar un canal a la lista y se conserva el orden de estos canales. Para obtener más información, consulte Definición de canales.
El nombre del canal debe ser único dentro de la lista de canales que usa el proveedor. El nombre del canal debe tener menos de 255 caracteres y no puede contener los siguientes caracteres: '>', '<', '&', ''', '|', '', ':', ''', '?', '*' o caracteres con valores ASCII inferiores a 31.
El tipo de canal se puede especificar como uno de los siguientes valores numéricos, expresados en decimal o, como se muestra en la siguiente lista, en notación hexadecimal.
0x1 (Administración)
Administración canales de tipo admiten eventos dirigidos a usuarios finales, administradores y personal de soporte técnico. Los eventos escritos en los canales Administración deben tener una solución bien definida en la que el administrador pueda actuar.
0x2 (operativo)
Los canales de tipo operativo admiten eventos que se usan para analizar y diagnosticar un problema o repetición. Se pueden utilizar para activar herramientas o tareas según el problema o la incidencia.
0x3 (análisis)
Los canales de tipo analítico admiten eventos publicados en gran volumen. Describen el funcionamiento del programa e indican los problemas que el usuario no puede administrar.
0x4 (Depurar)
Los canales de tipo de depuración admiten eventos que los desarrolladores usan únicamente para diagnosticar un problema para la depuración.
Una subdirección AddChannel también puede hacer referencia a una sección channel-install-section en otra parte del archivo INF. Cada sección de este tipo tiene el siguiente formato:
[channel-install-section]
[Isolation=isolation-type]
[Access=access-string]
[Enabled=0|1]
[Value=value]
[LoggingMaxSize=max-size]
[LoggingRetention=retention-type]
[LoggingAutoBackup=0|1]
Para obtener más información sobre los atributos de canal, vea ChannelType definido en el esquema EventManifest.
Channel-Install entradas y valores de sección
Aislamiento=tipo de aislamiento
Opcionalmente, especifica los permisos de acceso predeterminados para el canal como uno de los siguientes valores numéricos, expresados en decimal o, como se muestra en la siguiente lista, en notación hexadecimal. Si se omite, este valor predeterminado es 0x1 (Aplicación).
Acceso=access-string
Opcionalmente, especifica un descriptor de acceso del Lenguaje de definición de descriptores de seguridad (SDDL) que controla el acceso al archivo de registro que respalda el canal.
Esta cadena controla el acceso de lectura al archivo (se omiten los permisos de escritura) si el aislamiento está establecido en 0x1 (Aplicación) o 0x2 (Sistema), mientras que controla el acceso de escritura al canal y el acceso de lectura al archivo si el atributo de aislamiento está establecido en 0x3 (Personalizado).
Habilitado=0|1
Opcionalmente, especifica si el canal está habilitado. Si se omite, este valor predeterminado es 0 (deshabilitado).
Dado que 0x3 (análisis) y 0x4 (depuración) tipo de canal son canales de gran volumen, debe establecer habilitado en 1 solo al investigar un problema con un componente que escribe en ese canal. Cada vez que se habilita un canal de 0x3 (analítico) y 0x4 (depuración), el servicio borra los eventos del canal.
Valor=Valor
Opcionalmente, especifica un identificador numérico que identifica de forma única el canal dentro de la lista de canales que define el proveedor.
LoggingMaxSize=tamaño máximo
Opcionalmente, especifica el tamaño máximo, en bytes, del archivo de registro. El valor predeterminado (y mínimo) es de 1 MB.
RegistroRetención=tipo de retención
Opcionalmente, especifica si el archivo de registro es 0x1 (circular) o 0x2 (secuencial). El valor predeterminado es 0x1 (circular) para 0x1 (Administración) y 0x2 (operativo) tipo de canal y 0x2 (secuencial) para 0x3 (analítico) y 0x4 (depuración).
LoggingAutoBackup=0|1
Opcionalmente, especifica si se va a crear un nuevo archivo de registro cuando el archivo de registro actual alcanza su tamaño máximo. Establézcalo en 1 para solicitar que el servicio cree un nuevo archivo cuando el archivo de registro alcance su tamaño máximo; de lo contrario, 0. Puede establecer LoggingAutoBackup en 1 solo si LoggingRetention está establecido en 0x2 (secuencial) y solo para 0x1 (Administración) y 0x2 (operativo).
Ejemplos
En este ejemplo se muestran las secciones event-provider-install a las que hacen referencia las directivas AddEventProvider , como ya se mostró anteriormente en el ejemplo de DDInstall. Eventos.
[foo_Event_Provider_Inst]
ProviderName = FooCollector
ResourceFile = %13%\FooResource.dll
MessageFile = %13%\FooMessage.exe
[bar_Event_Provider_Inst]
ProviderName = BarCollector
ResourceFile = %13%\BarResource.exe
MessageFile = %13%\BarMessage.dll
ParameterFile = %13%\BarParameter.dll
ImportChannel = Microsoft-Windows-BaseProvider/Admin
AddChannel = Bar-Provider/Admin,0x1,bar_Channel2_Inst ; Admin type
ImportChannel = Microsoft-Windows-BaseProvider/Operational
ImportChannel = Microsoft-Windows-SampleProvider/Admin
AddChannel = Bar-Provider/Debug,0x4 ; Debug type
[bar_Channel2_Inst]
Isolation = 2 ; System isolation
Enabled = 1
Value = 17
LoggingMaxSize = 20971520
LoggingRetention = 2 ; Sequential
LoggingAutoBackup = 1