MINIPORT_CO_CREATE_VC 콜백 함수(ndis.h)

MiniportCoCreateVc 함수는 연결 지향 미니포트에 필요합니다. MiniportCoCreateVc 는 미니포트 드라이버에 새 VC가 생성되고 있음을 나타내기 위해 NDIS에서 호출됩니다.

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

구문

MINIPORT_CO_CREATE_VC MiniportCoCreateVc;

NDIS_STATUS MiniportCoCreateVc(
  [in]  NDIS_HANDLE MiniportAdapterContext,
  [in]  NDIS_HANDLE NdisVcHandle,
  [out] PNDIS_HANDLE MiniportVcContext
)
{...}

매개 변수

[in] MiniportAdapterContext

미니포트 드라이버가 이 어댑터 instance 대한 상태 정보를 유지하는 미니포트 드라이버 할당 컨텍스트 영역에 대한 핸들을 지정합니다. 미니포트 드라이버는 를 호출하여 NDIS에 이 핸들을 제공했습니다. NdisMSetMiniportAttributes MiniportInitializeEx 함수입니다.

[in] NdisVcHandle

생성되는 VC를 고유하게 식별하는 NDIS에서 제공하는 핸들을 지정합니다. 이 핸들은 미니포트 드라이버에 불투명하며 NDIS 라이브러리 사용을 위해 예약되어 있습니다.

[out] MiniportVcContext

출력 시 미니포트 드라이버가 VC에 대한 상태를 유지하는 미니포트 드라이버 제공 컨텍스트 영역에 대한 핸들을 지정합니다.

반환 값

반환 코드 설명
NDIS_STATUS_SUCCESS
미니포트 드라이버가 필요한 모든 리소스를 성공적으로 할당하고 새로 만든 VC에 대한 요청을 처리하도록 준비했음을 나타냅니다.
NDIS_STATUS_RESOURCES
호출 관리자가 새 VC에서 작동하는 데 필요한 동적으로 할당된 리소스를 가져올 수 없음을 나타냅니다.

설명

MiniportCoCreateVc 는 동기 함수로 작성되어야 하며, 어떤 상황에서도 시스템 차원의 오류를 일으키지 않고 NDIS_STATUS_PENDING 반환할 수 없습니다.

MiniportCoCreateVc 는 미니포트 드라이버가 VC에 대한 상태 정보를 유지하는 데 필요한 모든 리소스를 할당합니다. 리소스에는 메모리 버퍼, 이벤트, 데이터 구조 및 기타 유사한 리소스가 포함될 수 있지만 이에 국한되지는 않습니다.

필요한 모든 리소스를 할당한 후 미니포트 드라이버는 리소스를 사용 가능한 상태로 초기화하고 MiniportVcContext의 상태 영역에 대한 포인터를 반환해야 합니다. 핸들은 핸들을 역참조하고 상태 버퍼에 대한 포인터를 핸들 값으로 저장하여 설정합니다. 예를 들면 다음과 같습니다.

*MiniportVcContext = SomeBuffer;

미니포트 드라이버는 이후에 미니포트 드라이버에서 호출되는 다른 NDIS 라이브러리 루틴에 필요한 매개 변수이므로 해당 상태 영역에 VC NdisVcHandle에 대한 핸들을 저장해야 합니다.

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

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

MINIPORT_CO_CREATE_VC MyCoCreateVc;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCoCreateVc(
    NDIS_HANDLE  MiniportAdapterContext,
    NDIS_HANDLE  NdisVcHandle,
    PNDIS_HANDLE  MiniportVcContext
    )
  {...}

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

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

요구 사항

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

추가 정보

MiniportInitializeEx

NdisMSetMiniportAttributes