SW_DEVICE_CREATE_INFO 구조체(swdevicedef.h)
PnP가 소프트웨어 디바이스를 만드는 데 사용하는 정보를 설명합니다.
통사론
typedef struct _SW_DEVICE_CREATE_INFO {
ULONG cbSize;
PCWSTR pszInstanceId;
PCZZWSTR pszzHardwareIds;
PCZZWSTR pszzCompatibleIds;
const GUID *pContainerId;
ULONG CapabilityFlags;
PCWSTR pszDeviceDescription;
PCWSTR pszDeviceLocation;
const SECURITY_DESCRIPTOR *pSecurityDescriptor;
} SW_DEVICE_CREATE_INFO, *PSW_DEVICE_CREATE_INFO;
회원
cbSize
이 구조체의 크기(바이트)입니다. 버전 필드로 사용합니다. sizeof(SW_DEVICE_CREATE_INFO)로 초기화합니다.
pszInstanceId
디바이스 인스턴스 ID인스턴스 ID 부분을 나타내는 문자열입니다. 이 값은 IRP_MN_QUERY_IDBusQueryInstanceID사용됩니다. 모든 소프트웨어 디바이스는 "UniqueId" 디바이스로 간주되므로 이 문자열은 이 소프트웨어 디바이스 열거자의 모든 디바이스에 대해 고유한 이름이어야 합니다.
pszzHardwareIds
소프트웨어 디바이스에
pszzCompatibleIds
소프트웨어 디바이스에 SWD\Generic
및 SWD\GenericRaw
항상 호환되지 않은 최소 ID로 추가됩니다.
pContainerId
소프트웨어 디바이스의 기본 컨테이너 ID를 제어하는 데 사용되는 값입니다. 이 값은 IRP_MN_QUERY_IDBusQueryContainerIDs사용됩니다. 일반적인 상황에서는 이 멤버를 NULL
CapabilityFlags
비트 OR 연산을 사용하여 결합된 SW_DEVICE_CAPABILITIES 값의 조합입니다. 결과 값은 소프트웨어 디바이스의 기능을 지정합니다. 소프트웨어 디바이스를 만들 때 지정할 수 있는 기능은 버스 드라이버가 DEVICE_CAPABILTIES 구조를 사용하여 지정할 수 있는 기능의 하위 집합입니다. 소프트웨어 전용 디바이스에 대한 변경을 허용하는 데 적합한 기능만 지원됩니다. 나머지는 적절한 기본값을 받습니다. 가능한 값은 다음과 같습니다.
값 | 의미 |
---|---|
|
기능이 지정되지 않았습니다. |
|
이 비트는 디바이스를 부모로부터 이동식으로 지정합니다. 이 플래그를 설정하는 것은 PDO에 대한 DEVICE_CAPABILTIES 구조체의 이동식 멤버를 설정하는 버스 드라이버와 동일합니다. |
|
이 비트는 설치 중에 일반적으로 표시되는 UI를 표시하지 않습니다. 이 플래그를 설정하는 것은 PDO에 대한 DEVICE_CAPABILTIES 구조체의 SilentInstall 멤버를 설정하는 버스 드라이버와 동일합니다. |
|
이 비트를 사용하면 디바이스가 일부 UI에 표시되지 않습니다. 이 플래그를 설정하는 것은 PDO에 대한 DEVICE_CAPABILTIES 구조체의 NoDisplayInUI 멤버를 설정하는 버스 드라이버와 동일합니다. |
|
클라이언트가 디바이스에 드라이버를 로드하려는 경우와 클라이언트 기능의 올바른 기능을 위해 이 드라이버가 필요한 경우 이 비트를 지정합니다.
이 비트를 지정하면 pszzHardwareIds 또는 pszzCompatibleIds 중 하나 이상을 채워야 합니다. 이 비트를 지정하고 드라이버를 찾을 수 없는 경우 디바이스에 문제가 있음을 나타내는 Device Manager 노란색 뱅이 표시되고 문제 해결사에서 이 플래그를 문제가 있는 디바이스로 표시합니다. 이 비트를 설정하는 것은 PDO에 대한 DEVICE_CAPABILTIES 구조체의 RawDeviceOK 멤버를 설정하지 않는 버스 드라이버와 동일합니다. 이 비트를 지정하면 드라이버가 디바이스에 대한 인터페이스 만들기를 소유하며 디바이스에 대한 SwDeviceInterfaceRegister 호출할 수 없습니다. |
pszDeviceDescription
UI의 디바이스 이름에 대해 표시되는 텍스트가 들어 있는 문자열입니다. 이 값은 DeviceTextDescription
INF가 디바이스와 일치하면 이 이름을 유지하기 위한 단계를 수행하지 않는 한 INF의 이름이 이 이름을 재정의합니다.
이 문자열은 지역화 가능한 리소스에 대한 참조가 되는 것이 좋습니다. 리소스를 참조하는 구문은 DEVPROP_TYPE_STRING_INDIRECT참조하세요.
pszDeviceLocation
UI의 디바이스 위치에 대해 표시되는 텍스트가 들어 있는 문자열입니다. 이 값은 DeviceTextLocationInformation
pSecurityDescriptor
소프트웨어 디바이스와 연결된 보안 정보를 포함하는 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다. 이 멤버가 NULL
발언
만들 때만 이 정보를 지정할 수 있으며, 예를 들어 속성을 설정하여 나중에 소프트웨어 디바이스 API를 호출하여 이 정보를 수정할 수 없습니다.
요구 사항
요구 | 값 |
---|---|
헤더 | swdevicedef.h(Swdevice.h 포함) |