Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[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 |
---|---|
|
È stato rilevato un parametro non valido. |
|
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) |