IoGetDeviceInterfacePropertyData 함수(wdm.h)
IoGetDeviceInterfacePropertyData 루틴은 디바이스 인터페이스 속성현재 값을 검색합니다.
통사론
NTSTATUS IoGetDeviceInterfacePropertyData(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
ULONG Flags,
[in] ULONG Size,
[out] PVOID Data,
[out] PULONG RequiredSize,
[out] PDEVPROPTYPE Type
);
매개 변수
[in] SymbolicLinkName
디바이스 인터페이스 인스턴스를 식별하는 문자열에 대한 포인터입니다. 이 문자열은 IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias또는 IoRegisterDeviceInterface 루틴에 대한 이전 호출에서 가져옵니다.
[in] PropertyKey
디바이스 인터페이스 속성 키가 포함된 DEVPROPKEY 구조체에 대한 포인터입니다.
[in] Lcid
로캘 식별자를 지정합니다. 이 매개 변수를 언어별 LCID 값으로 설정하거나 LOCALE_NEUTRAL. LOCALE_NEUTRAL LCID는 속성이 언어 중립적임을 지정합니다(즉, 어떤 언어와도 관련이 없음). 이 매개 변수를 LOCALE_SYSTEM_DEFAULT 또는 LOCALE_USER_DEFAULT설정하지 마세요. 언어별 LCID 값에 대한 자세한 내용은 LCID 구조참조하세요.
Flags
시스템 사용을 위해 예약되어 있습니다. 드라이버는 이 값을 0으로 설정해야 합니다.
[in] Size
데이터 가리키는 버퍼의 크기(바이트)를 지정합니다.
[out] Data
루틴이 디바이스 인터페이스 속성 데이터를 쓰는 호출자 할당 버퍼에 대한 포인터입니다.
[out] RequiredSize
IoGetDeviceInterfacePropertyData 속성 데이터의 필요한 크기를 쓰는 ULONG 변수에 대한 포인터입니다. 루틴이 성공하면 필요한 크기 값은 데이터 가리키는 루틴이 출력 버퍼에 쓰는 바이트 수입니다. 루틴이 STATUS_BUFFER_TOO_SMALL 반환하는 경우 필요한 크기 값은 호출자가 이 속성 값에 할당해야 하는 버퍼의 크기입니다.
[out] Type
DEVPROPTYPE 변수에 대한 포인터입니다. IoGetDeviceInterfacePropertyData가 속성 데이터를 성공적으로 검색할 경우 루틴은 속성 형식 값을 이 변수에 씁니다. 이 값은 Data 버퍼에 있는 속성 데이터의 형식을 나타냅니다.
반환 값
IoGetDeviceInterfacePropertyData 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 묘사 |
---|---|
STATUS_BUFFER_TOO_SMALL | 데이터 가리키는 버퍼가 너무 작아서 속성 데이터를 포함할 수 없습니다. * RequiredSize 필요한 버퍼 길이를 포함합니다. |
STATUS_UNSUCCESSFUL | 지정한 LCID 값이 잘못되었습니다. |
STATUS_NOT_IMPLEMENTED | 지정된 속성은 지원되지 않습니다. |
발언
커널 모드 드라이버는 IoGetDeviceInterfacePropertyData 루틴을 사용하여 통합 디바이스 속성 모델일부로 정의된 디바이스 인터페이스 속성을 검색합니다. 디바이스 인터페이스 속성에 대한 자세한 내용은 디바이스 속성참조하세요.
드라이버는 IoSetDeviceInterfacePropertyData 루틴을 사용하여 디바이스 인터페이스 속성을 수정할 수 있습니다.
IoGetDeviceInterfacePropertyData 호출자는 시스템 스레드의 컨텍스트에서 IRQL = PASSIVE_LEVEL 실행되어야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |