Partager via


IPortWavePci ::NewMasterDmaChannel, méthode (portcls.h)

La méthode NewMasterDmaChannel crée une nouvelle instance d’un canal DMA maître de bus.

Syntaxe

NTSTATUS NewMasterDmaChannel(
                 PDMACHANNEL   *OutDmaChannel,
  [in, optional] PUNKNOWN      OuterUnknown,
  [in]           POOL_TYPE     PoolType,
  [in, optional] PRESOURCELIST ResourceList,
  [in]           BOOLEAN       ScatterGather,
  [in]           BOOLEAN       Dma32BitAddresses,
  [in]           BOOLEAN       Dma64BitAddresses,
  [in]           BOOLEAN       IgnoreCount,
  [in]           DMA_WIDTH     DmaWidth,
  [in]           DMA_SPEED     DmaSpeed,
  [in]           ULONG         MaximumLength,
  [in]           ULONG         DmaPort
);

Paramètres

OutDmaChannel

[in, optional] 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 comme 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, optional] ResourceList

Pointeur vers la liste de ressources du pilote miniport, qui est un objet IResourceList. Ce paramètre est facultatif et peut être spécifié en tant que NULL. La méthode NewMasterDmaChannel n’utilise actuellement pas ce paramètre.

[in] ScatterGather

Demande que le canal DMA prend en charge le nuage de points/collecter DMA. Définissez toujours ce paramètre sur TRUE.

[in] Dma32BitAddresses

Spécifie l’utilisation d’adresses 32 bits pour les opérations DMA.

[in] Dma64BitAddresses

Spécifie l’utilisation d’adresses 64 bits pour les opérations DMA.

[in] IgnoreCount

Indique s’il faut ignorer le compteur de transfert du contrôleur DMA. Défini sur TRUE si le contrôleur DMA de cette plateforme ne conserve pas de compteur de transfert précis et nécessite donc une solution de contournement.

[in] DmaWidth

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

[in] DmaSpeed

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

[in] MaximumLength

Nombre maximal d’octets dans la mémoire tampon qui seront associés à ce canal DMA.

[in] DmaPort

Non utilisé. Défini sur 0.

Valeur de retour

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

Remarques

Les définitions des paramètres d’appel de la méthode NewMasterDmaChannel sont similaires à celles des membres de la structure DEVICE_DESCRIPTION avec les mêmes noms.

Spécifiez le paramètre PoolType pour qu’il soit l’un des types de pool non paginés définis dans l’énumération POOL_TYPE. L’objet de 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 d’IRQL DISPATCH_LEVEL.

Les paramètres DmaChannel, OuterUnknownet ResourceList suivent les conventions de comptage de référence pour les objets COM.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Voir aussi

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE