Função WdfDevicePostEvent (wdfdevice.h)
[Aplica-se somente ao UMDF]
O método WdfDevicePostEvent notifica de forma assíncrona os aplicativos que estão aguardando o evento especificado de um driver.
Sintaxe
NTSTATUS WdfDevicePostEvent(
[in] WDFDEVICE Device,
[in] REFGUID EventGuid,
[in] WDF_EVENT_TYPE WdfEventType,
[in] BYTE *Data,
[in] ULONG DataSizeCb
);
Parâmetros
[in] Device
Um identificador para um objeto de dispositivo de estrutura.
[in] EventGuid
O GUID do evento. O GUID é determinado pelo aplicativo e pelo driver e é opaco para a estrutura.
[in] WdfEventType
Um valor WDF_EVENT_TYPEdigitado que identifica o tipo de evento. Na versão atual do UMDF, o driver deve definir EventType como WdfEventBroadcast (1). WdfEventBroadcast indica que o evento é transmitido. Os aplicativos podem assinar eventos WdfEventBroadcast-type. Para receber eventos de transmissão, o aplicativo deve se registrar para notificação por meio da função RegisterDeviceNotification do Microsoft Win32. eventos do tipoWdfEventBroadcast são expostos como eventos de tipo DBT_CUSTOMEVENT para aplicativos.
[in] Data
Um ponteiro para um buffer que contém dados associados ao evento. NULL é um valor válido.
[in] DataSizeCb
O tamanho, em bytes, dos dados que data aponta. Zero será um valor de tamanho válido se data estiver definido como NULL.
Valor de retorno
Se a operação for bem-sucedida, WdfDevicePostEvent retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:
Código de retorno | Descrição |
---|---|
|
WdfEventType não está definido como WdfEventBroadcast. |
O método pode retornar outros valores NTSTATUS .
Observações
Quando o driver chama WdfDevicePostEvent para notificar o aplicativo solicitante sobre um evento, a UMDF envia o evento para o sistema operacional. O sistema operacional envia o evento para o aplicativo solicitante em uma operação assíncrona. Se o sistema operacional inicialmente não retornar nenhum erro, WdfDevicePostEvent retornará STATUS_SUCCESS.
No entanto, posteriormente, se o sistema operacional receber um erro enquanto tenta entregar o evento (possivelmente devido a uma condição de memória baixa), o sistema operacional não poderá informar o driver sobre o erro. Devido à natureza assíncrona dessa notificação de evento, a entrega do evento para o aplicativo solicitante não é garantida.
Se as informações do evento forem perdidas no caminho até o aplicativo solicitante, o aplicativo deverá ser capaz de se recuperar do evento perdido.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 8.1 |
da Plataforma de Destino | Universal |
versão mínima do UMDF | 2.0 |
cabeçalho | wdfdevice.h (inclua Wdf.h) |
biblioteca | WUDFx02000.lib |
de DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |