PROTOCOL_CM_DROP_PARTY 콜백 함수(ndis.h)

ProtocolCmDropParty 함수가 필요합니다. NDIS는 ProtocolCmDropParty 를 호출하여 호출 관리자가 기존 멀티포인트 호출에서 파티를 제거하도록 요청합니다.

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

구문

PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;

NDIS_STATUS ProtocolCmDropParty(
  [in]           NDIS_HANDLE CallMgrPartyContext,
  [in, optional] PVOID CloseData,
  [in, optional] UINT Size
)
{...}

매개 변수

[in] CallMgrPartyContext

호출 관리자가 파티별 상태를 유지하는 호출 관리자 할당 컨텍스트 영역에 대한 핸들을 지정합니다. 이 핸들은 호출 관리자 ProtocolCmAddParty 함수에서 NDIS에 제공되었습니다.

[in, optional] CloseData

파티가 삭제되기 전에 연결을 통해 전송되어야 하는 연결 지향 클라이언트별 데이터를 포함하는 버퍼에 대한 포인터입니다. 기본 네트워크 매체가 연결을 닫을 때 데이터 전송을 지원하지 않는 경우 이 매개 변수는 NULL 입니다.

[in, optional] Size

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

반환 값

ProtocolCmDropParty는 작업의 상태 다음 값 중 하나로 반환합니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
통화 관리자가 파티를 삭제하고, 가까운 데이터를 전송하고, 컨텍스트 영역에 할당된 리소스를 해제했음을 나타냅니다.
NDIS_STATUS_PENDING
호출 관리자가 파티를 비동기적으로 삭제하는 요청을 완료했음을 나타냅니다. 모든 처리가 완료되면 호출 관리자가 NdisCmDropPartyComplete 를 호출하여 NDIS 및 요청 행위자에게 파티가 삭제되었음을 알려야 합니다.
NDIS_STATUS_INVALID_DATA
CloseData가 호출 관리자에 지정되었지만 미디어 형식이 연결 종료와 동시에 데이터 전송을 지원하지 않음을 나타냅니다.

설명

ProtocolCmDropParty 는 해당 미디어에 필요한 경우 네트워크 제어 디바이스 또는 기타 미디어 관련 에이전트와 통신하여 기존 멀티포인트 호출에서 파티를 삭제합니다. 호출 관리자가 네트워크 제어 에이전트(예: 네트워킹 스위치)와 통신해야 하는 경우 해당 에이전트에서 설정한 네트워크 제어 에이전트에 대한 가상 연결을 사용해야 합니다. ProtocolBindAdapterEx 함수입니다.

CloseDataNULL이 아니고 연결 종료 시 데이터 전송이 미디어 형식에서 지원되는 경우 호출 관리자는 종료를 완료하기 전에 CloseData에 지정된 데이터를 전송해야 합니다. 연결 종료와 동시에 데이터를 보내는 것이 미디어 형식에서 지원되지 않는 경우 호출 관리자는 NDIS_STATUS_INVALID_DATA 컨트롤을 반환해야 합니다.

또한 통화 관리자는 할당하고 CallMgrPartyContext 에 저장한 모든 파티별 리소스를 해제해야 합니다. 또한 호출 관리자는 저장된 CallMgrPartyContext 자체의 버퍼를 해제해야 합니다. 이렇게 하지 않으면 메모리 누수 상태가 발생합니다.

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

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

PROTOCOL_CM_DROP_PARTY MyCmDropParty;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCmDropParty(
    NDIS_HANDLE  CallMgrPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

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

요구 사항

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

추가 정보

NdisCmDropPartyComplete

ProtocolCmAddParty