Méthode IPortWaveCyclique ::NewMasterDmaChannel (portcls.h)

La NewMasterDmaChannel méthode crée une nouvelle instance d’un canal DMA master bus.

Syntaxe

NTSTATUS NewMasterDmaChannel(
  [out]          PDMACHANNEL   *DmaChannel,
  [in]           PUNKNOWN      OuterUnknown,
  [in, optional] PRESOURCELIST ResourceList,
  [in]           ULONG         MaximumLength,
  [in]           BOOLEAN       Dma32BitAddresses,
  [in]           BOOLEAN       Dma64BitAddresses,
  [in]           DMA_WIDTH     DmaWidth,
  [in]           DMA_SPEED     DmaSpeed
);

Paramètres

[out] DmaChannel

Pointeur vers une variable de pointeur allouée par l’appelant dans laquelle la méthode écrit un pointeur vers le nouvel objet IDmaChannel . Spécifiez une valeur de pointeur non NULL valide pour ce paramètre.

[in] OuterUnknown

Pointeur vers l’interface IUnknown d’un objet qui doit agréger l’objet de canal DMA. Ce paramètre est facultatif. Si l’agrégation n’est pas requise, spécifiez ce paramètre sur NULL.

[in, optional] ResourceList

Pointeur vers la liste des ressources du pilote miniport, qui est un objet IResourceList . Ce paramètre est facultatif et peut être spécifié comme NULL. Actuellement NewMasterDmaChannel , la méthode n’utilise pas ce paramètre.

[in] MaximumLength

Longueur maximale en octets de la mémoire tampon DMA cyclique qui sera associée à ce canal.

[in] Dma32BitAddresses

Spécifie l’utilisation d’adresses 32 bits.

[in] Dma64BitAddresses

Spécifie l’utilisation d’adresses 64 bits.

[in] DmaWidth

Non utilisé. Définissez sur (DMA_WIDTH)(-1).

[in] DmaSpeed

Non utilisé. Définissez sur (DMA_SPEED)(-1).

Valeur retournée

NewMasterDmaChannel retourne STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié.

Remarques

Les paramètres MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidth et DmaSpeed ont une signification similaire aux membres de la structure DEVICE_DESCRIPTION portant les mêmes noms.

Un appareil WaveCyclique avec du matériel DMA de mastering de bus intégré est appelé appareil master. En revanche, un appareil subordonné n’a pas de matériel DMA et doit s’appuyer sur le contrôleur DMA système pour effectuer tous les transferts de données dont il a besoin. La NewMasterDmaChannel méthode crée un objet de canal DMA pour un appareil master. Pour créer un objet de canal DMA pour un appareil subordonné, appelez plutôt la méthode IPortWaveCyclique ::NewSlaveDmaChannel . Pour plus d’informations sur les appareils master et subordonnés, consultez IDmaChannel et IDmaChannelSlave.

Les paramètres DmaChannel, OuterUnknown et ResourceList 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 une 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
Plateforme cible Universal
En-tête portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Voir aussi

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclique

IPortWaveCyclique ::NewSlaveDmaChannel

IResourceList