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 |