WDF_DMA_ENABLER_CONFIG struttura (wdfdmaenabler.h)
[Si applica solo a KMDF]
La struttura WDF_DMA_ENABLER_CONFIG fornisce caratteristiche per un oggetto enabler DMA.
Sintassi
typedef struct _WDF_DMA_ENABLER_CONFIG {
ULONG Size;
WDF_DMA_PROFILE Profile;
size_t MaximumLength;
PFN_WDF_DMA_ENABLER_FILL EvtDmaEnablerFill;
PFN_WDF_DMA_ENABLER_FLUSH EvtDmaEnablerFlush;
PFN_WDF_DMA_ENABLER_DISABLE EvtDmaEnablerDisable;
PFN_WDF_DMA_ENABLER_ENABLE EvtDmaEnablerEnable;
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START EvtDmaEnablerSelfManagedIoStart;
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP EvtDmaEnablerSelfManagedIoStop;
ULONG AddressWidthOverride;
ULONG WdmDmaVersionOverride;
ULONG Flags;
} WDF_DMA_ENABLER_CONFIG, *PWDF_DMA_ENABLER_CONFIG;
Members
Size
Dimensione, in byte, della struttura.
Profile
Valore WDF_DMA_PROFILE tipizzato, che identifica il tipo di operazione DMA master del bus associata all'oggetto abilitante DMA DMA.
MaximumLength
Dimensioni massime predefinite, in byte, che il dispositivo può gestire in un singolo trasferimento DMA. I driver possono eseguire l'override di questo valore predefinito per singole transazioni DMA chiamando WdfDmaTransactionSetMaximumLength. Se il driver deve essere eseguito nelle versioni dei sistemi operativi Microsoft Windows che supportano un massimo di 16 registri mappa, MaximumLength deve essere inferiore a 65.536.
EvtDmaEnablerFill
Puntatore alla funzione di callback dell'evento EvtDmaEnablerFill del driver o NULL.
EvtDmaEnablerFlush
Puntatore alla funzione di callback dell'evento EvtDmaEnablerFlush del driver o NULL.
EvtDmaEnablerDisable
Puntatore alla funzione di callback dell'evento EvtDmaEnablerDisable del driver o NULL.
EvtDmaEnablerEnable
Puntatore alla funzione di callback dell'evento EvtDmaEnablerEnabler o NULL del driver.
EvtDmaEnablerSelfManagedIoStart
Puntatore alla funzione di callback dell'evento EvtDmaEnablerSelfManagedIoStartdel driver.
EvtDmaEnablerSelfManagedIoStop
Puntatore alla funzione di callback dell'evento EvtDmaEnablerSelfManagedIoStopdel driver.
AddressWidthOverride
Impostare su zero per accettare la larghezza dell'indirizzo specificata in Profilo. Un driver può eseguire l'override della larghezza dell'indirizzo del profilo impostando questo membro su un valore compreso tra 24 e 63. Se il driver specifica un profilo DMA in modalità sistema, AddressWidthOverride deve essere zero. Se il driver specifica un profilo DMA a 32 bit, AddressWidthOverride non può essere maggiore di 32. Il membro AddressWidthOverride è disponibile nella versione 1.11 e versioni successive di KMDF. Per altre informazioni, vedere Osservazioni.
WdmDmaVersionOverride
Impostare su zero per accettare la versione DMA predefinita. Per richiedere DMA versione 3, impostare su 3. Il membro WdmDmaVersionOverride è disponibile nella versione 1.11 e nelle versioni successive di KMDF. DMA versione 3 è disponibile a partire da Windows 8.
Flags
Or bit per bit di uno o più valori dell'enumerazione WDF_DMA_ENABLER_CONFIG_FLAGS . Il membro Flags è disponibile nella versione 1.11 e nelle versioni successive di KMDF.
Commenti
La struttura WDF_DMA_ENABLER_CONFIG viene usata come parametro di input per il metodo WdfDmaEnablerCreate .
I driver devono chiamare WDF_DMA_ENABLER_CONFIG_INIT per inizializzare la struttura WDF_DMA_ENABLER_CONFIG .
In Windows 8 e versioni successive, quando il driver fornisce un valore diverso da zero per AddressWidthOverride, il framework richiede DMA versione 3 e passa il valore AddressWidthOverride a HAL.
In Windows 7 e Windows Vista, quando il driver fornisce un valore diverso da zero per AddressWidthOverride, il framework usa DMA a 32 bit o a 24 bit. Ad esempio, se il driver specifica un profilo a 64 bit e fornisce un AddressWidthOverride pari a 32, il framework usa DMA a 32 bit. Se il driver specifica un profilo a 32 bit e fornisce un AddressWidthOverride di 24, il framework usa DMA a 24 bit.
Requisiti
Requisito | Valore |
---|---|
Versione KMDF minima | 1.0 |
Intestazione | wdfdmaenabler.h (include Wdf.h) |
Vedi anche
EvtDmaEnablerSelfManagedIoStart