Metodo IWDFDevice2::RegisterRemoteInterfaceNotification (wudfddi.h)
[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Nessuna nuova funzionalità viene aggiunta a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedere Introduzione con UMDF.]
Il metodo RegisterRemoteInterfaceNotification registra un driver per ricevere una notifica quando diventa disponibile un'interfaccia del dispositivo specificata.
Sintassi
HRESULT RegisterRemoteInterfaceNotification(
[in] LPCGUID pDeviceInterfaceGuid,
[in] BOOL IncludeExistingInterfaces
);
Parametri
[in] pDeviceInterfaceGuid
Puntatore a un GUID che identifica un'interfaccia del dispositivo.
[in] IncludeExistingInterfaces
Valore booleano. Se il driver imposta questo valore su TRUE, il framework notifica al driver se l'interfaccia del dispositivo specificata diventa disponibile dopo che il driver chiama RegisterRemoteInterfaceNotification e notifica anche al driver se l'interfaccia del dispositivo era disponibile prima del driver denominato RegisterRemoteInterfaceNotification.
Se il driver imposta questo valore su FALSE, il framework notifica al driver solo se l'interfaccia del dispositivo diventa disponibile dopo che il driver chiama RegisterRemoteInterfaceNotification.
Valore restituito
RegisterRemoteInterfaceNotification restituisce S_OK dell'operazione ha esito positivo. In caso contrario, questo metodo restituisce un altro valore che Winerror.h contiene.
Commenti
Il driver può chiamare RegisterRemoteInterfaceNotification solo se l'interfaccia di callback passata in precedenza al driver passato a IWDFDriver::CreateDevice supporta l'interfaccia IPnpCallbackRemoteInterfaceNotification .
Per altre informazioni, vedere Uso di interfacce dispositivo nei driver basati su UMDF.
Esempio
Nell'esempio di codice seguente viene illustrato come una funzione di callback IDriverEntry::OnDeviceAdd può registrarsi per la notifica dell'arrivo di un'interfaccia del 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);
...
}
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1,9 |
Intestazione | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |
Vedi anche
IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival