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로 설정된 경우에만 사용됩니다. QOSNotifyCongested 및 QOSNotifyUncongested 옵션의 경우 입력 시 이 매개 변수를 NULL로 설정해야 합니다.
Flags
다음에 사용하도록 예약됩니다. 이 매개 변수는 0으로 설정해야 합니다.
[out, optional] Overlapped
비동기 출력에 사용되는 OVERLAPPED 구조체에 대한 포인터입니다. 이 함수가 비동기적으로 호출되지 않는 경우 NULL 에 대한 se여야 합니다.
반환 값
함수가 성공하면 Operation 매개 변수로 설정된 조건이 충족되면 0이 아닌 반환 값이 전송됩니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 몇 가지 가능한 오류 코드는 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
QoS 하위 시스템은 현재 이 호스트와 대상 호스트 간의 네트워크 경로에서 이 작업을 허용하지 않도록 정책에 의해 구성됩니다. 예를 들어 기본 정책은 qWAVE 실험이 오프 링크 대상으로 실행되지 않도록 방지합니다. |
|
알림 요청이 성공적으로 수신되었음을 나타냅니다. 결과는 겹치는 완료 중에 반환됩니다. |
|
QOSHandle 매개 변수가 잘못되었습니다. |
|
FlowId 매개 변수가 잘못되었습니다. |
|
메모리 할당이 실패했음을 나타냅니다. |
|
잘못된 FlowId 가 지정되었습니다. |
|
수행되는 작업에는 QoS 하위 시스템에 없는 정보가 필요합니다. 이 네트워크에서 이 정보를 가져오는 것은 현재 지원되지 않습니다. 예를 들어 대상 호스트가 오프 링크인 네트워크 경로에서는 대역폭 추정을 가져올 수 없습니다. |
|
작업을 수행할 리소스가 부족합니다. |
|
I/O 디바이스 오류 때문에 요청을 수행할 수 없는 경우 |
|
하드웨어 오류로 인해 표시된 디바이스를 다시 초기화해야 합니다. 애플리케이션은 클린 QOSCreateHandle을 다시 호출해야 합니다. |
|
QOS 하위 시스템은 요청된 작업을 지정된 네트워크 경로에서 완료할 수 없다고 결정했습니다. |
|
네트워크 어댑터 하드웨어 오류가 발생했습니다. |
|
네트워크 위치에 연결할 수 없습니다. |
|
원격 호스트와의 네트워크 연결이 실패했습니다. |
|
이 흐름에 보류 중인 동일한 형식의 알림에 대한 요청이 이미 있습니다. |
설명
이 함수는 비동기적으로 호출될 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | qos2.h(Qos2.h 포함) |
라이브러리 | Qwave.lib |
DLL | Qwave.dll |