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 pour 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 de carte, 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 par le pilote 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

None

Remarques

Un bogue case activée 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 de transfert maximale sur une valeur définie par le pilote, pour une transaction DMA spécifiée.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfdmatransaction.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf)

Voir aussi

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate