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

instance 디바이스 인터페이스를 식별하는 문자열에 대한 포인터입니다. 이 문자열은 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가 속성 데이터를 성공적으로 검색하면 루틴은 속성 형식 값을 이 변수에 씁니다. 이 값은 데이터 버퍼에 있는 속성 데이터의 형식을 나타냅니다.

반환 값

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

추가 정보

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData