NT 디바이스 이름

명명된 디바이스 개체의 이름은 \Device\DeviceName 형식입니다. 이를 디바이스 개체의 NT 디바이스 이름 이라고 합니다.

WDM 드라이버의 디바이스 이름

WDM 드라이버는 디바이스 개체의 이름을 직접 지정하지 않습니다. 대신 시스템은 디바이스 이름이 드라이버 간에 충돌하지 않도록 하는 균일한 명명 체계를 적용합니다. WDM 드라이버의 명명 체계는 다음과 같습니다.

  • 디바이스의 PDO 이름이 지정됩니다. 버스 드라이버는 열거하는 디바이스에 대해 PDO라는 이름을 요청합니다. 버스 드라이버는 디바이스 개체를 만들 때 FILE_AUTOGENERATED_DEVICE_NAME 디바이스 특성을 지정합니다. 자세한 내용은 디바이스 특성 지정을 참조하세요. 그러면 시스템에서 디바이스 이름을 자동으로 생성합니다.

  • FDO 및 필터 DO의 이름은 지정되지 않습니다. 함수 및 필터 드라이버는 디바이스 개체를 만들 때 이름을 요청하지 않습니다.

명명된 디바이스 개체에 대한 모든 I/O 요청은 해당 디바이스 개체 스택의 맨 위 개체로 자동으로 이동합니다. 따라서 PDO만 이름을 지정해야 합니다. 사용자 모드 애플리케이션은 이름으로 WDM 디바이스 개체를 참조하지 않습니다. 대신 애플리케이션은 디바이스 인터페이스를 통해 디바이스 개체에 액세스합니다. 자세한 내용은 디바이스 인터페이스 클래스를 참조하세요.

드라이버 작성기는 디바이스 스택에서 둘 이상의 개체 이름을 지정해서는 안 됩니다. 운영 체제는 명명된 개체를 기반으로 보안 설정을 확인합니다. 서로 다른 두 개체의 이름이 지정되고 다른 보안 설명자가 있는 경우 보안 설명자가 약한 개체로 전송되는 I/O 요청은 더 강력한 보안 설명자를 사용하여 디바이스 개체에 도달할 수 있습니다.

비 WDM 드라이버의 디바이스 이름

WDM이 아닌 드라이버는 명명된 디바이스 개체의 이름을 명시적으로 지정해야 합니다. 드라이버는 I/O 요청을 받으려면 \Device 개체 디렉터리에 명명된 디바이스 개체를 하나 이상 만들어야 합니다. 드라이버는 디바이스 개체를 만들 때 디바이스 이름을 DeviceName 매개 변수로 IoCreateDeviceSecure 로 지정합니다.