PROTOCOL_CL_CLOSE_AF_COMPLETE 콜백 함수(ndis.h)

ProtocolCloseAfComplete 함수는 연결 지향 NDIS 클라이언트에서 사용됩니다. NdisCloseAddressFamily로 시작하는 비동기 작업을 완료하려면 모든 연결 지향 NDIS 클라이언트에 ProtocolCloseAfComplete 함수가 있어야 합니다.

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

구문

PROTOCOL_CL_CLOSE_AF_COMPLETE ProtocolClCloseAfComplete;

void ProtocolClCloseAfComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE ProtocolAfContext
)
{...}

매개 변수

[in] Status

다음 중 하나일 수 있는 주소 패밀리를 닫기 위해 클라이언트에서 시작한 요청의 최종 상태 지정합니다.

NDIS_STATUS_SUCCESS

주소 패밀리가 닫혔습니다. 클라이언트가 ProtocolAfContext 영역에 저장한 열린 주소 패밀리를 나타내는 NdisAfHandle은 이제 유효하지 않습니다.

NDIS_STATUS_FAILURE

AF는 AF를 닫기 전에 클라이언트가 해제해야 하는 VC 및/또는 등록된 SAP를 연결했거나, NDIS에서 AF 상태가 "닫기"로 표시되었음을 발견했기 때문에 NdisCloseAddressFamily 라는 클라이언트를 두 번 연결했습니다.

[in] ProtocolAfContext

AF별 컨텍스트 영역에 대한 클라이언트 제공 핸들을 지정합니다. 클라이언트는 원래 이 컨텍스트 영역을 설정하고 NdisClOpenAddressFamilyEx를 사용하여 이 핸들을 NDIS에 전달했습니다.

반환 값

없음

설명

열려 있는 주소 패밀리에 미해결 VC 및/또는 등록된 SAP가 없는지 확인한 후 클라이언트는 NdisCloseAddressFamily 를 호출하여 자체, 통화 관리자 및 특정 기본 NIC 간의 연결을 삭제합니다. NDIS는 이 클라이언트가 원래 주소 패밀리를 비동기 작업으로 여는 데 사용한 호출 관리자에 대해 ProtocolCmCloseAf 함수를 호출합니다. NdisCloseAddressFamily를 호출한 후 클라이언트는 NdisAfHandle이 잘못된 것으로 간주해야 합니다.

따라서 클라이언트에는 비동기 close-AF 작업이 수행되면 NDIS가 호출하는 ProtocolCloseAfComplete 함수가 있어야 합니다. 입력 상태가 NDIS_STATUS_SUCCESS 경우 클라이언트는 AF별 컨텍스트 영역을 해제할 수 있습니다.

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

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

PROTOCOL_CL_CLOSE_AF_COMPLETE MyClCloseAfComplete;

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

_Use_decl_annotations_
VOID
 MyClCloseAfComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolAfContext
    )
  {...}

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

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

요구 사항

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

추가 정보

NdisClCloseAddressFamily

NdisClOpenAddressFamilyEx

NdisFreeMemory

NdisFreeToNPagedLookasideList

ProtocolCmCloseAf

ProtocolCmOpenAf

ProtocolUnbindAdapterEx