Método IMiniportWaveRTStreamNotification::AllocateBufferWithNotification (portcls.h)
El AllocateAudioBufferWithNotification
método asigna un búfer cíclico para los datos de audio cuando desea implementar una notificación de eventos controlada por DMA. Si no desea notificación de eventos, debe usar IMiniportWaveRTStream::AllocateAudioBuffer.
Sintaxis
NTSTATUS AllocateBufferWithNotification(
[in] ULONG NotificationCount,
[in] ULONG RequestedSize,
[out] PMDL *AudioBufferMdl,
[out] ULONG *ActualSize,
[out] ULONG *OffsetFromFirstPage,
[out] MEMORY_CACHING_TYPE *CacheType
);
Parámetros
[in] NotificationCount
Especifica el número de notificaciones deseadas por ciclo de búfer. Los valores válidos son 1 o 2, donde 1 indica una sola notificación al final del búfer cíclico y 2 indica dos notificaciones por ciclo de búfer, una en el punto medio del búfer y otra al final.
[in] RequestedSize
Especifica el tamaño solicitado, en bytes, del búfer de audio.
[out] AudioBufferMdl
Puntero de salida para una lista de descriptores de memoria (MDL) que describe el búfer de audio. Este parámetro apunta a una variable de puntero asignada por el autor de la llamada en la que el método escribe un puntero en la MDL.
[out] ActualSize
Puntero de salida para el tamaño real, en bytes, del búfer asignado. Este parámetro apunta a una variable ULONG en la que el método escribe el valor de tamaño.
[out] OffsetFromFirstPage
Puntero de salida para el desplazamiento (en bytes) del búfer, desde el inicio de la primera página de MDL. Este parámetro apunta a una variable ULONG asignada por el autor de la llamada en la que el método escribe el valor de desplazamiento.
[out] CacheType
Especifica el tipo de almacenamiento en caché que el cliente solicita para el búfer de audio. Este parámetro es un valor de enumeración MEMORY_CACHING_TYPE
Valor devuelto
AllocateBufferWithNotification
devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de estado de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de estado de error.
Código devuelto | Descripción |
---|---|
|
El controlador no admite la combinación especificada de atributos de búfer. |
|
No hay memoria suficiente disponible para asignar el búfer. |
|
El dispositivo no está listo. |
Comentarios
AllocateBufferWithNotification
método para asignar un búfer cíclico que el controlador de puerto puede asignar posteriormente al espacio de direcciones virtuales del cliente. AllocateBufferWithNotification
funciona de forma similar a IMiniportWaveRTStream::AllocateAudioBuffer. Además, AllocateBufferWithNotification
identifica al controlador de puerto waveRT que se desea la notificación de eventos controlada por DMA y especifica cuántas notificaciones por ciclo del búfer cíclico son necesarias.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y en sistemas operativos Windows posteriores. |
Plataforma de destino | Universal |
Encabezado | portcls.h |
IRQL | Nivel pasivo. |
Consulte también
IMiniportWaveRTStream::AllocateAudioBuffer
IMiniportWaveRTStreamNotification