estrutura TARGET_DEVICE_CUSTOM_NOTIFICATION (wdm.h)

A estrutura TARGET_DEVICE_CUSTOM_NOTIFICATION descreve um evento de dispositivo personalizado.

Sintaxe

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;

Membros

Version

Especifica a versão da estrutura de dados, atualmente 1.

Size

Especifica o tamanho da estrutura, em bytes, incluindo os três primeiros membros padrão mais os dados específicos do evento.

Event

Especifica um GUID que identifica o evento. GuiDs para notificação de eventos personalizados são definidos pelos componentes que usam esse mecanismo.

FileObject

Ponteiro para um objeto de arquivo para o dispositivo.

NameBufferOffset

Especifica o deslocamento, em bytes, do início de CustomDataBuffer em que o texto começa. Um valor de -1 indica que não há texto.

CustomDataBuffer[1]

Um buffer de comprimento variável, opcionalmente contendo dados binários no início do buffer, seguido por um buffer de texto opcional (alinhado à palavra).

Comentários

Os componentes do modo kernel usam essa estrutura para notificação de evento personalizado: para sinalizar um evento personalizado (IoReportTargetDeviceChange[Asynchronous]) e ao manipular um evento personalizado (em uma rotina de retorno de chamada de notificação).

Essa estrutura acomoda um buffer de dados binários de comprimento variável e um buffer de texto Unicode de comprimento variável. O NameBufferOffset deve indicar onde o buffer de texto começa, para que os dados possam ser entregues no formato apropriado (ANSI ou Unicode) para aplicativos de modo de usuário registrados para notificação baseada em identificador com RegisterDeviceNotification. Consulte também RegisterDeviceNotification.

Requisitos

Requisito Valor
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Confira também

IoRegisterPlugPlayNotification

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification