PROTOCOL_CO_DELETE_VC 콜백 함수(ndis.h)

ProtocolCoDeleteVc 함수가 필요합니다. 이 함수는 해당 VC의 원래 작성자가 닫고 있는 설정된 가상 연결에 대한 클라이언트 또는 호출 관리자의 상태를 중단합니다.

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

구문

PROTOCOL_CO_DELETE_VC ProtocolCoDeleteVc;

NDIS_STATUS ProtocolCoDeleteVc(
  [in] NDIS_HANDLE ProtocolVcContext
)
{...}

매개 변수

[in] ProtocolVcContext

클라이언트 또는 호출 관리자의 VC별 컨텍스트 영역에 대한 핸들을 지정합니다. 프로토콜은 원래 ProtocolCoCreateVc 함수에서 이 핸들을 제공했습니다.

반환 값

ProtocolCoDeleteVc 는 다음 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
프로토콜은 VC에 대해 원래 할당된 모든 리소스를 다시 사용할 수 있도록 릴리스되거나 준비되었습니다.
NDIS_STATUS_NOT_ACCEPTED
VC는 여전히 활성 상태이며 프로토콜에는 VC에서 보류 중인 미해결 작업이 있으므로 삭제할 수 없습니다.
NDIS_STATUS_XXX
프로토콜이 드라이버 결정 이유로 VC 삭제에 실패했습니다.

설명

ProtocolCoDeleteVc 는 드라이버의 ProtocolCoCreateVc 함수의 상호입니다. 일반적으로 호출 관리자 또는 클라이언트가 활성 VC에서 작업을 수행하기 위해 이전에 할당한 동적 리소스 및 구조를 해제합니다.

ProtocolCoDeleteVc가 NDIS_STATUS_SUCCESS 사용하여 컨트롤을 반환하면 ProtocolVcContext의 영역에 저장된 ProtocolCoCreateVc 함수가 유효하지 않은 NdisVcHandle이 됩니다.

ProtocolCoDeleteVc 는 VC 삭제에 실패하기 위해 드라이버 결정 NDIS_STATUS_XXX 를 반환할 수 있지만 NDIS_STATUS_PENDING 반환 할 수는 없습니다 . ProtocolCoDeleteVc에 대한 호출은 본질적으로 동기적입니다.

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

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

PROTOCOL_CO_DELETE_VC MyCoDeleteVc;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeleteVc(
    NDIS_HANDLE  ProtocolVcContext
    )
  {...}

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

Use_decl_annotations 대한 자세한 내용은 함수 동작 주석 지정을 참조하세요.

요구 사항

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

추가 정보

NdisClCloseCall

NdisCmDispatchIncomingCloseCall

NdisCoCreateVc

NdisCoDeleteVc

ProtocolCoCreateVc