Compartilhar via


Função QOSQueryFlow (qos2.h)

A função QOSQueryFlow solicita informações sobre um fluxo específico adicionado ao subsistema QoS. Essa função pode ser chamada de forma assíncrona.

Sintaxe

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

Parâmetros

[in] QOSHandle

Identificador para o subsistema QOS retornado por QOSCreateHandle.

[in] FlowId

Especifica um identificador de fluxo. Um QOS_FLOWID é um inteiro sem sinal de 32 bits.

[in] Operation

Especifica qual tipo de informação de fluxo está sendo consultada. Esse parâmetro especifica qual estrutura o Buffer conterá.

Valor Significado
QOSQueryFlowFundamentals
O buffer conterá uma estrutura QOS_FLOW_FUNDAMENTALS .
QOSQueryPacketPriority
O buffer conterá uma estrutura QOS_PACKET_PRIORITY .
QOSQueryOutgoingRate
O buffer conterá um valor UINT64 que indica a taxa de fluxo especificada ao solicitar o contrato, em bits por segundo.

[in, out] 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.

[out] Buffer

Ponteiro para a estrutura especificada pelo valor do parâmetro Operation .

[in, optional] Flags

Sinalizadores relativos aos dados que estão sendo retornados.

Valor Significado
QOS_QUERYFLOW_FRESH
O subsistema QOS retornará apenas dados atualizados, não armazenados em cache. Se novos dados não estiverem disponíveis, ele tentará obter esses dados às custas de possivelmente levar mais tempo. Se isso não for possível, a chamada falhará com o código de erro ERROR_RETRY.

Esse sinalizador só é aplicável quando o parâmetro Operation é definido como QOSQueryFlowFundamentals.

[out, optional] Overlapped

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

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

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_TIMEOUT
A solicitação para o subsistema QOS atingiu o tempo limite antes que informações úteis suficientes pudessem ser coletadas.
ERROR_INSUFFICIENT_BUFFER
O comprimento do buffer conforme especificado pelo parâmetro Size não é suficiente para os dados consultados. O parâmetro Size agora contém o tamanho mínimo necessário.
ERROR_INVALID_HANDLE
O parâmetro QOSHandle é inválido.
ERROR_INVALID_PARAMETER
O parâmetro FlowId ou o tamanho do buffer é insuficiente.
ERROR_NOT_FOUND
FlowId inválido especificado.
ERROR_NOT_ENOUGH_MEMORY
Indica que uma alocação de memória falhou.
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_IO_PENDING
Indica que a solicitação de fluxo de atualização foi iniciada com êxito.
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_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_NO_DATA
O não é um dado válido a ser retornado.
ERROR_RETRY
Atualmente, não há dados suficientes sobre as condições de rede para responder à consulta. Normalmente, esse é um estado transitório em que o qWAVE errou por precaução, pois aguarda mais dados antes de verificar o estado da rede.

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)