Méthode IPortWavePci ::NewMasterDmaChannel (portcls.h)
La NewMasterDmaChannel
méthode crée une nouvelle instance d’un canal DMA master 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é comme NULL. Actuellement NewMasterDmaChannel
, la méthode n’utilise pas ce paramètre.
[in] ScatterGather
Demande que le canal DMA prend en charge la diffusion/la collecte de données 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 gère pas de compteur de transfert précis et nécessite donc une solution de contournement.
[in] DmaWidth
Non utilisé. Définissez sur (DMA_WIDTH)(-1).
[in] DmaSpeed
Non utilisé. Définissez 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éfinit la valeur 0.
Valeur retournée
NewMasterDmaChannel
retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il retourne un code d’erreur approprié.
Remarques
Les définitions des paramètres d’appel de la NewMasterDmaChannel
méthode sont similaires à celles des membres de la structure DEVICE_DESCRIPTION portant les mêmes noms.
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 DmaChannel, OuterUnknown et ResourceList suivent les conventions de comptage des références pour les objets COM.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |