MINIPORT_CO_DEACTIVATE_VC 콜백 함수(ndis.h)

연결 지향 미니포트에는 MiniportCoDeactivateVc 함수가 필요합니다. MiniportCoDeactivateVc 는 VC가 사용할 수 없는 것으로 표시되고 있음을 나타내기 위해 NDIS에서 호출됩니다.

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

구문

MINIPORT_CO_DEACTIVATE_VC MiniportCoDeactivateVc;

NDIS_STATUS MiniportCoDeactivateVc(
  [in] NDIS_HANDLE MiniportVcContext
)
{...}

매개 변수

[in] MiniportVcContext

미니포트 드라이버가 VC당 상태 정보를 유지하는 미니포트 드라이버 할당 컨텍스트 영역에 대한 핸들을 지정했습니다. 미니포트 드라이버는 MiniportCoCreateVc 함수에서 NDIS에 이 핸들을 제공했습니다.

반환 값

반환 코드 설명
NDIS_STATUS_SUCCESS
미니포트 드라이버가 VC 간 통신을 성공적으로 중지하고 사용할 수 없음으로 표시했음을 나타냅니다.
NDIS_STATUS_PENDING
미니포트 드라이버가 VC를 비동기적으로 중지하라는 요청을 완료했음을 나타냅니다. 미니포트 드라이버가 VC 중지를 완료하면 NdisMCoDeactivateVcComplete 를 호출하여 NDIS에 이 작업이 완료되었음을 신호해야 합니다.

설명

MiniportCoDeactivateVc 는 네트워크 어댑터와 통신하여 이 VC에서 모든 통신을 종료합니다(즉, 어댑터의 수신 또는 송신 버퍼 프로그래밍 해제). 또한 미니포트 드라이버는 VC의 컨텍스트 영역인 VC를 비활성으로 표시하여 VC 간 추가 통신을 방지해야 합니다.

MiniportCoActivateVc와 MiniportCoDeactivateVc에 대한 호출 간에는 일대일 관계가 없습니다. NDIS는 단일 VC에서 MiniportCoActivateVc 를 여러 번 호출할 수 있지만 가상 연결을 종료하기 위해 MiniportCoDeactivateVc 를 한 번만 호출합니다. 예를 들어 여러 호출에 VC를 다시 사용하면 MiniportCoActivateVc에 대한 여러 호출이 발생할 수 있습니다.

예제

MiniportCoDeactivateVc 함수를 정의하려면 먼저 정의하려는 함수의 형식을 식별하는 함수 선언을 제공해야 합니다. Windows 드라이버에 대한 함수 형식 집합을 제공합니다. 함수 형식을 사용하여 함수를 선언하면 드라이버, SDV(정적 드라이버 검증 도구) 및 기타 확인 도구에 대한 Code Analysis 오류를 찾을 수 있으며 Windows 운영 체제용 드라이버를 작성해야 합니다.

예를 들어 " MyCoDeactivateVc"라는 MiniportCoDeactivateVc 함수를 정의하려면 이 코드 예제와 같이 MINIPORT_CO_DEACTIVATE_VC 형식을 사용합니다.

MINIPORT_CO_DEACTIVATE_VC MyCoDeactivateVc;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeactivateVc(
    NDIS_HANDLE  MiniportVcContext
    )
  {...}

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

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

요구 사항

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

참고 항목

MiniportCoActivateVc

NdisMCoDeactivateVcComplete