PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE 콜백 함수(ndis.h)

ProtocolClModifyCallQoSComplete 함수는 연결의 서비스 품질을 동적으로 수정할 수 있는 연결 지향 NDIS 클라이언트에서 사용됩니다. 이러한 클라이언트에는 NdisClModifyCallQoS 로 시작하는 비동기 작업을 완료하려면 ProtocolClModifyCallQoSComplete 함수가 있어야 합니다. 그렇지 않으면 이러한 프로토콜 드라이버의 등록된 ProtocolClModifyCallQoSComplete 함수는 단순히 제어를 반환할 수 있습니다.

참고PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE 형식을 사용하여 함수를 선언해야 합니다. 자세한 내용은 다음 예제 섹션을 참조하세요.
 

구문

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE ProtocolClModifyCallQosComplete;

void ProtocolClModifyCallQosComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE ProtocolVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

매개 변수

[in] Status

이 VC에 대한 호출 매개 변수를 다음 중 하나로 수정하기 위한 클라이언트의 비동기 요청의 최종 상태 지정합니다.

NDIS_STATUS_SUCCESS

QoS는 클라이언트의 요청에 따라 수정되었습니다.

NDIS_STATUS_RESOURCES

NDIS 또는 호출 관리자 중 하나가 충분한 리소스를 동적으로 할당할 수 없으므로 QoS를 수정할 수 없습니다.

NDIS_STATUS_INVALID_DATA

클라이언트가 NdisClModifyCallQoS 에 제공한 호출 매개 변수가 잘못되었습니다.

NDIS_STATUS_FAILURE

호출 관리자는 네트워크 또는 다른 연결 지향 네트워크 구성 요소의 오류로 인해 QoS를 변경할 수 없습니다.

NDIS_STATUS_XXX

호출 관리자가 QoS를 변경하지 못했고 NDIS는 CM 결정 실패 상태 클라이언트에 전파했습니다.

[in] ProtocolVcContext

클라이언트가 NdisCoCreateVc 를 호출하여 나가는 호출 요청에 대한 VC를 설정하거나 클라이언트가 이 VC에서 들어오는 호출을 수락한 경우 ProtocolCoCreateVc 함수에서 클라이언트가 원래 NDIS에 제공한 VC별 컨텍스트 영역에 대한 핸들을 지정합니다.

[in] CallParameters

클라이언트에서 지정한 QoS 변경 내용이 포함된 버퍼링된 CO_CALL_PARAMETERS 구조체에 대한 포인터이거나, 연결이 활성화될 때 설정된 이 VC의 원래 QoS일 수 있으며 호출 관리자가 복원했습니다.

반환 값

없음

설명

ProtocolClModifyCallQoSComplete 호출은 호출 관리자가 활성 VC의 서비스 품질을 변경하기 위해 클라이언트 시작 요청 처리를 완료했음을 나타냅니다. 예를 들어 기본 네트워크 매체가 동적 QoS 변경을 지원하는 경우 클라이언트는 활성 VC에서 언제든지 수정을 요청할 수 있습니다.

클라이언트의 NdisClModifyCallQoS 호출이 성공하면 ProtocolClModifyCallQoSComplete는 컨트롤을 반환하기만 하면 QoS 변경 내용을 수락할 수 있습니다. 그렇지 않으면 ProtocolClModifyCallQoSComplete 는 클라이언트의 개발자가 가능한 재협상 수에 적절한 제한을 두는 한 통화 관리자와 추가 협상에 참여할 수 있습니다. 또는 ProtocolClModifyCallQoSComplete 는 호출 관리자가 QoS 변경 요청을 거부하고 이전에 설정된 QoS가 클라이언트에서 허용되지 않는 경우 NdisCloseCall 을 사용하여 호출을 해제할 수 있습니다.

ProtocolClModifyCallQoSComplete 함수를 정의하려면 먼저 정의 중인 함수의 형식을 식별하는 함수 선언을 제공해야 합니다. Windows는 드라이버에 대한 함수 형식 집합을 제공합니다. 함수 형식을 사용하여 함수를 선언하면 드라이버에 대한 코드 분석, SDV( 정적 드라이버 검증 도구 ) 및 기타 확인 도구에서 오류를 찾는 데 도움이 되며 Windows 운영 체제용 드라이버를 작성하기 위한 요구 사항입니다.

예를 들어 이름이 " MyClModifyCallQoSComplete"인 ProtocolClModifyCallQoSComplete 함수를 정의하려면 이 코드 예제와 같이 PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE 형식을 사용합니다.

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE MyClModifyCallQoSComplete;

그런 다음 다음과 같이 함수를 구현합니다.

_Use_decl_annotations_
VOID
 MyClModifyCallQoSComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE 함수 형식은 Ndis.h 헤더 파일에 정의되어 있습니다. 코드 분석 도구를 실행할 때 오류를 보다 정확하게 식별하려면 함수 정의에 Use_decl_annotations 주석을 추가해야 합니다. Use_decl_annotations 주석은 헤더 파일의 PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE 함수 형식에 적용되는 주석이 사용되도록 합니다. 함수 선언 요구 사항에 대한 자세한 내용은 NDIS 드라이버에 함수 역할 형식을 사용하여 함수 선언을 참조하세요.

Use_decl_annotations 대한 자세한 내용은 함수 동작에 주석을 추가를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(ProtocolClModifyCallQoSComplete(NDIS 5.1) 참조)에 대해 지원됩니다. Windows XP의 NDIS 5.1 드라이버(ProtocolClModifyCallQoSComplete(NDIS 5.1) 참조)에 대해 지원됩니다.
대상 플랫폼 Windows
헤더 ndis.h(Ndis.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

CO_CALL_PARAMETERS

NdisClCloseCall

NdisClModifyCallQoS

NdisCmModifyCallQoSComplete

NdisMCmModifyCallQoSComplete

ProtocolCmModifyCallQoS

ProtocolCoCreateVc