Partilhar via


Função QOSNotifyFlow (qos2.h)

A função QOSNotifyFlow registra o aplicativo de chamada para receber uma notificação sobre alterações nas características da rede, como congestionamento. As notificações também podem ser enviadas quando uma taxa de transferência desejada é capaz de ser obtida.

Sintaxe

ExternC BOOL QOSNotifyFlow(
  [in]                HANDLE          QOSHandle,
  [in]                QOS_FLOWID      FlowId,
  [in]                QOS_NOTIFY_FLOW Operation,
  [in, out, optional] PULONG          Size,
  [in, out]           PVOID           Buffer,
                      DWORD           Flags,
  [out, optional]     LPOVERLAPPED    Overlapped
);

Parâmetros

[in] QOSHandle

Identificador para o subsistema QOS retornado por QOSCreateHandle.

[in] FlowId

Especifica o identificador de fluxo do qual o aplicativo deseja receber notificações. Um QOS_FLOWID é um inteiro sem sinal de 32 bits.

[in] Operation

Um valor QOS_NOTIFY_FLOW que indica qual tipo de notificação está sendo solicitada.

[in, out, optional] Size

Indica o tamanho do parâmetro Buffer , em bytes.

No retorno da função, se bem-sucedido, esse parâmetro especificará o número de bytes copiados para Buffer.

Se essa chamada falhar com ERROR_INSUFFICIENT_BUFFER, esse parâmetro indicará o tamanho mínimo necessário do buffer para concluir essa operação com êxito.

[in, out] Buffer

Ponteiro para um UINT64 que indica a largura de banda em que uma notificação será enviada. Esse parâmetro só será usado se o parâmetro Operation estiver definido como QOSNotifyAvailable. Para as opções QOSNotifyCongested e QOSNotifyUncongested , esse parâmetro deve ser definido como NULL na entrada.

Flags

Reservado para uso futuro. Esse parâmetro deve ser definido como 0.

[out, optional] Overlapped

Ponteiro para uma estrutura OVERLAPPED usada para saída assíncrona. Isso deverá ser se for NULL se essa função não estiver sendo chamada de forma assíncrona.

Retornar valor

Se a função for bem-sucedida, um valor retornado diferente de zero será enviado quando as condições definidas pelo parâmetro Operation forem atendidas.

Se a função falhar, o valor retornado será 0. Para obter informações de erro estendidas, chame GetLastError. Alguns códigos de erro possíveis seguem.

Código de retorno Descrição
ERROR_ACCESS_DISABLED_BY_POLICY
O subsistema QoS está configurado atualmente pela política para não permitir essa operação no caminho de rede entre esse host e o host de destino. Por exemplo, a política padrão impede que experimentos qWAVE sejam executados para destinos fora do link.
ERROR_IO_PENDING
Indica que a solicitação de notificação foi recebida com êxito. Os resultados serão retornados durante a conclusão sobreposta.
ERROR_INVALID_HANDLE
O parâmetro QOSHandle é inválido.
ERROR_INVALID_PARAMETER
O parâmetro FlowId é inválido.
ERROR_NOT_ENOUGH_MEMORY
Indica que uma alocação de memória falhou.
ERROR_NOT_FOUND
FlowId inválido especificado.
ERROR_NOT_SUPPORTED
A operação que está sendo executada requer informações que o subsistema QoS não tem. Atualmente, não há suporte para a obtenção dessas informações nesta rede. Por exemplo, as estimativas de largura de banda não podem ser obtidas em um caminho de rede em que o host de destino está fora do link.
ERROR_NO_SYSTEM_RESOURCES
Não há recursos suficientes para executar a operação.
ERROR_IO_DEVICE
Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.
ERROR_DEVICE_REINITIALIZATION_NEEDED
O dispositivo indicado exige a reinicialização devido a erros de hardware. O aplicativo deve limpo e chamar QOSCreateHandle novamente.
ERROR_NOT_SUPPORTED
O subsistema QOS determinou que a operação solicitada não pôde ser concluída no caminho de rede especificado.
ERROR_ADAP_HDW_ERR
Ocorreu um erro de hardware do adaptador de rede.
ERROR_HOST_UNREACHABLE
Não é possível acessar o local de rede.
ERROR_UNEXP_NET_ERR
Falha na conexão de rede com o host remoto.
ERROR_ALREADY_EXISTS
Já há uma solicitação para notificações do mesmo tipo pendentes nesse fluxo.

Comentários

Essa função pode ser chamada de forma assíncrona.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho qos2.h (inclua Qos2.h)
Biblioteca Qwave.lib
DLL Qwave.dll

Confira também

Experiência de áudio/vídeo do Windows de qualidade (qWAVE)