디바이스 특성 지정
각 디바이스 개체에는 하나 이상의 디바이스 특성이 있을 수 있습니다. 디바이스 특성은 디바이스 개체의 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를 대신 사용합니다.)