Função QOSEnumerateFlows (qos2.h)
A função QOSEnumerateFlows enumera todos os fluxos existentes.
Sintaxe
ExternC BOOL QOSEnumerateFlows(
[in] HANDLE QOSHandle,
[in, out] PULONG Size,
[out] PVOID Buffer
);
Parâmetros
[in] QOSHandle
Manipule para o subsistema QOS retornado por QOSCreateHandle.
[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 no 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 uma matriz de identificadores de fluxo de QOS_FlowId . Um QOS_FlowId é um inteiro sem sinal de 32 bits.
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 |
---|---|
|
O parâmetro QOSHandle é inválido. |
|
O buffer é muito pequeno. Na saída, Size conterá o tamanho mínimo do buffer necessário. Essa função deve ser chamada novamente com um buffer do tamanho indicado. |
|
O parâmetro DestAddr é inválido. |
|
Indica que uma alocação de memória falhou. |
|
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. |
Comentários
Chamar essa função com êxito requer privilégios administrativos
Chamar a função QOSEnumerateFlows recupera uma lista de QOS_FlowIdestá ativa no momento no subsistema QOS. Esses QOS_FlowIdpodem ser usados para chamar a função QOSQueryFlow para obter mais informações sobre fluxos individuais.
Essa função tem semântica de chamada duas vezes. Primeiro chame para obter o tamanho do buffer e chame novamente (com um Buffer de tamanho apropriado se a primeira chamada falhar com ERROR_INSUFFICIENT_BUFFER) para recuperar a lista de fluxos. A segunda chamada poderá falhar novamente com ERROR_INSUFFICIENT_BUFFER se novos fluxos forem adicionados desde a primeira chamada.
Fluxos de outro processo não podem ser modificados.
Requisitos
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 |