Função WdfDeviceInitRegisterPnpStateChangeCallback (wdfdevice.h)
[Aplica-se somente ao KMDF]
Observação
Esse método é apenas para uso interno da Microsoft.
O método WdfDeviceInitRegisterPnpStateChangeCallback registra uma função de retorno de chamada de evento fornecida pelo driver que a estrutura chama quando a máquina de estado Plug and Play do dispositivo muda de estado.
Sintaxe
NTSTATUS WdfDeviceInitRegisterPnpStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_PNP_STATE PnpState,
[in] PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange,
[in] ULONG CallbackTypes
);
Parâmetros
[in] DeviceInit
Um ponteiro fornecido pelo chamador para uma estrutura WDFDEVICE_INIT .
[in] PnpState
Um enumerador WDF_DEVICE_PNP_STATE que identifica o estado do computador Plug and Play para o qual o driver está solicitando notificação.
[in] EvtDevicePnpStateChange
Um ponteiro fornecido pelo chamador para a função de retorno de chamada de evento EvtDevicePnpStateChange do driver.
[in] CallbackTypes
Uma combinação ORed de enumeradores com tipo WDF_STATE_NOTIFICATION_TYPE.
Retornar valor
Se a operação for bem-sucedida, WdfDeviceInitRegisterPnpStateChangeCallback retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:
Código de retorno | Descrição |
---|---|
|
Um parâmetro inválido foi detectado. |
|
Não há memória suficiente para concluir a operação. |
Comentários
Se o driver chamar WdfDeviceInitRegisterPnpStateChangeCallback, ele deverá fazer isso antes de chamar WdfDeviceCreate.
Para obter mais informações sobre WdfDeviceInitRegisterPnpStateChangeCallback, consulte State Machines in the Framework.
Exemplos
O exemplo de código a seguir registra uma função de retorno de chamada de evento que a estrutura chamará quando a máquina de estado Plug and Play do dispositivo mudar de estado.
status = WdfDeviceInitRegisterPnpStateChangeCallback(
DeviceInit,
WdfDevStatePnpEjectFailed,
MyDrvPnPStateChangeCallback,
StateNotificationAllStates
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdevice.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |