PROTOCOL_CL_INCOMING_DROP_PARTY 콜백 함수(ndis.h)

ProtocolClIncomingDropParty 함수는 다중 포인트 연결을 설정하는 연결 지향 NDIS 클라이언트에서 사용됩니다. 이러한 클라이언트에는 ProtocolClIncomingDropParty 함수가 있어야 합니다. 그렇지 않으면 이러한 프로토콜 드라이버의 등록된 ProtocolClIncomingDropParty 함수는 단순히 제어를 반환할 수 있습니다.

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

구문

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

매개 변수

[in] DropStatus

파티가 삭제되는 이유를 나타냅니다. 일반적으로 원격 메모의 파티가 연결이 닫히기 시작한 경우 NDIS_STATUS_SUCCESS, 호출 관리자가 검색한 네트워크 문제로 인해 이 드롭 파티 작업을 시작한 경우 CM 결정 상태 수 있습니다.

[in] ProtocolPartyContext

삭제할 파티에 대한 클라이언트의 파티별 컨텍스트 영역에 대한 핸들을 지정합니다. 클라이언트는 원래 NdisClAddParty 또는 NdisClMakeCall이라고 할 때 이 핸들을 NDIS에 제공했습니다.

[in] CloseData

프로토콜별 닫기 메시지를 포함하는 버퍼에 대한 포인터로, 호출 관리자가 네트워크를 통해 수신한 원격 클라이언트에서 제공하거나 이 매개 변수가 NULL일 수 있습니다.

DropStatus가 NDIS_STATUS_SUCCESS 경우 기본 네트워크 매체가 연결을 닫을 때 데이터 전송을 지원하지 않는 경우 이 매개 변수는 NULL입니다. 그러나 특정 호출 관리자는 네트워크의 문제로 인한 드롭 파티 작업에서 클라이언트에 추가 진단 정보를 전달하는 구조를 정의할 수 있습니다.

[in] Size

CloseDataNULL인 경우 CloseData에 있는 버퍼의 길이(바이트)를 0으로 지정합니다.

반환 값

없음

설명

ProtocolClIncomingDropParty에 대한 호출은 다음 중 하나가 발생했음을 나타냅니다.

  • 호출 관리자는 프로토콜PartyContext 의 파티별 컨텍스트 영역에 저장된 NdisPartyHandle로 식별된 설정된 연결을 닫기 위해 네트워크를 통해 요청을 받았습니다.
  • 호출 관리자는 네트워크 문제로 인해 설정된 연결에서 추가 데이터 전송을 방지할 수 있음을 발견했습니다.
두 경우 모두 ProtocolClIncomingDropParty 는 클라이언트의 다중 포인트 VC에서 파티를 삭제하기 위해 프로토콜 결정 작업을 수행해야 합니다. ProtocolClIncomingDropPartyNdisClDropParty 를 호출해야 합니다. 또는 클라이언트의 멀티포인트 VC인 NdisCloseCall의 마지막 남은 파티인 경우 NdisClDropParty를 호출해야 합니다.

ProtocolClIncomingDropParty는 클라이언트가 NdisClAddParty 또는 NdisClMakeCall에서 가져온 NdisPartyHandle을 유효하지 않은 것으로 간주해야 합니다. ProtocolClIncomingDropParty 는 클라이언트의 파티별 컨텍스트 영역을 해제하거나 NdisClAddParty에 대한 후속 호출에서 다시 사용할 수 있도록 준비할 수 있습니다.

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

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

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

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

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

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

요구 사항

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

추가 정보

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty