WDF_DEVICE_PNP_CAPABILITIES 구조체(wdfdevice.h)

[KMDF 및 UMDF에 적용]

WDF_DEVICE_PNP_CAPABILITIES 구조는 디바이스의 플러그 앤 플레이 기능을 설명합니다.

구문

typedef struct _WDF_DEVICE_PNP_CAPABILITIES {
  ULONG         Size;
  WDF_TRI_STATE LockSupported;
  WDF_TRI_STATE EjectSupported;
  WDF_TRI_STATE Removable;
  WDF_TRI_STATE DockDevice;
  WDF_TRI_STATE UniqueID;
  WDF_TRI_STATE SilentInstall;
  WDF_TRI_STATE SurpriseRemovalOK;
  WDF_TRI_STATE HardwareDisabled;
  WDF_TRI_STATE NoDisplayInUI;
  ULONG         Address;
  ULONG         UINumber;
} WDF_DEVICE_PNP_CAPABILITIES, *PWDF_DEVICE_PNP_CAPABILITIES;

멤버

Size

이 구조체의 크기(바이트)입니다.

LockSupported

WdfTrue로 설정된 경우 배출을 방지하기 위해 디바이스를 슬롯에 잠글 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다. (이 기능은 디바이스에서 미디어를 꺼내지 않고 슬롯에서 디바이스를 배출하지 않도록 설정합니다.) WDF_TRI_STATE 형식의 값에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.

EjectSupported

WdfTrue로 설정된 경우 해당 슬롯에서 디바이스를 배출할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다. (이 기능을 사용하면 디바이스에서 미디어를 꺼내지 않고 슬롯에서 디바이스를 배출할 수 있습니다.)

Removable

WdfTrue로 설정된 경우 시스템이 실행되는 동안 디바이스를 제거할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다. 이동식WdfTrue로 설정되고 SurpriseRemovalOKWdfFalse로 설정된 경우 사용자는 시스템의 분리 또는 하드웨어 꺼내기 프로그램을 사용해야 합니다.

DockDevice

WdfTrue로 설정된 경우 디바이스가 도킹 스테이션임을 나타내는 WDF_TRI_STATE 형식의 값입니다.

UniqueID

WdfTrue로 설정된 경우 디바이스의 instance ID가 전체 시스템에 고유하다는 것을 나타내는 WDF_TRI_STATE 형식의 값입니다. UniqueIDWdfFalse로 설정된 경우 instance ID는 디바이스의 버스에만 고유합니다. instance ID에 대한 자세한 내용은 디바이스 식별 문자열을 참조하세요.

SilentInstall

WdfTrue로 설정된 경우 디바이스를 설치하는 동안 장치 관리자 대화 상자를 표시해서는 안 됨을 나타내는 WDF_TRI_STATE 형식의 값입니다.

SurpriseRemovalOK

WdfTrue로 설정되고 이동식WdfTrue로 설정된 경우 사용자가 시스템의 분리 또는 하드웨어 꺼내기 프로그램을 사용하지 않고 디바이스를 제거할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다.

HardwareDisabled

WdfTrue로 설정된 경우 디바이스가 비활성화되었음을 나타내는 WDF_TRI_STATE 형식의 값입니다.

NoDisplayInUI

WdfTrue로 설정된 경우 해당 장치 관리자 디바이스를 표시해서는 안 됨을 나타내는 WDF_TRI_STATE 형식의 값입니다.

Address

디바이스가 버스에 있는 위치를 나타내는 주소입니다.

이 숫자의 해석은 버스에 따라 다릅니다. 주소를 알 수 없거나 버스 드라이버가 주소를 지원하지 않는 경우 버스 드라이버는 Address 멤버를 기본값인 0xFFFFFFFF(-1)로 둡니다.

다음 목록에서는 특정 버스 드라이버가 자식 디바이스의 Address 멤버에 저장하는 정보를 설명합니다.

버스 Description
1394 주소가 휘발성이므로 주소를 제공하지 않습니다. 기본값은 0xFFFFFFFF.
Eisa 슬롯 번호(0-F)입니다.
IDE IDE 디바이스의 경우 주소에 대상 ID 및 LUN이 포함됩니다. IDE 채널의 경우 주소는 0 또는 1(0 = 기본 채널 및 1 = 보조 채널)입니다.
ISApnp 주소를 제공하지 않습니다. 기본값은 0xFFFFFFFF.
PC 카드(PCMCIA) 소켓 번호(일반적으로 0x00 또는 0x40)입니다.
PCI 상위 단어의 디바이스 번호와 낮은 단어의 함수 번호입니다.
SCSI 대상 ID입니다.
USB 포트 번호.

UINumber

디바이스와 연결되고 사용자 인터페이스에 표시될 수 있는 숫자입니다. 이 번호는 일반적으로 보드의 슬롯 옆에 인쇄된 번호 또는 사용자가 디바이스를 찾는 데 도움이 되는 다른 번호와 같이 사용자가 인식하는 슬롯 번호입니다. UINumber를 알 수 없거나 숫자를 입력해도 사용자가 디바이스 위치를 식별하는 데 도움이 되지 않는 경우 드라이버는 이 값을 -1로 설정합니다.

설명

여러 멤버가 WDF_TRI_STATE 형식을 사용합니다. 이러한 멤버의 경우 WdfTrue 값은 디바이스가 기능을 지원한다는 것을 나타내고 WdfFalse 값은 그렇지 않음을 나타냅니다. WdfUseDefault 값은 프레임워크가 제공된 스택에서 드라이버가 낮은 값을 사용한다는 것을 나타냅니다. 예를 들어 버스 드라이버가 LockSupported대해 WdfTrue를 지정하고 디바이스의 함수 드라이버가 WdfUseDefault를 지정하는 경우 프레임워크는 기능에 대해 WdfTrue를 저장합니다.

WDF_DEVICE_PNP_CAPABILITIES 구조체는 WdfDeviceSetPnpCapabilities에 대한 입력으로 사용됩니다.

WDF_DEVICE_PNP_CAPABILITIES 구조를 초기화하려면 드라이버가 WDF_DEVICE_PNP_CAPABILITIES_INIT 호출해야 합니다.

요구 사항

요구 사항
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfdevice.h(Wdf.h 포함)

추가 정보

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice