다음을 통해 공유


QOSEnumerateFlows 함수(qos2.h)

QOSEnumerateFlows 함수는 모든 기존 흐름을 열거합니다.

구문

ExternC BOOL QOSEnumerateFlows(
  [in]      HANDLE QOSHandle,
  [in, out] PULONG Size,
  [out]     PVOID  Buffer
);

매개 변수

[in] QOSHandle

QOSCreateHandle에서 반환된 QOS 하위 시스템에 대한 핸들입니다.

[in, out] Size

Buffer 매개 변수의 크기를 바이트 단위로 나타냅니다.

함수 반환에 성공하면 이 매개 변수는 버퍼에 복사된 바이트 수를 지정합니다.

이 호출이 ERROR_INSUFFICIENT_BUFFER 실패하면 이 작업을 성공적으로 완료하기 위해 이 매개 변수는 필요한 최소 버퍼 크기를 나타냅니다.

[out] Buffer

QOS_FlowId 흐름 식별자 배열에 대한 포인터입니다. QOS_FlowId 부호 없는 32비트 정수입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 몇 가지 가능한 오류 코드는 다음과 같습니다.

반환 코드 설명
ERROR_INVALID_HANDLE
QOSHandle 매개 변수가 잘못되었습니다.
ERROR_INSUFFICIENT_BUFFER
버퍼가 너무 작습니다. 출력에서 Size 에는 필요한 최소 버퍼 크기가 포함됩니다. 그런 다음 지정된 크기의 버퍼를 사용하여 이 함수를 다시 호출해야 합니다.
ERROR_INVALID_PARAMETER
DestAddr 매개 변수가 잘못되었습니다.
ERROR_NOT_ENOUGH_MEMORY
메모리 할당이 실패했음을 나타냅니다.
ERROR_NO_SYSTEM_RESOURCES
작업을 수행할 리소스가 부족합니다.
ERROR_IO_DEVICE
I/O 디바이스 오류 때문에 요청을 수행할 수 없는 경우
ERROR_DEVICE_REINITIALIZATION_NEEDED
하드웨어 오류로 인해 표시된 디바이스를 다시 초기화해야 합니다. 애플리케이션은 클린 QOSCreateHandle을 다시 호출해야 합니다.

설명

이 함수를 성공적으로 호출하려면 관리 권한이 필요합니다.

QOSEnumerateFlows 함수를 호출하면 QOS 하위 시스템에 현재 활성화된 QOS_FlowId목록이 검색됩니다. 이러한 QOS_FlowId개별 흐름에 대한 자세한 정보를 얻기 위해 QOSQueryFlow 함수를 호출하는 데 사용할 수 있습니다.

이 함수에는 두 번 호출 의미 체계가 있습니다. 먼저 를 호출하여 버퍼 크기를 가져옵니다. 그런 다음( 첫 번째 호출이 ERROR_INSUFFICIENT_BUFFER 실패한 경우 적절한 크기의 버퍼를 사용하여) 를 다시 호출하여 흐름 목록을 검색합니다. 첫 번째 호출 이후 새 흐름이 추가된 경우 ERROR_INSUFFICIENT_BUFFER 두 번째 호출이 다시 실패할 수 있습니다.

다른 프로세스의 흐름은 수정할 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 qos2.h(Qos2.h 포함)
라이브러리 Qwave.lib
DLL Qwave.dll

추가 정보

품질 Windows 오디오/비디오 환경(qWAVE)