Condividi tramite


Esecuzione del rilevamento della prossimità

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e Writer sink. Lettore di origine e Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Prima di poter trasmettere dati crittografati a un dispositivo registrato nel protocollo DRM 10 di Windows Media per dispositivi di rete, è necessario eseguire un processo denominato rilevamento di prossimità (chiamata anche convalida). Questo processo comporta l'invio di messaggi al dispositivo e la ricezione di risposte. Il tempo necessario per ricevere una risposta viene usato per determinare se il dispositivo è "vicino" sufficiente al computer nella rete per ricevere dati sicuri. Confermando che il dispositivo è fisicamente vicino al computer client nella rete consente di impedire lo spoofing e l'altro accesso non autorizzato.

Al termine del rilevamento di prossimità, il dispositivo viene detto valido. È possibile verificare se un dispositivo è valido chiamando il metodo IWMRegisteredDevice::IsValid . I dispositivi devono essere convalidati ogni 48 ore. Un dispositivo convalidato più di 48 ore prima dell'esecuzione del programma deve essere riconvalidato eseguendo di nuovo il processo di rilevamento della prossimità.

Per eseguire il rilevamento di prossimità, è necessario stabilire le comunicazioni con il dispositivo e quindi chiamare il metodo IWMProximityDetection::StartDetection . Il processo di rilevamento viene completato in modo asincrono dai componenti DRM interni di Windows Media Format SDK. L'applicazione deve includere un'implementazione dell'interfaccia IWMStatusCallback per elaborare i messaggi di rilevamento della prossimità.

Esistono due messaggi inviati dal processo di rilevamento prossimità: un messaggio di risultato e un messaggio di completamento.

Il messaggio di risultato, WMT_PROXIMITY_RESULT, viene inviato al termine del processo di rilevamento. Il parametro hr del metodo di callback OnStatus indica se il dispositivo è stato trovato abbastanza vicino al computer client. Se il parametro hr del messaggio di risultato indica l'esito positivo, il parametro pValue contiene una DWORD che specifica la latenza misurata al dispositivo in millisecondi.

Il messaggio di completamento, WMT_PROXIMITY_COMPLETED, viene inviato al termine del rilevamento. È necessario rilasciare l'interfaccia IWMProximityDetection solo dopo aver ricevuto questo messaggio.

Quando il rilevamento di prossimità per un dispositivo ha esito positivo, il database di registrazione del dispositivo viene aggiornato automaticamente. Le chiamate successive a IWMRegisteredDevice::IsValid restituiranno TRUE fino a 48 ore e il dispositivo deve essere riconvalidato.

Nota DRM non è supportato dalla versione basata su x64 di questo SDK.

Uso del protocollo DRM 10 di Windows Media per dispositivi di rete