Partager via


IPortClsNotifications ::AllocNotificationBuffer, méthode (portcls.h)

Alloue une mémoire tampon de la taille spécifiée, dans le pool de mémoires spécifié, pour une utilisation dans l’envoi de notifications, afin d’autoriser les communications entre les modules audio et les applications UWP.

Pour plus d’informations sur les modules audio, consultez Implémentation de la découverte de modules audio.

Syntaxe

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

Paramètres

[in] PoolType

Spécifie le type de pool de mémoire à partir duquel l’objet doit être alloué (voir POOL_TYPE). Les valeurs recommandées sont NonPagedPoolNx ou PagedPool. La sélection du type de pool de mémoire dépend également du niveau IRQL. En cas d’exécution à DISPATCH_LEVEL la mémoire doit être non paginée.

[in] NumberOfBytes

Nombre d’octets à allouer.

[out] NotificationBuffer

Pointeur vers une PCNOTIFICATION_BUFFER laquelle la méthode écrit l’adresse de la notification allouée.

Valeur de retour

STATUS_SUCCESS : le pilote a pu allouer la mémoire tampon de notification.

STATUS_INVALID_PARAMETER : le pilote retourne cette erreur s’il trouve un autre paramètre non valide, en dehors des cas spécifiques pour d’autres instances d’état d’erreur.

Des codes d’état standard supplémentaires peuvent être retournés. Par exemple, STATUS_INSUFFICIENT_RESOURCES est retourné s’il n’est pas possible d’allouer la mémoire tampon requise.

Remarques

Les appelants de allocNotificationBuffer doivent s’exécuter à l'<IRQL = DISPATCH_LEVEL. Si un enregistreur de pilotes appelle cette routine à IRQL = DISPATCH_LEVEL, notificationStructure doit être allouée à partir de la mémoire non paginée.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 10, version 1703 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête portcls.h (include Portcls.h)
bibliothèque Portcls.lib
IRQL <= DISPATCH_LEVEL (voir la section Remarques)

Voir aussi

IPortClsNotifications