funzione acmDriverPriority (msacm.h)

La funzione acmDriverPriority modifica la priorità e lo stato di un driver ACM.

Sintassi

MMRESULT ACMAPI acmDriverPriority(
  HACMDRIVERID hadid,
  DWORD        dwPriority,
  DWORD        fdwPriority
);

Parametri

hadid

Gestire l'identificatore del driver di un driver ACM installato. Se vengono specificati i flag ACM_DRIVERPRIORITYF_BEGIN e ACM_DRIVERPRIORITYF_END, questo parametro deve essere NULL.

dwPriority

Nuova priorità per un identificatore di driver ACM globale. Un valore zero specifica che la priorità dell'identificatore del driver deve rimanere invariata. Un valore pari a 1 specifica che il driver deve essere inserito come driver di priorità di ricerca più alto. Un valore di -1 specifica che il driver deve essere inserito come driver di priorità di ricerca più basso. Le priorità vengono usate solo per i driver globali.

fdwPriority

Flag per impostare le priorità dei driver ACM. I valori seguenti sono definiti.

Valore Significato
ACM_DRIVERPRIORITYF_BEGIN Le trasmissioni di notifica di modifica devono essere posticipate. Un'applicazione deve riabilitare le trasmissioni di notifica non appena possibile con il flag di ACM_DRIVERPRIORITYF_END. Si noti che hadid deve essere NULL, dwPriority deve essere zero e solo il flag di ACM_DRIVERPRIORITYF_BEGIN può essere impostato.
ACM_DRIVERPRIORITYF_DISABLE Il driver ACM deve essere disabilitato se è attualmente abilitato. La disabilitazione di un driver disabilitato non fa nulla.
ACM_DRIVERPRIORITYF_ENABLE Il driver ACM deve essere abilitato se è attualmente disabilitato. L'abilitazione di un driver abilitato non fa nulla.
ACM_DRIVERPRIORITYF_END L'attività chiamante vuole riabilitare le trasmissioni di notifica delle modifiche. Un'applicazione deve chiamare acmDriverPriority con ACM_DRIVERPRIORITYF_END per ogni chiamata riuscita con il flag di ACM_DRIVERPRIORITYF_BEGIN. Si noti che hadid deve essere NULL, dwPriority deve essere zero e solo il flag ACM_DRIVERPRIORITYF_END può essere impostato.

Valore restituito

Restituisce zero se ha esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.

Codice restituito Descrizione
MMSYSERR_ALLOCATED
Il blocco di trasmissione posticipato è di proprietà di un'attività diversa.
MMSYSERR_INVALFLAG
Almeno un flag non è valido.
MMSYSERR_INVALHANDLE
L'handle specificato non è valido.
MMSYSERR_INVALPARAM
Almeno un parametro non è valido.
MMSYSERR_NOTSUPPORTED
L'operazione richiesta non è supportata per il driver specificato. Ad esempio, gli identificatori del driver locali e di notifica non supportano le priorità, ma possono essere abilitati e disabilitati. Se un'applicazione specifica un valore diverso da zero per dwPriority per identificatori di driver locali e notifica, verrà restituito questo errore.

Commenti

Tutti gli identificatori di driver possono essere abilitati e disabilitati, inclusi identificatori di driver globali, locali e di notifica.

Se è necessario abilitare più di un identificatore di driver globale, disabilitare o spostare la priorità, un'applicazione deve rinviare le trasmissioni di notifica di modifica usando il flag di ACM_DRIVERPRIORITYF_BEGIN. Una singola notifica di modifica verrà trasmessa quando viene specificato il flag di ACM_DRIVERPRIORITYF_END.

Un'applicazione può usare la funzione con acmMetrics ACM_METRIC_DRIVER_PRIORITY indice delle metriche per recuperare la priorità corrente di un driver globale. I driver vengono sempre enumerati dalla priorità più alta alla più bassa dalla funzione acmDriverEnum .

Tutti gli identificatori di driver abilitati riceveranno notifiche di modifica. Un'applicazione può registrare un messaggio di notifica usando la funzione acmDriverAdd insieme al flag ACM_DRIVERADDF_NOTIFYHWND. Le modifiche apportate agli identificatori di driver nonglobali non verranno trasmesse.

Le priorità vengono semplicemente usate per l'ordine di ricerca quando un'applicazione non specifica un driver. L'aumento della priorità di un driver non avrà alcun effetto sulle prestazioni di un driver.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione msacm.h
Libreria Msacm32.lib
DLL Msacm32.dll

Vedi anche

Funzioni di compressione audio

Gestione compressione audio