SP_DRVINFO_DETAIL_DATA_A 구조체(setupapi.h)
SP_DRVINFO_DETAIL_DATA 구조에는 특정 드라이버 정보 구조에 대한 자세한 정보가 포함되어 있습니다.
구문
typedef struct _SP_DRVINFO_DETAIL_DATA_A {
DWORD cbSize;
FILETIME InfDate;
DWORD CompatIDsOffset;
DWORD CompatIDsLength;
ULONG_PTR Reserved;
CHAR SectionName[LINE_LEN];
CHAR InfFileName[MAX_PATH];
CHAR DrvDescription[LINE_LEN];
CHAR HardwareID[ANYSIZE_ARRAY];
} SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A;
멤버
cbSize
SP_DRVINFO_DETAIL_DATA 구조체의 크기(바이트)입니다.
InfDate
이 드라이버에 대한 INF 파일의 날짜입니다.
CompatIDsOffset
CompatIDs 목록이 시작되는 HardwareID 버퍼의 시작부터의 오프셋(문자)입니다.
이 값을 사용하여 CompatID 목록 앞에 하드웨어 ID 가 있는지 여부를 확인할 수도 있습니다. 이 값이 1보다 큰 경우 HardwareID 버퍼의 첫 번째 문자열은 하드웨어 ID입니다. 이 값이 1보다 작거나 같으면 하드웨어 ID가 없습니다.
CompatIDsLength
HardwareID 버퍼의 시작 부분부터 오프셋 CompatIDsOffset부터 시작하는 CompatIDs 목록의 길이(문자)입니다.
CompatIDsLength가 0이 아닌 경우 CompatIDs 목록에는 목록 끝에 추가 NULL 문자가 있는 NULL로 끝나는 문자열이 하나 이상 포함됩니다.
CompatIDsLength가 0이면 CompatIDs 목록이 비어 있습니다. 이 경우 목록 끝에 추가 NULL 문자가 없습니다.
Reserved
예약되어 있습니다. 내부 전용입니다.
SectionName[LINE_LEN]
이 드라이버에 대한 INF DDInstall 섹션 의 이름을 포함하는 NULL로 끝나는 문자열입니다. OS/아키텍처별 확장이 없으면 InstallSec과 같은 기본 DDInstall 섹션 이름이어야 합니다.
InfFileName[MAX_PATH]
이 드라이버에 대한 INF 파일의 정규화된 이름을 포함하는 NULL로 종료된 문자열입니다.
DrvDescription[LINE_LEN]
드라이버를 설명하는 NULL로 끝나는 문자열입니다.
HardwareID[ANYSIZE_ARRAY]
ID 목록이 포함된 버퍼입니다(단일 하드웨어 ID 와 호환되는 ID 목록). 이러한 ID는 INF 모델 섹션의 하드웨어 ID 및 호환 ID에 해당합니다.
목록의 각 ID는 NULL로 끝나는 문자열입니다.
하드웨어 ID가 있는 경우(즉, CompatIDsOffset이 1 보다 큰 경우) 이 단일 NULL 종료 문자열은 버퍼의 시작 부분에 있습니다.
CompatIDs 목록이 비어 있지 않으면(즉, CompatIDsLength 가 0이 아닌 경우) CompatIDs 목록은 이 버퍼의 시작 부분에서 오프셋 CompatIDsOffset 에서 시작되고 목록 끝에 추가 NULL 문자로 종료됩니다.
설명
디바이스에 대한 하드웨어 ID 및 호환 ID 는 INF 모델 섹션에서 다음 순서로 지정됩니다.
- 첫 번째 ID(지정된 경우)는 디바이스의 하드웨어 ID입니다.
- 나머지 ID(지정된 경우)는 디바이스에 대해 호환되는 ID입니다.
예를 들어 INF 모델 섹션에서하드웨어 ID 및 호환 ID 목록을 지정하는 방법에 따라 HardwareID 버퍼는 다음 중 하나와 유사할 수 있습니다.
- \0
- <HWID>\0
- <HWID>\0<COMPATID_1>\0...<>COMPATID_N\0\0
- \0<COMPATID_1>\0...<>COMPATID_N\0\0
// parse the hardware ID, if it exists
if (CompatIDsOffset > 1)
{
// Parse for hardware ID from index 0.
// This is a single NULL-terminated string
}
// Parse the compatible IDs, if they exist
if (CompatIDsLength > 0)
{
// Parse for list of compatible IDs from CompatIDsOffset.
// This is a double NULL-terminated list of strings (i.e. MULTI-SZ)
}
참고
setupapi.h 헤더는 SP_DRVINFO_DETAIL_DATA 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | setupapi.h(Setupapi.h 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기