共用方式為


ChangerReinitializeUnit 函式 (mcd.h)

ChangerReinitializeUnit 使用 IOCTL 程式代碼處理裝置控制 IRP 的裝置特定層面 IOCTL_CHANGER_REINITIALIZE_TRANSPORT

語法

NTSTATUS ChangerReinitializeUnit(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

參數

[in] DeviceObject

代表變更器的裝置物件的指標。

[in] Irp

IRP 的指標。

傳回值

如果變更程式支援重新調整傳輸元素,ChangerReinitializeUnit 會傳回系統埠驅動程式所傳回的 STATUS_XXX 值,或下列其中一個值:

STATUS_SUCCESS

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

如果變更器不支援重新調整傳輸元素,ChangerReinitializeUnit 會傳回STATUS_INVALID_DEVICE_REQUEST。

言論

這是必要例程。

ChangerReinitializeUnit 會導致變更程式重新調整其傳輸元素。 視變更者而定,這可能會將傳輸傳回「主」位置。 changer 類別驅動程式通常會在變更器開啟電源或呼叫應用程式起始復原作業之後,呼叫 ChangerReinitializeUnitFeatures0GET_CHANGER_PARAMETERS 中的CHANGER_DEVICE_REINITIALIZE_CAPABLE旗標會指出變更者的傳輸是否支援在這些情況下重新調整。

changer 類別驅動程式會在呼叫 ChangerReinitializeUnit 之前,先檢查 I/O 堆棧位置中的輸入緩衝區長度。 Irp->SystemBuffer 指向表示要重新調整之元素的 CHANGER_ELEMENT 結構。

ChangerReinitializeUnit 建置具有 CDB 的 SRB 來放置傳輸元素,並將其傳送至系統埠驅動程式。

ChangerReinitializeUnit 會將 I/O 狀態區塊中的 [資訊] 字段設定為 sizeof(CHANGER_ELEMENT),再返回變更器類別驅動程式。

要求

要求 價值
目標平臺 桌面
標頭 mcd.h (包括 Mcd.h、 Ntddchgr.h)
IRQL PASSIVE_LEVEL

另請參閱

、IOCTL_CHANGER_REINITIALIZE_TRANSPORT

CHANGER_ELEMENT

GET_CHANGER_PARAMETERS