IDmaChannelSlave ::Start, méthode (portcls.h)
La méthode Start démarre un objet DMA subordonné.
Syntaxe
NTSTATUS Start(
ULONG MapSize,
BOOLEAN WriteToDevice
);
Paramètres
MapSize
Spécifie le nombre d’octets de la mémoire tampon allouée à mapper. La taille de la carte ne doit pas dépasser la taille de la mémoire tampon allouée dans l’appel à IDmaChannel ::AllocateBuffer.
WriteToDevice
Spécifie la direction du déplacement des données. Si la valeur est TRUE, les données doivent être déplacées de la mémoire tampon vers l’appareil. Si la valeur est FALSE, les données doivent être déplacées de l’appareil vers la mémoire tampon.
Valeur retournée
Cette méthode retourne NTSTATUS. Elle retourne STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié. Si l’appelant tente de démarrer un canal déjà démarré, la méthode retourne immédiatement avec le code d’erreur STATUS_UNSUCCESSFUL.
Remarques
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é.
La méthode configure d’abord les registres de carte pour mapper les premiers octets MapSize de la mémoire tampon allouée pour l’objet adaptateur. Ensuite, la méthode démarre un transfert DMA du nombre d’octets spécifié dans MapSize.
Pour plus d’informations sur cette méthode, consultez IDmaChannel ::BufferSize et IDmaChannelSlave ::ReadCounter.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | portcls.h |
IRQL | PASSIVE_LEVEL |