Compartilhar via


Método IPortClsNotifications::AllocNotificationBuffer (portcls.h)

Aloca um buffer do tamanho especificado, no pool de memória especificado, para uso no envio de notificações, para permitir comunicações entre módulos de áudio e aplicativos UWP.

Para obter mais informações sobre módulos de áudio, consulte Implementando a descoberta de módulo de áudio.

Sintaxe

NTSTATUS AllocNotificationBuffer(
  [in]  POOL_TYPE              PoolType,
  [in]  USHORT                 NumberOfBytes,
  [out] PPCNOTIFICATION_BUFFER *NotificationBuffer
);

Parâmetros

[in] PoolType

Especifica o tipo de pool de memória do qual o objeto deve ser alocado (consulte POOL_TYPE). Os valores recomendados são NonPagedPoolNx ou PagedPool. A seleção de tipo de pool de memória também depende do nível IRQL. Se estiver em execução em DISPATCH_LEVEL a memória deverá não ser paginada.

[in] NumberOfBytes

Número de bytes a serem alocados.

[out] NotificationBuffer

Ponteiro para um PCNOTIFICATION_BUFFER qual o método grava o endereço da notificação alocada.

Retornar valor

STATUS_SUCCESS – o driver foi capaz de alocar o buffer de notificação.

STATUS_INVALID_PARAMETER – o driver retornará esse erro se encontrar qualquer outro parâmetro inválido, além dos casos específicos para outras instâncias de status de erro.

Códigos de status padrão adicionais podem ser retornados. Por exemplo, STATUS_INSUFFICIENT_RESOURCES será retornado se não for possível alocar o buffer necessário.

Comentários

Os chamadores de AllocNotificationBuffer devem estar em execução em IRQL <= DISPATCH_LEVEL. Se um gravador de driver chamar essa rotina em IRQL = DISPATCH_LEVEL, a NotificationStructure deverá ser alocada da memória nãopagada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível em Windows 10, versão 1703 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
Biblioteca Portcls.lib
IRQL <= DISPATCH_LEVEL (consulte a seção Comentários)

Confira também

IPortClsNotifications