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) |