Método IWDFDevice2::RegisterRemoteInterfaceNotification (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

O método RegisterRemoteInterfaceNotification registra um driver para receber uma notificação quando uma interface de dispositivo especificada fica disponível.

Sintaxe

HRESULT RegisterRemoteInterfaceNotification(
  [in] LPCGUID pDeviceInterfaceGuid,
  [in] BOOL    IncludeExistingInterfaces
);

Parâmetros

[in] pDeviceInterfaceGuid

Um ponteiro para um GUID que identifica uma interface do dispositivo.

[in] IncludeExistingInterfaces

Um valor booliano. Se o driver definir esse valor como TRUE, a estrutura notificará o driver se a interface do dispositivo especificada ficar disponível depois que o driver chamar RegisterRemoteInterfaceNotification e também notificará o driver se a interface do dispositivo estava disponível antes do driver chamado RegisterRemoteInterfaceNotification.

Se o driver definir esse valor como FALSE, a estrutura notificará o driver somente se a interface do dispositivo ficar disponível depois que o driver chamar RegisterRemoteInterfaceNotification.

Retornar valor

RegisterRemoteInterfaceNotification retorna S_OK da operação é bem-sucedida. Caso contrário, esse método retornará outro valor que Winerror.h contém.

Comentários

Seu driver só poderá chamar RegisterRemoteInterfaceNotification se a interface de retorno de chamada que o driver passou anteriormente para IWDFDriver::CreateDevice der suporte à interface IPnpCallbackRemoteInterfaceNotification .

Para obter mais informações, consulte Usando interfaces de dispositivo em drivers baseados em UMDF.

Exemplos

O exemplo de código a seguir mostra como uma função de retorno de chamada IDriverEntry::OnDeviceAdd pode se registrar para notificação da chegada de uma interface do dispositivo.

HRESULT
CMyDriver::OnDeviceAdd(
    __in IWDFDriver  *FxDriver,
    __in IWDFDeviceInitialize  *FxDeviceInit
    )
{
    CComPtr<IWDFDevice> fxDevice;
    HRESULT hr;

    //
    // Create a device object and obtain the IWDFDevice interface.
    //
    hr = FxDriver->CreateDevice(FxDeviceInit,
                                MyDeviceIUnknown,
                                &fxDevice);
    if (FAILED(hr)) goto Error;

    //
    // Obtain the IWDFDevice2 interface from IWDFDevice.
    //
    CComPtr<IWDFDevice2> fxDevice2;
    if (FAILED(hr)) goto Error;
    hr = fxDevice->QueryInterface(IID_PPV_ARGS(&fxDevice2));
    if (S_OK != hr) goto Error;
    //
    // Register for notification when a device interface
    // arrives.
    //
    hr = fxDevice2->RegisterRemoteInterfaceNotification(&GUID_DEVINTERFACE_TOASTER,
                                                        true);
...
}

Requisitos

Requisito Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1,9
Cabeçalho wudfddi.h (inclua Wudfddi.h)
DLL WUDFx.dll

Confira também

IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival

IWDFDevice2