IOCTL_BATTERY_SET_INFORMATION código de controle
Define várias informações de bateria. A estrutura do parâmetro de entrada, BATTERY_SET_INFORMATION, indica quais informações de status de bateria devem ser definidas.
Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to battery
IOCTL_BATTERY_SET_INFORMATION, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Parâmetros
-
hDevice
-
Um identificador para a bateria na qual as informações devem ser definidas. Para recuperar um identificador de dispositivo, chame a função CreateFile .
-
Dwiocontrolcode
-
O código de controle para a operação. Esse valor identifica a operação específica a ser executada e o tipo de dispositivo no qual executá-la. Use IOCTL_BATTERY_SET_INFORMATION para esta operação.
-
lpInBuffer
-
Um ponteiro para uma estrutura BATTERY_SET_INFORMATION .
-
nInBufferSize
-
O tamanho do buffer de entrada, em bytes.
-
Lpoutbuffer
-
Não usado com esta operação; definido como NULL.
-
nOutBufferSize
-
Não usado com esta operação; definido como zero.
-
Lpbytesreturned
-
Um ponteiro para uma variável que recebe o tamanho dos dados retornados no buffer lpOutBuffer , em bytes.
Se o buffer de saída for muito pequeno para retornar dados, a chamada falhará, GetLastError retornará o código de erro ERROR_INSUFFICIENT_BUFFER e a contagem de bytes retornada será zero.
Se lpOverlapped for NULL (E/S não sobreposta), lpBytesReturned não poderá ser NULL, mesmo que lpOutBuffer seja NULL.
Se lpOverlapped não for NULL (E/S sobreposta), lpBytesReturned poderá ser NULL. Se essa for uma operação sobreposta, você poderá recuperar o número de bytes retornados chamando a função GetOverlappedResult . Se hDevice estiver associado a uma porta de conclusão de E/S, você poderá obter o número de bytes retornados chamando a função GetQueuedCompletionStatus .
-
Lpoverlapped
-
Um ponteiro para uma estrutura OVERLAPPED .
Se hDevice tiver sido aberto com o sinalizador FILE_FLAG_OVERLAPPED, lpOverlapped deverá apontar para uma estrutura OVERLAPPED válida. Nesse caso, DeviceIoControl é executado como uma operação sobreposta (assíncrona). Se o dispositivo foi aberto com o sinalizador FILE_FLAG_OVERLAPPED e lpOverlapped for NULL, a função falhará de maneiras imprevisíveis.
Se hDevice foi aberto sem especificar o sinalizador FILE_FLAG_OVERLAPPED, lpOverlapped será ignorado e a função DeviceIoControl não retornará até que a operação seja concluída ou até que ocorra um erro.
Valor retornado
Se a operação for concluída com êxito, DeviceIoControl retornará um valor diferente de zero.
Se a operação falhar ou estiver pendente, DeviceIoControl retornará zero. Para obter informações de erro estendidas, chame GetLastError.
Todas as solicitações de informações de bateria serão concluídas com o status de ERROR_NO_SUCH_DEVICE (ou ERROR_FILE_NOT_FOUND no Windows 10 versão 1809 e anterior) sempre que o elemento BatteryTag da solicitação não corresponder ao da marca de bateria atual. Isso garante que as informações de bateria retornadas correspondam à da bateria solicitada (consulte Marcas de bateria para obter mais informações).
Comentários
Todas as solicitações para definir informações de bateria serão concluídas com o status de ERROR_FILE_NOT_FOUND se a marca da bateria da solicitação não corresponder à da marca da bateria atual.
Para obter as implicações de E/S sobrepostas nessa operação, consulte a seção Comentários do tópico DeviceIoControl .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho |
|