IOCTL _ VIDEO QUERY SUPPORTED BRIGHTNESS control code (IOCTL-VIDEOABFRAGE: _ _ _ UNTERSTÜTZTER HELLIGKEITSkontrollcode)
Ruft die unterstützten Hintergrundlichtstufen ab.
Um diesen Vorgang durchzuführen, rufen Sie die Funktion DeviceIoControl mit den folgenden Parametern auf.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Parameter
-
hDevice
-
Ein Handle für \ \ den . \ DAS GERÄT. Um ein Gerätehand handle abzurufen, rufen Sie die CreateFile-Funktion auf.
-
dwIoControlCode
-
Der Steuerungscode für den Vorgang. Dieser Wert gibt den spezifischen Vorgang an, der ausgeführt werden soll, und den Typ des Geräts, auf dem er ausgeführt werden soll. Verwenden Sie IOCTL _ VIDEO QUERY SUPPORTED _ _ _ BRIGHTNESS für diesen Vorgang.
-
lpInBuffer
-
Wird mit diesem Vorgang nicht verwendet. auf NULL festgelegt.
-
nInBufferSize
-
Wird mit diesem Vorgang nicht verwendet. auf 0 (null) festgelegt.
-
lpOutBuffer
-
Ein Zeiger auf einen Puffer, der ein Array der verfügbaren Leistungsstufen empfängt. Dieser Puffer sollte 256 Byte lang sein.
-
nOutBufferSize
-
Die Größe des Ausgabepuffers in Bytes.
-
lpBytesReturned
-
Ein Zeiger auf eine Variable, die die Größe der zurückgegebenen Ausgabedaten in Bytes empfängt.
Wenn der Ausgabepuffer zu klein ist, um Daten zurückgibt, schlägt der Aufruf fehl, GetLastError gibt den Fehlercode ERROR INSUFFICIENT BUFFER zurück, und die zurückgegebene _ _ Byteanzahl ist 0 (null).
Wenn der Ausgabepuffer zu klein ist, um alle Daten zu enthalten, aber einige Einträge enthalten kann, gibt das Betriebssystem so viel wie möglich zurück, der Aufruf schlägt fehl, GetLastError gibt den Fehlercode _ ERROR MORE DATA _ zurück, und lpBytesReturned gibt die Menge der zurückgegebenen Daten an. Ihre Anwendung sollte DeviceIoControl erneut mit demselben Vorgang aufrufen und dabei einen neuen Ausgangspunkt angeben.
Wenn lpOverlapped NULL ist (nicht übersprungene E/A), kann lpBytesReturned nicht NULL sein.
Wenn lpOverlapped nicht NULL (überlappende E/A) ist, kann lpBytesReturned NULL sein. Wenn es sich um einen überlappenden Vorgang handelt, können Sie die Anzahl der zurückgegebenen Bytes abrufen, indem Sie die GetOverlappedResult-Funktion aufrufen. Wenn hDevice einem E/A-Abschlussport zugeordnet ist, können Sie die Anzahl der zurückgegebenen Bytes abrufen, indem Sie die GetQueuedCompletionStatus-Funktion aufrufen.
-
lpOverlapped
-
Ein Zeiger auf eine OVERLAPPED-Struktur.
Wenn hDevice mit dem FLAG FILE FLAG OVERLAPPED geöffnet _ _ wurde, muss lpOverlapped auf eine gültige OVERLAPPED-Struktur verweisen. In diesem Fall wird der Vorgang als überlappende (asynchrone) Operation ausgeführt. Wenn das Gerät mit dem FLAG FILE FLAG OVERLAPPED geöffnet wurde und _ _ lpOverlapped NULL ist, schlägt die Funktion auf unvorhersehbare Weise fehl.
Wenn hDevice geöffnet wurde, ohne das FLAG FILE _ FLAG OVERLAPPED anzugeben, wird _ lpOverlapped ignoriert, und DeviceIoControl gibt erst dann zurück, wenn der Vorgang abgeschlossen ist oder ein Fehler auftritt.
Rückgabewert
Wenn der Vorgang erfolgreich abgeschlossen wurde, gibt DeviceIoControl einen Wert ungleich 0 (null) zurück.
Wenn der Vorgang fehlschlägt oder aussteht, gibt DeviceIoControl 0 (null) zurück. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Bemerkungen
Jedes Element im lpOutBuffer-Array ist ein Byte lang. Daher gibt der lpBytesReturned-Parameter bei der Rückgabe die Anzahl der unterstützten Ebenen an. Jede Ebene ist ein Wert zwischen 0 und 100. Je größer der Wert, desto heller ist die Hintergrundbeleuchtung. Alle Ebenen werden unabhängig davon unterstützt, ob die Stromquelle AC oder DC ist.
Die Headerdatei, die zum Erstellen von Anwendungen verwendet wird, die diese Funktionalität (Ntddvdeo.h) enthalten, ist im Microsoft Windows Driver Development Kit (DDK) enthalten. Informationen zum Abrufen des DDK finden Sie unter https://www.microsoft.com/whdc/devtools/ddk/default.mspx .
Alternativ können Sie diesen Steuerelementcode wie folgt definieren:
#define IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS \
CTL_CODE(FILE_DEVICE_VIDEO, 0x125, METHOD_BUFFERED, FILE_ANY_ACCESS)
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows Vista, Windows XP nur mit [ SP1-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2003-Desktop-Apps] |
| Header |
|