Especificar el acceso exclusivo a objetos de dispositivo

Si el acceso exclusivo a un dispositivo está habilitado, solo se puede abrir un identificador al dispositivo a la vez. Para que el administrador de E/S aplique el acceso exclusivo al dispositivo, la propiedad exclusiva debe establecerse para el objeto de dispositivo con nombre en la pila de dispositivos.

Para una pila de dispositivos WDM que tiene un PDO y un FDO, el archivo INF solo puede establecer la propiedad exclusiva mediante una directiva AddReg inf. El PDO es el objeto con nombre de la pila, pero el controlador de bus (no el propio controlador de función) crea el PDO, en nombre del controlador de función. La única manera de dirigir al controlador de autobús para establecer la marca exclusiva para el PDO es mediante la clase o los archivos INF del dispositivo. (La llamada a la rutina IoCreateDevice crea el FDO; establecer la marca exclusiva para el FDO no tiene ningún efecto).

Los controladores cuyos objetos de dispositivo no están apilados, como controladores y dispositivos que no son WDM que funcionan en modo sin procesar, pueden usar la rutina IoCreateDeviceSecure para establecer la propiedad exclusiva para su objeto de dispositivo con nombre.

El administrador de E/S aplica exclusividad por nombre en objetos de dispositivo con nombre, independientemente del nombre final. Por ejemplo, supongamos que el objeto de dispositivo tiene el nombre "\Device\DeviceName". A continuación, el administrador de E/S exige exclusividad para una solicitud para abrir "\Device\DeviceName\Filename1" seguido de "\Device\DeviceName\Filename2". Si se denominan dos objetos de la pila de dispositivos (que no se recomienda), el administrador de E/S permite abrir un solo identificador para cada objeto. En tal situación, los controladores deben exigir la exclusividad en sus funciones de devolución de llamada DRIVER_DISPATCH. El administrador de E/S tampoco aplica exclusividad para las aperturas relativas a otro identificador de archivo. Para obtener más información sobre las solicitudes abiertas de archivos en el espacio de nombres del dispositivo, consulte Control del acceso al espacio de nombres del dispositivo.