다음을 통해 공유


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

CloseData NULL 경우 CloseData버퍼의 길이(바이트)를 지정합니다.

반환 값

없음

발언

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

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

ProtocolClIncomingDropParty 클라이언트가 NdisClAddParty 가져온 NdisPartyHandle 또는 NdisClMakeCall이 유효하지 고려해야 합니다. 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

NdisCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty