디바이스 특성 지정

각 디바이스 개체에는 하나 이상의 디바이스 특성이 있을 수 있습니다. 디바이스 특성은 디바이스 개체의 DEVICE_OBJECT 구조체의 Characteristics 멤버에 플래그로 저장됩니다.

대부분의 드라이버는 FILE_DEVICE_SECURE_OPEN 특성만 지정합니다. 이렇게 하면 디바이스의 네임스페이스에 열려 있는 모든 요청에 동일한 보안 설정이 적용됩니다. 자세한 내용은 디바이스 네임스페이스 액세스 제어를 참조하세요.

FILE_AUTOGENERATED_DEVICE_NAME PDO에만 사용됩니다. FILE_FLOPPY_DISKETTE, FILE_REMOVABLE_MEDIA 및 FILE_WRITE_ONCE_MEDIA 특성은 스토리지 디바이스에 따라 다릅니다. 가능한 디바이스 특성 플래그에 대한 설명은 DEVICE_OBJECT 특성 멤버에 대한 설명을 참조하세요.

FILE_AUTOGENERATED_DEVICE_NAME 같은 특정 디바이스 특성은 개별 디바이스 개체에만 적용됩니다. 드라이버는 IoCreateDevice 또는IoCreateDeviceSecure를 호출하여 디바이스 개체를 만들 때 개별 디바이스 개체에 대한 디바이스 특성에 대한 설정을 지정할 수 있습니다.

다음 특성은 전체 디바이스 스택에 적용됩니다.

FILE_DEVICE_SECURE_OPEN

FILE_FLOPPY_DISKETTE

FILE_READ_ONLY_DEVICE

FILE_REMOVABLE_MEDIA

FILE_WRITE_ONCE_MEDIA

드라이버는 IoCreateDevice 또는IoCreateDeviceSecure를 호출하여 전체 디바이스 스택에 적용되는 디바이스 특성을 설정할 수 있습니다. 또는 전체 디바이스 스택에 적용되는 디바이스 특성은 레지스트리에서 디바이스 또는 디바이스의 설정 클래스에 대해 설정할 수 있습니다. 자세한 내용은 레지스트리에서 디바이스 개체 속성 설정을 참조하세요.

PnP 관리자는 다음과 같이 디바이스 특성에 대한 레지스트리 설정을 결정합니다.

  • 개별 디바이스에 대해 값이 지정된 경우 PnP 관리자는 해당 값을 사용합니다.

  • 그렇지 않으면 디바이스 설정 클래스에 대한 값이 지정된 경우 PnP 관리자는 해당 값을 사용합니다.

  • 그렇지 않으면 PnP 관리자는 레지스트리 설정으로 0 값을 사용합니다.

전체 디바이스 스택에 적용되는 디바이스 특성이 레지스트리에서 설정되거나 스택의 FDO 또는 필터 DO에 대해 설정된 경우 PnP 관리자는 스택의 모든 디바이스 개체에 대해 설정합니다. (디바이스가 원시 모드 가 가능하므로 FDO가 없는 경우 PnP 관리자는 PDO를 대신 사용합니다.)