Metodo IMiniportWaveRTStreamNotification::AllocateBufferWithNotification (portcls.h)
Il metodo AllocateAudioBufferWithNotification
alloca un buffer ciclico per i dati audio quando si vuole implementare la notifica degli eventi guidata da DMA. Se non si desidera notificare eventi, è necessario usare IMiniportWaveRTStream::AllocateAudioBuffer.
Sintassi
NTSTATUS AllocateBufferWithNotification(
[in] ULONG NotificationCount,
[in] ULONG RequestedSize,
[out] PMDL *AudioBufferMdl,
[out] ULONG *ActualSize,
[out] ULONG *OffsetFromFirstPage,
[out] MEMORY_CACHING_TYPE *CacheType
);
Parametri
[in] NotificationCount
Specifica il numero di notifiche desiderate per ciclo del buffer. I valori validi sono 1 o 2, dove 1 indica una singola notifica alla fine del buffer ciclico e 2 indica due notifiche per ciclo di buffer, una alla metà del buffer e una alla fine.
[in] RequestedSize
Specifica le dimensioni richieste, in byte, del buffer audio.
[out] AudioBufferMdl
Puntatore di output per un elenco di descrittori di memoria (MDL) che descrive il buffer audio. Questo parametro punta a una variabile puntatore allocata dal chiamante in cui il metodo scrive un puntatore nel linguaggio MDL.
[out] ActualSize
Puntatore di output per le dimensioni effettive, in byte, del buffer allocato. Questo parametro punta a una variabile ULONG in cui il metodo scrive il valore della dimensione.
[out] OffsetFromFirstPage
Puntatore di output per l'offset (in byte) del buffer, dall'inizio della prima pagina nel file MDL. Questo parametro punta a una variabile ULONG allocata dal chiamante in cui il metodo scrive il valore di offset.
[out] CacheType
Specifica il tipo di memorizzazione nella cache richiesto dal client per il buffer audio. Questo parametro è un valore di enumerazione MEMORY_CACHING_TYPE
Valore restituito
AllocateBufferWithNotification
restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, il metodo restituisce un codice di stato di errore appropriato. La tabella seguente illustra alcuni dei possibili codici di stato di errore.
Codice restituito | Descrizione |
---|---|
|
Il driver non supporta la combinazione specificata di attributi del buffer. |
|
Memoria insufficiente per allocare il buffer. |
|
Il dispositivo non è pronto. |
Osservazioni
AllocateBufferWithNotification
per allocare un buffer ciclico di cui il driver della porta può successivamente eseguire il mapping allo spazio indirizzi virtuale del client.
AllocateBufferWithNotification
funziona in modo simile a IMiniportWaveRTStream::AllocateAudioBuffer. Inoltre, AllocateBufferWithNotification
identifica il driver di porta WaveRT desiderato per la notifica degli eventi guidata da DMA e specifica il numero di notifiche per ciclo del buffer ciclico.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Vista e nei sistemi operativi Windows successivi. |
piattaforma di destinazione | Universale |
intestazione | portcls.h |
IRQL | Livello passivo. |
Vedere anche
IMiniportWaveRTStream::AllocateAudioBuffer
IMiniportWaveRTStreamNotification