Partager via


IOCTL_LAMP_GET_CAPABILITIES_WHITE IOCTL (lamp.h)

Le code de contrôle IOCTL_LAMP_GET_CAPABILITIES_WHITE interroge les fonctionnalités de la lampe lorsque l’appareil est configuré pour émettre une lumière blanche.

#define IOCTL_LAMP_GET_CAPABILITIES_WHITE \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Irp->AssociatedIrp.SystemBuffer pointe vers une mémoire tampon de type LAMP_CAPABILITIES_WHITE.

Longueur de la mémoire tampon d’entrée

Longueur de la mémoire tampon.

Mémoire tampon de sortie

Irp->AssociatedIrp.SystemBuffer est rempli de toutes les fonctionnalités prises en charge par le matériel de la lampe.

Longueur de la mémoire tampon de sortie

IO_STACK_LOCATION.Parameters.DeviceIoControl.OutputBufferLength est la longueur de la mémoire tampon (en octets) passée dans le Irp->AssociatedIrp.SystemBuffer champ.

Bloc d’état

Le pilote définit Irp->IoStatus.Statussur STATUS_SUCCESS ou le status d’erreur approprié. Il est défini sur Irp->IoStatus.Information le nombre d’octets requis pour contenir la mémoire tampon.

Remarques

Selon les besoins, une lampe dont le pilote prend en charge l’interface GUID_DEVINTERFACE_LAMP est requise pour prendre en charge l’émission de lumière blanche.

La charge utile de cet IOCTL est une structure LAMP_CAPABILITIES_WHITE .

Le champ IsLightIntensityAdjustable indique si le niveau de luminance peut être programmé. Si ce champ prend la valeur FALSE, cela signifie que l’appareil sous-jacent prend uniquement en charge le commutateur marche/arrêt et que l’intensité lumineuse ne peut pas être ajustée.

Configuration requise

Condition requise Valeur
En-tête lamp.h