Partager via


IOCTL_LAMP_GET_CAPABILITIES_COLOR IOCTL (lamp.h)

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

#define IOCTL_LAMP_GET_CAPABILITIES_COLOR \
    CTL_CODE(IOCTL_LAMP_BASE, 0x0001, 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_COLOR.

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

La charge utile de cet IOCTL est une structure LAMP_CAPABILITIES_COLOR .

Le champ IsSupported indique si la lampe peut émettre une lumière de couleur. Si le matériel ne prend pas en charge la lumière de couleur, le pilote doit définir ce champ sur FALSE.

Le champ IsLightIntensityAdjustable indique si le niveau de luminance peut être programmé. Si la lampe ne prend pas en charge la lumière de couleur (IsSupported a la valeur FALSE), un client doit ignorer la valeur de IsLightIntensityAdjustable.

Configuration requise

Condition requise Valeur
En-tête lamp.h