Metodo IMMDevice::Activate (mmdeviceapi.h)
Il metodo Activate crea un oggetto COM con l'interfaccia specificata.
Sintassi
HRESULT Activate(
[in] REFIID iid,
[in] DWORD dwClsCtx,
[in] PROPVARIANT *pActivationParams,
[out] void **ppInterface
);
Parametri
[in] iid
Identificatore dell'interfaccia. Questo parametro è un riferimento a un GUID che identifica l'interfaccia che il chiamante richiede l'attivazione. Il chiamante userà questa interfaccia per comunicare con l'oggetto COM. Impostare questo parametro su uno degli identificatori di interfaccia seguenti:
IID_IAudioClient
IID_IAudioEndpointVolume
IID_IAudioMeterInformation
IID_IAudioSessionManager
IID_IAudioSessionManager2
IID_IBaseFilter
IID_IDeviceTopology
IID_IDirectSound
IID_IDirectSound8
IID_IDirectSoundCapture
IID_IDirectSoundCapture8
IID_IMFTrustedOutput
IID_ISpatialAudioClient
IID_ISpatialAudioMetadataClient
Per altre informazioni, vedere Osservazioni.
[in] dwClsCtx
Contesto di esecuzione in cui verrà eseguito il codice che gestisce l'oggetto appena creato. Il chiamante può limitare il contesto impostando questo parametro sul OR bit per bit di uno o più valori di enumerazione CLSCTX. In alternativa, il client può evitare di imporre restrizioni di contesto specificando CLSCTX_ALL. Per altre informazioni su CLSCTX, vedere la documentazione di Windows SDK.
[in] pActivationParams
Impostare su NULL per attivare un IAudioEndpointVolume, IAudioMeterInformation, IAudioSessionManagero interfaccia IDeviceTopology in un dispositivo endpoint audio. A partire da Windows 10 Build 20348, i chiamanti che attivano un IAudioClient possono impostare pActivationParams a un puntatore a un AUDIOCLIENT_ACTIVATION_PARAMS per configurare un client audio in modalità loopback con un filtro di processo.
Quando si attiva un IBaseFilter, IDirectSound, IDirectSound8, IDirectSoundCaptureo interfaccia IDirectSoundCapture8 nel dispositivo, il chiamante può specificare un puntatore a una struttura PROPVARIANT che contiene informazioni sull'inizializzazione del flusso. Per altre informazioni, vedere Osservazioni.
[out] ppInterface
Puntatore a una variabile puntatore in cui il metodo scrive l'indirizzo dell'interfaccia specificata dal parametro iid. Tramite questo metodo, il chiamante ottiene un riferimento contato all'interfaccia. Il chiamante è responsabile del rilascio dell'interfaccia, quando non è più necessario, chiamando il metodo Release dell'interfaccia. Se la chiamata Activate ha esito negativo, *ppInterface è NULL.
Valore restituito
Se il metodo ha esito positivo, restituisce S_OK. Se ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
L'oggetto non supporta il tipo di interfaccia richiesto. |
|
Il parametro ppInterface è NULL. |
|
Il parametro pActivationParams |
|
Memoria insufficiente. |
|
L'utente ha rimosso il dispositivo endpoint audio o il dispositivo adattatore a cui si connette il dispositivo endpoint. |
Osservazioni
Questo metodo crea un oggetto COM con un'interfaccia specificata dal parametro iid
Un client può chiamare il metodo activate
- IAudioClient
- IAudioEndpointVolume
- IAudioMeterInformation
- IAudioSessionManager
- IAudioSessionManager2
- IBaseFilter
- IDeviceTopology
- IDirectSound
- IDirectSound8
- IDirectSoundCapture
- IDirectSoundCapture8
- IMFTrustedOutput
const IID IID_IAudioClient __uuidof(IAudioCaptureClient)
Per informazioni sull'operatore __uuidof, vedere la documentazione di Windows SDK. Per informazioni su IBaseFilter, IDirectSound, IDirectSound8, IDirectSoundCapture, IDirectSoundCapture8e IMFTrustedOutput vedere la documentazione di Windows SDK.
Il parametro pActivationParams deve essere NULL per una chiamata Activate per creare un IAudioEndpointVolume, IAudioMeterInformation, IAudioSessionManagero interfaccia IDeviceTopology per un dispositivo endpoint audio. A partire da Windows 10 Build 20348, i chiamanti che attivano un IAudioClient possono impostare pActivationParams a un puntatore a un AUDIOCLIENT_ACTIVATION_PARAMS per configurare un client audio in modalità loopback con un filtro di processo.
Per una chiamata a
Un
Activate può attivare un'interfaccia di IDirectSound o IDirectSound8 solo in un dispositivo endpoint di rendering. Può attivare un'interfaccia IDirectSoundCapture o IDirectSoundCapture8 solo in un dispositivo endpoint di acquisizione. Una chiamata attiva
In Windows 7 un client può chiamare IMMDevice::Activate e specificare, IID_IMFTrustedOutput, per creare un oggetto OTA (Output Trust Authorities) e recuperare un puntatore all'interfaccia IMFTrustedOutput dell'oggetto. Gli OTA possono operare all'interno o all'esterno del percorso multimediale protetto di Media Foundation (PMP) e inviare contenuti all'esterno della pipeline di Media Foundation. Se il chiamante è esterno a PMP, l'OTA potrebbe non funzionare nel PMP e le impostazioni di protezione sono meno affidabili. Per informazioni sull'uso di oggetti protetti per l'audio e il codice di esempio, vedere AUDIO in modalità utente protetta (MDF).
Per informazioni generali sugli oggetti protetti e IMFTrustedOutput, vedere "Protected Media Path" nella documentazione di Media Foundation.
- Rendering di un stream
-
topologie di dispositivi
- uso dell'interfaccia IKsControl per accedere alle proprietà audio
- eventi audio per applicazioni audio legacy
- eseguire il rendering del suono spaziale usando oggetti audio spaziali
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [solo app desktop] |
server minimo supportato | Windows Server 2008 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
mmdeviceapi.h |
Vedere anche
interfaccia IAudioClient
Interfaccia IAudioEndpointVolume
Interfaccia IAudioMeterInformation
Interfaccia IAudioSessionManager
interfaccia IDeviceTopology