簡單周邊匯流排 (SPB)
簡單周邊匯流排 (SPB) 技術的概觀。
若要開發簡單周邊匯流排 (SPB) ,您需要下列標頭:
如需程式設計指南,請參閱 簡單的周邊匯流排 (SPB) 。
列舉
SPB_MULTI_SPI_TRANSFER_MODE SPB_MULTI_SPI_TRANSFER_MODE列舉會指定匯流排驅動程式用來與周邊裝置通訊的多重 SPI 傳輸類型。 |
SPB_REQUEST_SEQUENCE_POSITION SPB_REQUEST_SEQUENCE_POSITION列舉表示 I/O 傳輸順序之傳輸清單中的 I/O 要求位置。 |
SPB_REQUEST_TYPE SPB_REQUEST_TYPE列舉會指定用戶端所要求的 SPB 作業類型。 |
SPB_TRANSFER_BUFFER_FORMAT SPB_TRANSFER_BUFFER_FORMAT列舉會指定SPB_TRANSFER_BUFFER結構所描述的緩衝區格式。 |
SPB_TRANSFER_DIRECTION SPB_TRANSFER_DIRECTION列舉描述 I/O 傳輸順序中單一傳輸 (讀取或寫入) 的方向。 |
SpbIoctl 定義值,以指出 I/O 控制項要求類型。 |
函式
EVT_SPB_CONTROLLER_LOCK SPB 控制器驅動程式的 EvtSpbControllerLock 事件回呼函式會鎖定 SPB 控制器,以存取匯流排上的單一目標裝置。 |
EVT_SPB_CONTROLLER_OTHER SPB 控制器驅動程式的 EvtSpbControllerIoOther 事件回呼函式會處理其他事件回呼函式未處理的裝置 I/O 控制要求,或是 SPB 架構擴充功能 (SpbCx) 。 |
EVT_SPB_CONTROLLER_READ SPB 控制器驅動程式的 EvtSpbControllerIoRead 事件回呼函式會將指定目標裝置的資料讀取到讀取要求所提供的緩衝區。 |
EVT_SPB_CONTROLLER_SEQUENCE SPB 控制器驅動程式的 EvtSpbControllerIoSequence 事件回呼函式會在指定的目標裝置與順序要求提供的緩衝區之間執行一連串資料傳輸。 |
EVT_SPB_CONTROLLER_UNLOCK SPB 控制器驅動程式的 EvtSpbControllerUnlock 事件回呼函式會解除鎖定 SPB 控制器,前次呼叫 EvtSpbControllerLock 事件回呼函式所鎖定。 |
EVT_SPB_CONTROLLER_WRITE SPB 控制器驅動程式的 EvtSpbControllerIoWrite 事件回呼函式會從寫入要求提供的緩衝區將資料寫入指定的目標裝置。 |
EVT_SPB_TARGET_CONNECT SPB 控制器驅動程式的 EvtSpbTargetConnect 事件回呼函式會開啟與匯流排上目標裝置的連線。 |
EVT_SPB_TARGET_DISCONNECT SPB 控制器驅動程式的 EvtSpbTargetDisconnect 事件回呼函式會關閉先前由驅動程式 EvtSpbTargetConnect 事件回呼函式所開啟之目標裝置的連接。 |
PwmParsePinPath 剖析脈衝寬度調節 (PWM) 控制器命名空間下的針腳路徑,以驗證其格式並擷取針腳號碼。 |
SPB_CONNECTION_PARAMETERS_INIT SPB_CONNECTION_PARAMETERS_INIT函式會初始化SPB_CONNECTION_PARAMETERS結構。 |
SPB_CONTROLLER_CONFIG_INIT SPB_CONTROLLER_CONFIG_INIT函式會初始化SPB_CONTROLLER_CONFIG結構。 |
SPB_MULTI_SPI_READ_TRANSFER_INIT SPB_MULTI_SPI_READ_TRANSFER_INIT函式會初始化SPB_MULTI_SPI_READ_TRANSFER結構。 |
SPB_MULTI_SPI_TRANSFER_INIT SPB_MULTI_SPI_TRANSFER_INIT函式會初始化SPB_MULTI_SPI_TRANSFER結構。 |
SPB_MULTI_SPI_WRITE_TRANSFER_INIT SPB_MULTI_SPI_WRITE_TRANSFER_INIT函式會初始化SPB_MULTI_SPI_WRITE_TRANSFER結構。 |
SPB_REQUEST_PARAMETERS_INIT SPB_REQUEST_PARAMETERS_INIT函式會初始化SPB_REQUEST_PARAMETERS結構。 |
SPB_TRANSFER_DESCRIPTOR_INIT SPB_TRANSFER_DESCRIPTOR_INIT函式會初始化SPB_TRANSFER_DESCRIPTOR結構。 |
SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST函式會傳回已初始化以描述散佈圖收集清單的SPB_TRANSFER_LIST_ENTRY結構。SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST函式會傳回SPB_TRANSFER_LIST_ENTRY結構,此結構會初始化以描述散佈收集清單。 |
SPB_TRANSFER_LIST_ENTRY_INIT_MDL SPB_TRANSFER_LIST_ENTRY_INIT_MDL函式會傳回初始化為使用 MDL 來描述資料緩衝區的SPB_TRANSFER_LIST_ENTRY結構。 |
SPB_TRANSFER_LIST_ENTRY_INIT_NON_PAGED SPB_TRANSFER_LIST_ENTRY_INIT_NON_PAGED函式會傳回SPB_TRANSFER_LIST_ENTRY結構,此結構會初始化以描述非分頁式記憶體中的簡單資料緩衝區。 |
SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE函式會傳回SPB_TRANSFER_LIST_ENTRY結構,此結構會初始化以描述簡單的資料緩衝區。SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE函式會傳回初始化以描述簡單資料緩衝區的SPB_TRANSFER_LIST_ENTRY結構。 |
SPB_TRANSFER_LIST_INIT SPB_TRANSFER_LIST_INIT函式會初始化SPB_TRANSFER_LIST結構。 |
SpbControllerSetIoOtherCallback SpbControllerSetIoOtherCallback 方法會註冊 SPB 控制器驅動程式的 EvtSpbControllerIoOther 回呼函式。 |
SpbControllerSetRequestAttributes SpbControllerSetRequestAttributes 方法會設定物件屬性,這些物件屬性將用於 SPB 架構延伸模組 (SpbCx) 傳遞給 SPB 控制器驅動程式的所有 SPBREQUEST 物件。 |
SpbControllerSetTargetAttributes SpbControllerSetTargetAttributes 方法會設定物件屬性,這些屬性將用於 SPB 架構延伸模組 (SpbCx) 傳遞給 SPB 控制器驅動程式的所有 SPBTARGET 物件。 |
SpbDeviceInitConfig SpbDeviceInitConfig 方法會將 SPB 架構延伸模組 (SpbCx) 附加至要建立之 WDFDEVICE (FDO 或 PDO) 物件的 I/O 要求鏈結。 |
SpbDeviceInitialize SpbDeviceInitialize 方法會在此驅動程式建立相關聯的裝置物件之後完成 SPB 控制器驅動程式的初始化。 |
SpbRequestCaptureIoOtherTransferList SpbRequestCaptureIoOtherTransferList 方法會在自訂 IOCTL 要求的輸入緩衝區中擷取SPB_TRANSFER_LIST結構。 |
SpbRequestComplete SpbRequestComplete 方法會完成 I/O 要求,並提供完成狀態。 |
SpbRequestGetController SpbRequestGetController 方法會將 WDFDEVICE 控制碼傳回給指定 I/O 要求的 SPB 控制器裝置物件。 |
SpbRequestGetParameters SpbRequestGetParameters 方法會從 I/O 要求擷取一組 SPB 特定的參數值。 |
SpbRequestGetTarget SpbRequestGetTarget 方法會從指定的 I/O 要求擷取 SPBTARGET 控制碼。 |
SpbRequestGetTransferParameters SpbRequestGetTransferParameters 方法會擷取 I/O 傳輸序列中個別傳輸的傳輸參數。 |
SpbTargetGetConnectionParameters SpbTargetGetConnectionParameters 方法會擷取匯流排上目標裝置的連接參數。 |
SpbTargetGetFileObject SpbTargetGetFileObject 方法接受作為輸入參數的 SPBTARGET 控制碼至開啟的目標裝置,並將 WDFFILEOBJECT 控制碼傳回給這個目標。 |
結構
PNP_SERIAL_BUS_DESCRIPTOR PNP_SERIAL_BUS_DESCRIPTOR結構描述目標裝置與序列匯流排的實體連線, (I2C、SPI 或 UART) 。 |
RH_QUERY_CONNECTION_PROPERTIES_OUTPUT_BUFFER RH_QUERY_CONNECTION_PROPERTIES_OUTPUT_BUFFER 結構包含連線至序列匯流排 (I2C、SPI 或 UART) 之目標裝置的連接屬性。 |
SPB_CONNECTION_PARAMETERS SPB_CONNECTION_PARAMETERS結構包含簡單周邊匯流排上目標裝置的連接參數。 |
SPB_CONTROLLER_CONFIG SPB_CONTROLLER_CONFIG 結構包含 SPB 控制器驅動程式的組態設定。 |
SPB_MULTI_SPI_READ_TRANSFER SPB_MULTI_SPI_READ_TRANSFER 結構描述在多重 SPI (中執行的讀取作業,例如雙重 SPI 或四次 SPI) 模式。 |
SPB_MULTI_SPI_TRANSFER SPB_MULTI_SPI_TRANSFER 結構描述 SPI I/O 作業,這是使用多重 SPI 傳輸模式執行,例如雙重或四邊形 SPI。 |
SPB_MULTI_SPI_TRANSFER_HEADER SPB_MULTI_SPI_TRANSFER_HEADER結構描述在多重 SPI (中執行的 SPI 傳輸,例如雙重 SPI 或四次 SPI) 模式。 |
SPB_MULTI_SPI_WRITE_TRANSFER SPB_MULTI_SPI_WRITE_TRANSFER結構描述在多重 SPI (中執行的寫入作業,例如雙重 SPI 或四邊形 SPI) 模式。 |
SPB_TRANSFER_BUFFER SPB_TRANSFER_BUFFER結構描述 I/O 傳輸順序中個別傳輸的資料緩衝區。 |
SPB_TRANSFER_BUFFER_LIST_ENTRY SPB_TRANSFER_BUFFER_LIST_ENTRY 結構描述簡單的傳輸緩衝區,或一或多個傳輸緩衝區陣列中的元素。 |
SPB_TRANSFER_DESCRIPTOR SPB_TRANSFER_DESCRIPTOR 結構描述 I/O 傳輸順序中的單一傳輸。 |
SPB_TRANSFER_LIST SPB_TRANSFER_LIST 結構描述 I/O 傳輸順序。 |
SPB_TRANSFER_LIST_ENTRY SPB_TRANSFER_LIST_ENTRY 結構描述 I/O 傳輸順序中的單一傳輸。 |