共用方式為


SerCx2InitializeDevice 函式 (sercx.h)

SerCx2InitializeDevice 方法會完成初始化序列控制器的架構裝置物件。

語法

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

參數

[in] Device

代表序列控制器之架構裝置物件的WDFDEVICE句柄。 如需詳細資訊,請參閱。

[in] Config

呼叫端配置的 SERCX2_CONFIG 結構的指標,其中包含序列控制器驅動程式所實作之一組事件回呼函式的指標。 序列架構控制器第 2 版 (SerCx2) 會呼叫這些函式來設定序列控制器,並執行與驅動程式所支援之 I/O 交易類型(PIO、系統 DMA 或自定義)無關的基本作業。

傳回值

SerCx2InitializeDevice 如果呼叫成功,就會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列狀態代碼。

傳回碼 描述
STATUS_INVALID_DEVICE_REQUEST
方法在錯誤的 IRQL 上呼叫,或 Device 參數不是有效的 WDFDEVICE 句柄。
STATUS_INFO_LENGTH_MISMATCH
Config->Size 值不等於 sizeofSERCX2_CONFIG)。
STATUS_INVALID_PARAMETER
RequestAttributes 成員無效,或函式指標清單中遺漏必要的回呼函式。 如需詳細資訊,請參閱。
STATUS_INSUFFICIENT_RESOURCES
資源不足,無法執行要求的作業。

言論

呼叫此方法之前,序列控制器驅動程式之前必須呼叫 SerCx2InitializeDeviceInit 方法。

序列控制器驅動程序必須在為序列控制器建立架構裝置對象之後,從其 EvtDriverDeviceAdd 回呼函式呼叫此方法。 驅動程式通常會呼叫方法,例如 WdfDeviceCreate 來建立架構裝置物件,並取得此物件的 WDFDEVICE 句柄。

SerCx2 需要 SERCX2_CONFIG 結構中的三個函式指標。 驅動程式必須實作 EvtSerCx2PurgeFifosEvtSerCx2ControlEvtSerCx2ApplyConfig 回呼函式。 否則,SerCx2InitializeDevice 呼叫會失敗並傳回STATUS_INVALID_PARAMETER。

如果 SERCX2_CONFIG 結構的 RequestAttributes 成員設定為 WDF_NO_OBJECT_ATTRIBUTES 以外的值,則驅動程式不得覆寫寫入 ParentObject的值、ExecutionLevel,以及 SynchronizationScope WDF_OBJECT_ATTRIBUTES_INIT 函式 這個結構的成員。 否則,SerCx2InitializeDevice 呼叫會失敗並傳回STATUS_INVALID_PARAMETER。

如果驅動程式呼叫 WdfDeviceInitSetRequestAttributes 方法來設定要用於要求對象的屬性,則此呼叫中指定的要求屬性必須符合驅動程式在呼叫 SerCx2InitializeDevice中指定的要求屬性。 如需詳細資訊,請參閱 SerCx2 Custom-Receive TransactionsSerCx2 Custom-Transmit Transactions

要求

要求 價值
最低支援的用戶端 從 Windows 8.1 開始提供。
目標平臺 普遍
標頭 sercx.h
IRQL PASSIVE_LEVEL

另請參閱

EvtDriverDeviceAdd

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCreate

WdfDeviceInitSetRequestAttributes