Metodo IMiniportWaveRTStreamNotification::AllocateBufferWithNotification (portcls.h)
Il AllocateAudioBufferWithNotification
metodo alloca un buffer ciclico per i dati audio quando si vuole implementare la notifica degli eventi basata su DMA. Se non si vuole la notifica degli 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 di 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 al punto intermedio 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 del puntatore allocata del chiamante in cui il metodo scrive un puntatore all'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 delle dimensioni.
[out] OffsetFromFirstPage
Puntatore di output per l'offset (in byte) del buffer, dall'inizio della prima pagina in 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 richiesta 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 esito positivo. In caso contrario, il metodo restituisce un codice di stato di errore appropriato. La tabella seguente mostra alcuni dei possibili codici di stato degli errori.
Codice restituito | Descrizione |
---|---|
|
Il driver non supporta la combinazione specificata di attributi del buffer. |
|
Memoria insufficiente disponibile per allocare il buffer. |
|
Il dispositivo non è pronto. |
Commenti
AllocateBufferWithNotification
metodo per allocare un buffer ciclico che il driver della porta può eseguire in seguito il mapping allo spazio indirizzi virtuale del client. AllocateBufferWithNotification
opera 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.
Requisiti
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. |
Vedi anche
IMiniportWaveRTStream::AllocateAudioBuffer
IMiniportWaveRTStreamNotification