TARGET_DEVICE_CUSTOM_NOTIFICATION 구조체(wdm.h)

TARGET_DEVICE_CUSTOM_NOTIFICATION 구조는 사용자 지정 디바이스 이벤트를 설명합니다.

구문

typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {
  USHORT       Version;
  USHORT       Size;
  GUID         Event;
  PFILE_OBJECT FileObject;
  LONG         NameBufferOffset;
  UCHAR        CustomDataBuffer[1];
} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;

멤버

Version

현재 1인 데이터 구조의 버전을 지정합니다.

Size

처음 세 개의 표준 멤버와 이벤트별 데이터를 포함하여 구조체의 크기를 바이트 단위로 지정합니다.

Event

이벤트를 식별하는 GUID를 지정합니다. 사용자 지정 이벤트 알림에 대한 GUID는 이 메커니즘을 사용하는 구성 요소에 의해 정의됩니다.

FileObject

디바이스의 파일 개체에 대한 포인터입니다.

NameBufferOffset

텍스트가 시작되는 CustomDataBuffer 의 시작부터 오프셋(바이트)을 지정합니다. -1 값은 텍스트가 없음을 나타냅니다.

CustomDataBuffer[1]

선택적으로 버퍼의 시작 부분에 이진 데이터를 포함하고 선택적 텍스트 버퍼(단어 맞춤)를 포함하는 가변 길이 버퍼입니다.

설명

커널 모드 구성 요소는 사용자 지정 이벤트 알림에 이 구조를 사용합니다. 즉, 사용자 지정 이벤트(IoReportTargetDeviceChange[비동기])와 사용자 지정 이벤트를 처리할 때(알림 콜백 루틴에서) 신호를 보냅니다.

이 구조체는 가변 길이 이진 데이터 버퍼와 가변 길이 유니코드 텍스트 버퍼를 모두 수용합니다. NameBufferOffset은 텍스트 버퍼가 시작되는 위치를 나타내야 하므로 데이터는 RegisterDeviceNotification을 사용하여 핸들 기반 알림에 등록된 사용자 모드 애플리케이션에 적절한 형식(ANSI 또는 유니코드)으로 배달될 수 있습니다. RegisterDeviceNotification도 참조하세요.

요구 사항

요구 사항
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)

추가 정보

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification