PcNewDmaChannel, fonction (portcls.h)

La fonction PcNewDmaChannel crée un objet de canal DMA. Cette fonction est obsolète ; Pour plus d’informations, consultez les commentaires suivants.

Syntaxe

PORTCLASSAPI NTSTATUS PcNewDmaChannel(
  [out]          PDMACHANNEL         *OutDmaChannel,
  [in, optional] PUNKNOWN            OuterUnknown,
  [in]           POOL_TYPE           PoolType,
  [in]           PDEVICE_DESCRIPTION DeviceDescription,
  [in]           PDEVICE_OBJECT      DeviceObject
);

Paramètres

[out] OutDmaChannel

Pointeur de sortie pour l’objet de canal DMA créé par cette fonction. Ce paramètre pointe vers une variable pointeur allouée par l’appelant dans laquelle la fonction génère une référence à l’objet IDmaChannel nouvellement créé. Spécifiez une valeur de pointeur non NULL valide pour ce paramètre.

[in, optional] OuterUnknown

Pointeur vers l’interface IUnknown d’un objet qui doit agréger l’objet. Sauf si l’agrégation est requise, définissez ce paramètre sur NULL.

[in] PoolType

Spécifie le type de pool de stockage à partir duquel l’objet doit être alloué. Il s’agit d’une valeur d’énumération POOL_TYPE . Spécifiez un type de pool non paginé pour ce paramètre.

[in] DeviceDescription

Pointeur vers une description de l’appareil physique pour lequel l’appelant demande un objet DMA. Ce paramètre pointe vers une structure de type DEVICE_DESCRIPTION.

[in] DeviceObject

Pointeur vers l’objet d’appareil pour le périphérique d’adaptateur physique. Ce paramètre pointe vers une structure système de type DEVICE_OBJECT.

Valeur retournée

PcNewDmaChannel retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il retourne un code d’erreur approprié.

Remarques

PcNewDmaChannel est obsolète. Pour tous les nouveaux pilotes audio, utilisez l’une des méthodes IPortWave Xxx ::NewXxxDmaChannel suivantes à la place de PcNewDmaChannel :

IPortWavePci ::NewMasterDmaChannel

IPortWaveCyclic ::NewMasterDmaChannel

IPortWaveCyclic ::NewSlaveDmaChannel

Pour des raisons de compatibilité descendante, le pilote système PortCls continue de prendre en charge PcNewDmaChannel, et les pilotes existants peuvent continuer à utiliser cette fonction.

Spécifiez le paramètre PoolType comme l’un des types de pool non paginés définis dans l’énumération POOL_TYPE. L’objet canal DMA ne doit pas résider dans la mémoire paginée, car plusieurs des méthodes de l’interface IDmaChannel peuvent être appelées à partir de l’DISPATCH_LEVEL IRQL.

Les paramètres OutDmaChannel et OuterUnknown suivent les conventions de comptage des références pour les objets COM.

Notes

Microsoft prend en charge un environnement diversifié et inclusif. Cet article contient des références à la terminologie que le guide de style Microsoft pour la communication sans préjugés reconnaît comme exclusion. Le mot ou l’expression est utilisé dans cet article à des fins de cohérence, car il apparaît actuellement dans le logiciel. Lorsque le logiciel est mis à jour pour supprimer la langue, cet article est mis à jour pour être aligné.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Obsolète. Pour tous les nouveaux pilotes audio, utilisez plutôt une méthode IPortWaveXxx ::NewXxxDmaChannel. Le pilote système PortCls implémente la fonction PcNewDmaChannel dans Microsoft Windows 98/Me et dans les systèmes d’exploitation Windows 2000 et ultérieurs.
Plateforme cible Universal
En-tête portcls.h (include Portcls.h)
Bibliothèque Portcls.lib
IRQL PASSIVE_LEVEL

Voir aussi

DEVICE_DESCRIPTION

DEVICE_OBJECT

IDmaChannel

POOL_TYPE