다음을 통해 공유


QOSNotifyFlow 함수(qos2.h)

QOSNotifyFlow 함수는 호출 애플리케이션을 등록하여 정체와 같은 네트워크 특성의 변경 내용에 대한 알림을 받습니다. 원하는 처리량을 달성할 수 있는 경우에도 알림이 전송될 수 있습니다.

구문

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
);

매개 변수

[in] QOSHandle

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

[in] FlowId

애플리케이션이 알림을 수신하려는 흐름 식별자를 지정합니다. QOS_FLOWID 부호 없는 32비트 정수입니다.

[in] Operation

요청되는 알림 유형을 나타내는 QOS_NOTIFY_FLOW 값입니다.

[in, out, optional] Size

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

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

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

[in, out] Buffer

알림을 보낼 대역폭을 나타내는 UINT64에 대한 포인터입니다. 이 매개 변수는 Operation 매개 변수가 QOSNotifyAvailable로 설정된 경우에만 사용됩니다. QOSNotifyCongestedQOSNotifyUncongested 옵션의 경우 입력 시 이 매개 변수를 NULL로 설정해야 합니다.

Flags

다음에 사용하도록 예약됩니다. 이 매개 변수는 0으로 설정해야 합니다.

[out, optional] Overlapped

비동기 출력에 사용되는 OVERLAPPED 구조체에 대한 포인터입니다. 이 함수가 비동기적으로 호출되지 않는 경우 NULL 에 대한 se여야 합니다.

반환 값

함수가 성공하면 Operation 매개 변수로 설정된 조건이 충족되면 0이 아닌 반환 값이 전송됩니다.

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

반환 코드 설명
ERROR_ACCESS_DISABLED_BY_POLICY
QoS 하위 시스템은 현재 이 호스트와 대상 호스트 간의 네트워크 경로에서 이 작업을 허용하지 않도록 정책에 의해 구성됩니다. 예를 들어 기본 정책은 qWAVE 실험이 오프 링크 대상으로 실행되지 않도록 방지합니다.
ERROR_IO_PENDING
알림 요청이 성공적으로 수신되었음을 나타냅니다. 결과는 겹치는 완료 중에 반환됩니다.
ERROR_INVALID_HANDLE
QOSHandle 매개 변수가 잘못되었습니다.
ERROR_INVALID_PARAMETER
FlowId 매개 변수가 잘못되었습니다.
ERROR_NOT_ENOUGH_MEMORY
메모리 할당이 실패했음을 나타냅니다.
ERROR_NOT_FOUND
잘못된 FlowId 가 지정되었습니다.
ERROR_NOT_SUPPORTED
수행되는 작업에는 QoS 하위 시스템에 없는 정보가 필요합니다. 이 네트워크에서 이 정보를 가져오는 것은 현재 지원되지 않습니다. 예를 들어 대상 호스트가 오프 링크인 네트워크 경로에서는 대역폭 추정을 가져올 수 없습니다.
ERROR_NO_SYSTEM_RESOURCES
작업을 수행할 리소스가 부족합니다.
ERROR_IO_DEVICE
I/O 디바이스 오류 때문에 요청을 수행할 수 없는 경우
ERROR_DEVICE_REINITIALIZATION_NEEDED
하드웨어 오류로 인해 표시된 디바이스를 다시 초기화해야 합니다. 애플리케이션은 클린 QOSCreateHandle을 다시 호출해야 합니다.
ERROR_NOT_SUPPORTED
QOS 하위 시스템은 요청된 작업을 지정된 네트워크 경로에서 완료할 수 없다고 결정했습니다.
ERROR_ADAP_HDW_ERR
네트워크 어댑터 하드웨어 오류가 발생했습니다.
ERROR_HOST_UNREACHABLE
네트워크 위치에 연결할 수 없습니다.
ERROR_UNEXP_NET_ERR
원격 호스트와의 네트워크 연결이 실패했습니다.
ERROR_ALREADY_EXISTS
이 흐름에 보류 중인 동일한 형식의 알림에 대한 요청이 이미 있습니다.

설명

이 함수는 비동기적으로 호출될 수 있습니다.

요구 사항

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

추가 정보

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