共用方式為


IOCTL_LAMP_GET_MODE IOCTL (lamp.h)

IOCTL_LAMP_GET_MODE 控件程式代碼會查詢目前設定燈的模式。

#define IOCTL_LAMP_GET_MODE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 指向 類型為 LAMP_MODE的緩衝區。

輸入緩衝區長度

LAMP_MODE長度。

輸出緩衝區

Irp->AssociatedIrp.SystemBuffer 會填入 LAMP_MODE 值。

輸出緩衝區長度

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength 是傳入 Irp->AssociatedIrp.SystemBuffer 欄位段中位元組的緩衝區長度。

狀態區塊

驅動程式會將 Irp->IoStatus.Status 設定為 STATUS_SUCCESS 或適當的錯誤狀態。 它會將 Irp->IoStatus.Information 設定為保留 DWORD 值所需的位元元組數目。

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

要求

要求 價值
標頭 lamp.h