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 |
---|---|
|
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. |
|
Indica que a solicitação de notificação foi recebida com êxito. Os resultados serão retornados durante a conclusão sobreposta. |
|
O parâmetro QOSHandle é inválido. |
|
O parâmetro FlowId é inválido. |
|
Indica que uma alocação de memória falhou. |
|
FlowId inválido especificado. |
|
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. |
|
Não há recursos suficientes para executar a operação. |
|
Não foi possível executar a solicitação devido a um erro de dispositivo de E/S. |
|
O dispositivo indicado exige a reinicialização devido a erros de hardware. O aplicativo deve limpo e chamar QOSCreateHandle novamente. |
|
O subsistema QOS determinou que a operação solicitada não pôde ser concluída no caminho de rede especificado. |
|
Ocorreu um erro de hardware do adaptador de rede. |
|
Não é possível acessar o local de rede. |
|
Falha na conexão de rede com o host remoto. |
|
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 |