ChangerInitializeElementStatus 函式 (mcd.h)
ChangerInitializeElementStatus 會使用IOCTL程式碼 IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS來處理裝置控制項 IRP 的裝置特定層面。
語法
NTSTATUS ChangerInitializeElementStatus(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
參數
[in] DeviceObject
代表變更器的裝置物件的指標。
[in] Irp
IRP 的指標。
傳回值
ChangerInitializeElementStatus 會傳回系統埠驅動程式或下列其中一個值所傳回的狀態:
STATUS_SUCCESS
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
如果 changer 不支援初始化特定型別的專案範圍,且 ChangerInitializeElementStatus 是以 AllElements 以外的專案類型呼叫,則會傳回STATUS_INVALID_PARAMETER。
備註
需要此例程。
ChangerInitializeElementStatus 會使用其元素的目前資訊來更新變更器的內部記憶體。
changer 類別驅動程式會在呼叫 ChangerInitializeElementStatus 之前,先檢查 I/O 堆棧位置中的輸入緩衝區長度。
Irp-SystemBuffer> 指向CHANGER_INITIALIZE_ELEMENT_STATUS結構做為輸入參數,指出要初始化狀態的專案,以及是否使用從條形碼捲標取得的數據初始化項目狀態。
若為 SCSI 變更器, ChangerInitializeElementStatus 會建置具有 CDB 的 SRB 來初始化元素狀態、將以零起始的專案地址轉譯為裝置特定位址,並將 SRB 傳送至系統埠驅動程式。
ChangerInitializeElementStatus 會將 I/O 狀態區塊中的 Information 字段設定為 sizeof (CHANGER_INITIALIZE_ELEMENT_STATUS) ,然後再返回 changer 類別驅動程式。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | mcd.h (包括 Mcd.h、Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |