다음을 통해 공유


QOSCreateHandle 함수(qos2.h)

이 함수는 QOS 하위 시스템 및 QOSHandle 매개 변수를 초기화합니다. QOSHandle 매개 변수는 다른 QOS 함수를 호출할 때 사용됩니다. QOSCreateHandle은 다른 함수 앞에 호출되어야 합니다.

QOSCloseHandle 은 이 함수에서 만든 핸들을 닫습니다.

구문

ExternC BOOL QOSCreateHandle(
  [in]  PQOS_VERSION Version,
  [out] PHANDLE      QOSHandle
);

매개 변수

[in] Version

사용 중인 QOS 버전을 나타내는 QOS_VERSION 구조체에 대한 포인터입니다. MajorVersion 멤버를 1로 설정하고 MinorVersion 멤버를 0으로 설정해야 합니다.

[out] QOSHandle

QOS 핸들을 수신하는 변수에 대한 포인터입니다. 이 핸들은 다른 QOS 함수를 호출할 때 사용됩니다.

반환 값

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

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

반환 코드 설명
ERROR_GEN_FAILURE
내부 논리 오류입니다. 초기화하지 못했습니다. 예를 들어 호스트가 절전 모드 또는 대기 모드로 전환되면 모든 기존 핸들과 흐름이 잘못 렌더링됩니다.
ERROR_INVALID_PARAMETER
QOSHandle 매개 변수가 잘못되었습니다.
ERROR_NOT_ENOUGH_MEMORY
메모리 할당이 실패했음을 나타냅니다.
ERROR_NO_SYSTEM_RESOURCES
작업을 수행할 리소스가 부족합니다.
ERROR_RESOURCE_DISABLED
서비스에 필요한 리소스를 사용할 수 없습니다. 사용자가 qWAVE 서비스에 대한 방화벽 예외를 사용하도록 설정하지 않은 경우 이 오류가 반환될 수 있습니다.
ERROR_SERVICE_DEPENDENCY_FAIL
이 서비스의 종속성 중 하나를 사용할 수 없습니다. qWAVE 서비스를 시작할 수 없습니다.

설명

qWAVE를 사용하려는 모든 프로세스는 먼저 QOSCreateHandle을 호출해야 합니다. 반환된 핸들은 겹치는 I/O를 수행하는 데 사용할 수 있습니다. 예를 들어 이 핸들을 IOCP(I/O 완료 포트)와 연결하여 겹치는 완료 알림을 받을 수 있습니다. 이 함수는 여러 핸들을 얻기 위해 여러 번 호출할 수 있지만 단일 핸들은 대부분의 애플리케이션에 충분합니다.

컴퓨터가 절전 모드 또는 대기와 같은 연결을 중단하는 절전 모드로 전환되면 QOSStartTrackingClient 와 같은 기존 및 활성 네트워크 실험을 다시 시작해야 합니다. 이렇게 흐름을 다시 만들면 기존 소켓에 필요한 정리 및 만들기 작업도 미러링됩니다. 새 핸들을 만들어야 하며 흐름을 다시 만들고 다시 사용해야 합니다.

예제

다음 코드에서는 함수 사용 및 필수 매개 변수 초기화를 보여 줍니다. 실제 값은 QoS 버전에 따라 달라집니다.

WSAGetLastError 함수를 사용하려면 Winsock.h를 포함해야 합니다.

전체 샘플 코드 목록은 Windows SDK 참조하세요. SDK 폴더: Samples\NetDs\GQos\Qos2

QOS_VERSION Version;
HANDLE      QoSHandle = NULL;
BOOL        QoSResult = FALSE;

// Initialize the QoS version parameter.
Version.MajorVersion = 1;
Version.MinorVersion = 0;

// Get a handle to the QoS subsystem.
QoSResult = QOSCreateHandle(
    &Version, 
    &QoSHandle );

if (QoSResult != TRUE)
{
    std::cerr << "QOSCreateHandle failed. Error: "; 
    std::cerr << WSAGetLastError() << std::endl;
}



요구 사항

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

추가 정보

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