共用方式為


IOCTL_LAMP_GET_INTENSITY_WHITE IOCTL (lamp.h)

當燈光設定為發出白光時,IOCTL_LAMP_GET_INTENSITY_WHITE 控件程式代碼會查詢光線強度。

#define IOCTL_LAMP_GET_INTENSITY_WHITE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0004, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 指向 LAMP_INTENSITY_WHITE 結構。

輸入緩衝區長度

LAMP_INTENSITY_WHITE 結構的長度。

輸出緩衝區

Irp->AssociatedIrp.SystemBuffer 會填入光線強度資訊。

輸出緩衝區長度

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength 是以位元組為單位的緩衝區長度,會傳入[Irp->AssociatedIrp.SystemBuffer] 字段。

狀態區塊

驅動程式會將 Irp->IoStatus.Status 設定為 STATUS_SUCCESS 或適當的錯誤狀態。

如果相機驅動程式已取得裝置,則燈光驅動程式應該透過 Irp->IoStatus.Status傳回 STATUS_RESOURCE_IN_USE 錯誤。

言論

這個 IOCTL 的承載類型是 LAMP_INTENSITY_WHITE 結構。

字段是白光強度百分比 (0 - 100)。

要求

要求 價值
標頭 lamp.h