Partager via


WdfDmaTransactionSetMaximumLength, fonction (wdfdmatransaction.h)

[S’applique uniquement à KMDF]

La méthode WdfDmaTransactionSetMaximumLength définit la longueur maximale des transferts DMA associés à une transaction DMA spécifiée.

Syntaxe

VOID WdfDmaTransactionSetMaximumLength(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] size_t            MaximumLength
);

Paramètres

[in] DmaTransaction

Handle vers un objet de transaction DMA que le pilote a obtenu à partir d’un appel précédent à WdfDmaTransactionCreate.

[in] MaximumLength

Taille maximale, en octets, que l’appareil peut gérer dans une seule opération de transfert DMA. Si votre pilote doit s’exécuter sur des versions des systèmes d’exploitation Microsoft Windows qui prennent en charge un maximum de 16 registres cartographiques, maximumLength doit être inférieur à 65536.

La valeur MaximumLength s’applique uniquement à la transaction DMA spécifiée, comme suit :

  • Si la valeur spécifiée est inférieure à la valeur par défaut spécifiée dans sa structure WDF_DMA_ENABLER_CONFIG, la valeur spécifiée remplace la valeur par défaut.
  • Si la valeur spécifiée est supérieure à la valeur par défaut, la valeur spécifiée est ignorée.

Valeur de retour

Aucun

Remarques

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Votre pilote doit initialiser la transaction DMA avant d’appeler WdfDmaTransactionSetMaximumLength.

Pour plus d’informations sur l’initialisation d’une transaction DMA, consultez Création et initialisation d’une transaction DMA.

Exemples

L’exemple de code suivant définit la longueur maximale de transfert sur une valeur définie par le pilote, pour une transaction DMA spécifiée.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
En-tête wdfdmatransaction.h (include Wdf.h)
Bibliothèque Wdf01000.sys (voir Versioning de la bibliothèque Framework.)
IRQL <=DISPATCH_LEVEL
règles de conformité DDI DriverCreate(kmdf)

Voir aussi

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate