Metodo IPortWavePci::NewMasterDmaChannel (portcls.h)

Il NewMasterDmaChannel metodo crea una nuova istanza di un canale DMA master del bus.

Sintassi

NTSTATUS NewMasterDmaChannel(
                 PDMACHANNEL   *OutDmaChannel,
  [in, optional] PUNKNOWN      OuterUnknown,
  [in]           POOL_TYPE     PoolType,
  [in, optional] PRESOURCELIST ResourceList,
  [in]           BOOLEAN       ScatterGather,
  [in]           BOOLEAN       Dma32BitAddresses,
  [in]           BOOLEAN       Dma64BitAddresses,
  [in]           BOOLEAN       IgnoreCount,
  [in]           DMA_WIDTH     DmaWidth,
  [in]           DMA_SPEED     DmaSpeed,
  [in]           ULONG         MaximumLength,
  [in]           ULONG         DmaPort
);

Parametri

OutDmaChannel

[in, optional] OuterUnknown

Puntatore all'interfaccia IUnknown di un oggetto che deve aggregare l'oggetto canale DMA. Questo parametro è facoltativo e, Se l'aggregazione non è obbligatoria, specificare questo parametro come NULL.

[in] PoolType

Specifica il tipo di pool di archiviazione da cui deve essere allocato l'oggetto. Si tratta di un valore di enumerazione POOL_TYPE . Specificare un tipo di pool non di paging per questo parametro.

[in, optional] ResourceList

Puntatore all'elenco di risorse del driver miniport, ovvero un oggetto IResourceList . Questo parametro è facoltativo e può essere specificato come NULL. Il NewMasterDmaChannel metodo attualmente non usa questo parametro.

[in] ScatterGather

Richiede che il canale DMA supporti DMA a dispersione/raccolta DMA. Impostare sempre questo parametro su TRUE.

[in] Dma32BitAddresses

Specifica l'uso di indirizzi a 32 bit per le operazioni DMA.

[in] Dma64BitAddresses

Specifica l'uso di indirizzi a 64 bit per le operazioni DMA.

[in] IgnoreCount

Indica se ignorare il contatore di trasferimento del controller DMA. Impostare su TRUE se il controller DMA in questa piattaforma non gestisce un contatore di trasferimento accurato e pertanto richiede una soluzione alternativa.

[in] DmaWidth

Non usato. Impostare su (DMA_WIDTH)(-1).

[in] DmaSpeed

Non usato. Impostare su (DMA_SPEED)(-1).

[in] MaximumLength

Numero massimo di byte nel buffer che verrà associato a questo canale DMA.

[in] DmaPort

Non usato. Impostare su 0.

Valore restituito

NewMasterDmaChannel restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato.

Commenti

Le definizioni dei parametri di chiamata per il NewMasterDmaChannel metodo sono simili a quelle per i membri della struttura DEVICE_DESCRIPTION con gli stessi nomi.

Specificare il parametro PoolType come uno dei tipi di pool non di paging definiti nell'enumerazione POOL_TYPE. L'oggetto canale DMA non deve risiedere nella memoria di paging perché è possibile chiamare diversi metodi nell'interfaccia IDmaChannel da IRQL DISPATCH_LEVEL.

I parametri DmaChannel, OuterUnknown e ResourceList seguono le convenzioni di conteggio dei riferimenti per gli oggetti COM.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Vedi anche

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE