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 버퍼의 시작 부분부터 문자 단위로 오프셋입니다.
이 값을 사용하여 CompatIDs 목록 앞에 하드웨어 ID 있는지 여부를 확인할 수도 있습니다. 이 값이 1보다 크면 HardwareID 버퍼의 첫 번째 문자열은 하드웨어 ID입니다. 이 값이 1보다 작거나 같으면 하드웨어 ID가 없습니다.
CompatIDsLength
오프셋 CompatIDsOffset부터 시작하는 CompatIDs 목록의 길이(문자 단위)는 HardwareID 버퍼의 시작 부분부터.
CompatIDsLength 0이 아닌 경우 CompatIDs 목록에는 목록 끝에 추가 NULL 문자가 있는 NULL로 끝나는 문자열이 하나 이상 포함됩니다.
CompatIDsLength 0이면 CompatIDs 목록이 비어 있습니다. 이 경우 목록 끝에 추가 NULL 문자가 없습니다.
Reserved
예약. 내부 전용입니다.
SectionName[LINE_LEN]
이 드라이버에
InfFileName[MAX_PATH]
이 드라이버에 대한 INF 파일의 정규화된 이름을 포함하는 NULL로 끝나는 문자열입니다.
DrvDescription[LINE_LEN]
드라이버를 설명하는 NULL로 끝나는 문자열입니다.
HardwareID[ANYSIZE_ARRAY]
ID 목록(단일 하드웨어 ID호환 ID목록)이 포함된 버퍼입니다. 이러한 ID는 INF 모델 섹션하드웨어 ID 및 호환 ID에 해당합니다.
목록의 각 ID는 NULL로 끝나는 문자열입니다.
하드웨어 ID가 있는 경우(즉, CompatIDsOffset
CompatIDs 목록이 비어 있지 않으면(즉,
발언
디바이스에 대한
- 첫 번째 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 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SP_DRVINFO_DETAIL_DATA 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
헤더 | setupapi.h(Setupapi.h 포함) |
참고 항목
호환 ID
하드웨어 ID
INF DDInstall 섹션
INF 모델 섹션
setupDiGetDriverInfoDetail