Condividi tramite


Funzione WdfDmaTransactionCreate (wdfdmatransaction.h)

[Si applica solo a KMDF]

Il metodo WdfDmaTransactionCreate crea una transazione DMA.

Sintassi

NTSTATUS WdfDmaTransactionCreate(
  [in]           WDFDMAENABLER          DmaEnabler,
  [in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
  [out]          WDFDMATRANSACTION      *DmaTransaction
);

Parametri

[in] DmaEnabler

Handle per un oggetto enabler DMA ottenuto dal driver da una chiamata precedente a WdfDmaEnablerCrea.

[in, optional] Attributes

Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che specifica gli attributi dell'oggetto per il nuovo oggetto transazione DMA. Il membro ParentObject della struttura deve essere NULL. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.

[out] DmaTransaction

Handle per un oggetto transazione DMA.

Valore restituito

WdfDmaTransactionCreare restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
È stato rilevato un parametro non valido.
STATUS_INSUFFICIENT_RESOURCES
Memoria insufficiente per creare un nuovo oggetto transazione DMA.
 

Per un elenco di altri valori restituiti che potrebbero essere restituiti dal metodo WdfDmaTransactionCreate, vedere Framework Object Creation Errors.

Questo metodo potrebbe anche restituire altri valori NTSTATUS .

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Osservazioni:

Dopo che il driver chiama WdfDmaTransactionCreate, deve chiamare WdfDmaTransactionInitialize o WdfDmaTransactionInitializeUsingRequest prima di chiamare WdfDmaTransactionExecute.

L'oggetto enabler DMA specificato diventa l'elemento padre del nuovo oggetto transazione DMA. Il driver non può modificare questo elemento padre e il membro ParentObject o la struttura WDF_OBJECT_ATTRIBUTES deve essere NULL.

Per altre informazioni sulle transazioni DMA, vedere Creazione e inizializzazione di una transazione DMA.

Esempi

Per un esempio di codice che usa WdfDmaTransactionCreate, vedere WdfDmaTransactionExecute.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
versione minima di KMDF 1.0
intestazione wdfdmatransaction.h (include Wdf.h)
Biblioteca Wdf01000.sys (vedere Controllo delle versioni della libreria framework).
IRQL <=DISPATCH_LEVEL
regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedere anche

WDF_OBJECT_ATTRIBUTES

WdfDmaEnablerCreare

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest