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 |