Stringhe ID endpoint

In Windows Vista il sistema genera stringhe id endpoint per identificare i dispositivi endpoint audio nel sistema. Una stringa id endpoint è una stringa di caratteri wide con terminazione Null. La stringa ID endpoint per un particolare dispositivo endpoint audio identifica in modo univoco il dispositivo tra tutti i dispositivi endpoint audio nel sistema.

Se un sistema contiene due o più dispositivi adattatori audio identici, i dispositivi endpoint audio corrispondenti avranno nomi descrittivi identici, ma ogni dispositivo endpoint avrà una stringa ID endpoint univoca. Per altre informazioni su come ottenere il nome descrittivo di un dispositivo endpoint, vedere Proprietà del dispositivo.

Dopo aver ottenuto un'istanza dell'interfaccia IMMDevice per un dispositivo endpoint audio, un client può chiamare il metodo IMMDevice::GetId per ottenere la stringa id endpoint per il dispositivo. Un client può usare la stringa id endpoint per creare un'istanza del dispositivo endpoint audio in un secondo momento o in un processo diverso chiamando il metodo IMMDeviceEnumerator::GetDevice .

Un client può disporre di ricevere una notifica quando cambia lo stato di qualsiasi dispositivo endpoint audio. Per ricevere notifiche, il client implementa un'interfaccia IMMNotificationClient e registra tale interfaccia con l'API MMDevice. Quando lo stato di un dispositivo endpoint cambia, l'API MMDevice chiama il metodo appropriato nell'interfaccia EDataFlow del client. Uno dei parametri di input per il metodo è la stringa ID endpoint che identifica il dispositivo endpoint il cui stato è stato modificato. Per altre informazioni su EDataFlow, vedere Eventi del dispositivo.

Le API audio legacy, ad esempio DirectSound e le funzioni multimediali di Windows, hanno interfacce proprie per enumerare e identificare i dispositivi audio. In Windows Vista queste interfacce sono state estese per fornire le stringhe id endpoint che identificano i dispositivi endpoint che sottoscriggono le astrazioni del dispositivo presentate dalle API.

Durante l'enumerazione del dispositivo DirectSound, DirectSound fornisce la stringa ID endpoint per ogni dispositivo enumerato. Per altre informazioni, vedere Eventi audio per applicazioni audio legacy.

Per ottenere la stringa id endpoint per un dispositivo waveform legacy, usare la funzione waveOutMessage o waveInMessage per inviare un messaggio DRV_QUERYFUNCTIONINSTANCEID al driver di dispositivo waveform. Per un esempio di codice che mostra l'uso di questo messaggio, vedere Ruoli del dispositivo per applicazioni multimediali Windows legacy.

Per altre informazioni sull'uso delle funzionalità delle API audio principali per migliorare le applicazioni che usano API audio legacy, vedere Interoperabilità con le API audio legacy.

I client devono considerare il contenuto della stringa id endpoint come opaca. Ovvero, i client non devono tentare di analizzare il contenuto della stringa per ottenere informazioni sul dispositivo. Il motivo è che il formato della stringa non è definito e potrebbe cambiare da un'implementazione del modulo di sistema DELL'API MMDevice alla successiva.

La durata di una stringa ID endpoint è associata all'installazione del dispositivo. La stringa id endpoint di un dispositivo cambia se l'utente aggiorna il driver di dispositivo o se l'utente disinstalla il dispositivo e lo installa nuovamente. Tuttavia, la stringa id endpoint rimane invariata tra i riavvii del sistema e la stringa id endpoint di un dispositivo audio USB rimane invariata se l'utente scollega il dispositivo e lo collega di nuovo.

Dispositivi endpoint audio