Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[Solo se aplica a KMDF]
El método WdfDmaTransactionCreate crea una transacción DMA.
Sintaxis
NTSTATUS WdfDmaTransactionCreate(
[in] WDFDMAENABLER DmaEnabler,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] WDFDMATRANSACTION *DmaTransaction
);
Parámetros
[in] DmaEnabler
Identificador de un objeto enabler DMA que el controlador obtuvo de una llamada anterior a WdfDmaEnablerCreate.
[in, optional] Attributes
Puntero a una estructura WDF_OBJECT_ATTRIBUTES que especifica atributos de objeto para el nuevo objeto de transacción DMA. (El miembro ParentObject de la estructura debe ser NULL). Este parámetro es opcional y se puede WDF_NO_OBJECT_ATTRIBUTES.
[out] DmaTransaction
Identificador de un objeto de transacción DMA.
Valor devuelto
WdfDmaTransactionCreate devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:
Código de retorno | Descripción |
---|---|
|
Se detectó un parámetro no válido. |
|
No había memoria suficiente para crear un nuevo objeto de transacción DMA. |
Para obtener una lista de otros valores devueltos que el método WdfDmaTransactionCreate podría devolver, vea Errores de creación de objetos de marco.
Este método también puede devolver otros valores de NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Observaciones
Después de que el controlador llame a WdfDmaTransactionCreate, debe llamar a WdfDmaTransactionInitialize o WdfDmaTransactionInitializeUsingRequest antes de llamar a WdfDmaTransactionExecute.
El objeto habilitador DMA especificado se convierte en el elemento primario del nuevo objeto de transacción DMA. El controlador no puede cambiar este elemento primario y el miembro parentObject de o la estructura WDF_OBJECT_ATTRIBUTES debe ser null.
Para obtener más información sobre las transacciones de DMA, vea Creación e inicialización de una transacción DMA.
Ejemplos
Para obtener un ejemplo de código que usa WdfDmaTransactionCreate, vea WdfDmaTransactionExecute.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
encabezado | wdfdmatransaction.h (incluya Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
irQL | <=DISPATCH_LEVEL |
reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |