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 a un oggetto abilitante DMA ottenuto dal driver da una chiamata precedente a WdfDmaEnablerCreate.
[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 a un oggetto transazione DMA.
Valore restituito
WdfDmaTransactionCreate restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
È stato rilevato un parametro non valido. |
|
Memoria insufficiente per creare un nuovo oggetto transazione DMA. |
Per un elenco di altri valori restituiti che il metodo WdfDmaTransactionCreate potrebbe restituire, vedere Errori di creazione dell'oggetto Framework.
Questo metodo potrebbe restituire anche altri valori NTSTATUS.
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
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.
Esempio
Per un esempio di codice che usa WdfDmaTransactionCreate, vedere WdfDmaTransactionExecute.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfdmatransaction.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Framework Library Versioning). |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |