Funzione SerCx2InitializeDevice (sercx.h)

Il metodo SerCx2InitializeDevice completa l'inizializzazione dell'oggetto dispositivo framework per il controller seriale.

Sintassi

NTSTATUS SerCx2InitializeDevice(
  [in] WDFDEVICE      Device,
  [in] PSERCX2_CONFIG Config
);

Parametri

[in] Device

Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale. Per altre informazioni, vedere la sezione Osservazioni.

[in] Config

Puntatore a una struttura SERCX2_CONFIG allocata dal chiamante che contiene puntatori a un set di funzioni di callback degli eventi implementate dal driver del controller seriale. La versione 2 del controller del framework seriale (SerCx2) chiama queste funzioni per configurare il controller seriale ed eseguire operazioni di base indipendenti dai tipi di transazione I/O (PIO, system DMA o custom) supportati dal driver.

Valore restituito

SerCx2InitializeDevice restituisce STATUS_SUCCESS se la chiamata ha esito positivo. I valori restituiti degli errori possibili includono i codici di stato seguenti.

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST
Il metodo è stato chiamato in IRQL errato o il parametro Device non è un handle WDFDEVICE valido.
STATUS_INFO_LENGTH_MISMATCH
Il valore Config->Size non è uguale a sizeof(SERCX2_CONFIG).
STATUS_INVALID_PARAMETER
Il membro RequestAttributes non è valido o le funzioni di callback necessarie mancano nell'elenco dei puntatori alle funzioni. Per altre informazioni, vedere la sezione Osservazioni.
STATUS_INSUFFICIENT_RESOURCES
Sono disponibili risorse insufficienti per eseguire l'operazione richiesta.

Commenti

Prima di chiamare questo metodo, il driver del controller seriale deve in precedenza aver chiamato il metodo SerCx2InitializeDeviceInit .

Il driver del controller seriale deve chiamare questo metodo dalla relativa funzione EvtDriverDeviceAdd callback dopo aver creato un oggetto dispositivo framework per il controller seriale. Il driver chiama in genere un metodo come WdfDeviceCreate per creare l'oggetto dispositivo framework e ottenere un handle WDFDEVICE a questo oggetto.

Tre dei puntatori di funzione nella struttura SERCX2_CONFIG sono richiesti da SerCx2. Il driver deve implementare le funzioni di callback EvtSerCx2PurgeFifos, EvtSerCx2Control e EvtSerCx2ApplyConfig . In caso contrario, la chiamata SerCx2InitializeDevice ha esito negativo e restituisce STATUS_INVALID_PARAMETER.

Se il membro RequestAttributes della struttura SERCX2_CONFIG è impostato su un valore diverso da WDF_NO_OBJECT_ATTRIBUTES, il driver non deve sovrascrivere i valori scritti nei membri ParentObject, ExecutionLevel e SyncScope di questa struttura dalla funzione WDF_OBJECT_ATTRIBUTES_INIT . In caso contrario, la chiamata SerCx2InitializeDevice ha esito negativo e restituisce STATUS_INVALID_PARAMETER.

Se il driver chiama il metodo WdfDeviceInitSetRequestAttributes per impostare gli attributi da utilizzare per gli oggetti di richiesta, gli attributi della richiesta specificati in questa chiamata devono corrispondere agli attributi della richiesta specificati dal driver nella chiamata a SerCx2InitializeDevice. Per altre informazioni, vedere SerCx2 Custom-Receive Transazioni e SerCx2 Custom-Transmit Transazioni.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.1.
Piattaforma di destinazione Universale
Intestazione sercx.h
IRQL PASSIVE_LEVEL

Vedi anche

EvtDriverDeviceAdd

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCreate

WdfDeviceInitSetRequestAttributes