NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 구조체(ndis.h)

NDIS 미니포트 드라이버는 미니포트 어댑터와 연결된 등록 특성을 정의하는 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 구조를 설정합니다.

구문

typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
  NDIS_OBJECT_HEADER  Header;
  NDIS_HANDLE         MiniportAdapterContext;
  ULONG               AttributeFlags;
  UINT                CheckForHangTimeInSeconds;
  NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

멤버

Header

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.

미니포트 드라이버는 헤더Type 멤버를 NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 설정해야 합니다. NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 구조체의 버전을 지정하려면 드라이버가 HeaderRevision 멤버를 다음 값 중 하나로 설정해야 합니다.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

NDIS 6.30에 대한 AttributeFlags 플래그가 추가되었습니다.

Size 멤버를 NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2 설정합니다.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

NDIS 6.0의 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1 설정합니다.

MiniportAdapterContext

MiniportInitializeEx 함수에 미니포트 드라이버가 할당한 컨텍스트 영역에 대한 핸들입니다. 미니포트 드라이버는 이 컨텍스트 영역을 사용하여 미니포트 어댑터에 대한 상태 정보를 유지 관리합니다.

AttributeFlags

비트 OR와 결합된 플래그의 비트 마스크입니다. NDIS 미니포트 드라이버는 다음 플래그 중 하나 이상을 설정해야 합니다.

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

미니포트 드라이버가 물리적 디바이스를 직접 제어하는 경우 를 설정합니다. 물리적 디바이스에는 미니포트 드라이버에서 클레임해야 하는 인터럽트, I/O 포트, 메모리 매핑 I/O 또는 DMA 채널과 같은 하드웨어 리소스가 할당됩니다. MiniportInitializeEx 함수입니다.

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

미니포트 어댑터의 하위 수준 인터페이스가 USB 또는 IEEE 1394와 같은 WDM 버스 드라이버인 경우 를 설정합니다. 이 경우 미니포트 드라이버는 I/O 포트, 인터럽트, 메모리 매핑 I/O 또는 DMA 채널과 같은 하드웨어 리소스를 할당하지 않습니다. 대신 드라이버는 기본 버스 드라이버의 WDM 인터페이스를 통해 디바이스와 통신합니다.

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

호출자의 NIC가 버스 master DMA 디바이스인지 설정합니다.

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

시스템이 저전력(절전 모드) 상태로 전환되기 전에 NDIS가 미니포트 드라이버의 MiniportHaltEx 함수를 호출하지 않아야 하는 경우 를 설정합니다. 하드웨어 유지 관리 상태를 사용하는 드라이버는 이 플래그를 설정하면 안 됩니다.

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

미니포트 드라이버가 사용자 알림 없이 NIC 제거를 처리할 수 있는지를 설정합니다. NDIS 드라이버는 에서 깜짝 제거 알림을 받습니다. MiniportDevicePnPEventNotify 함수입니다.

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

연결 지향 디바이스와 연결 없는 디바이스를 모두 지원할 수 있는 미니포트 드라이버에 의해 설정되어 디바이스가 연결 없는 디바이스임을 나타냅니다.

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

TAPI 서비스를 제공하지 않는 CoNDIS 미니포트 드라이버에 의해 설정됩니다. NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO 설정하면 NDIS가 미니포트 드라이버를 NDIS TAPI 프록시 드라이버(NDPROXY)에 바인딩할 수 없습니다. 기본적으로 NDIS는 NDPROXY를 모든 CoNDIS 미니포트 드라이버에 바인딩합니다.

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

기본 포트를 활성화하기 위해 NdisMNetPnPEvent 함수를 호출하는 미니포트 드라이버에 의해 설정됩니다. NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT 설정되지 않은 경우 기본 포트가 활성화됩니다. 기본 포트가 활성화되지 않은 경우 NDIS는 프로토콜 드라이버를 바인딩하거나 필터 모듈을 미니포트 어댑터에 연결하지 않습니다.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

NDIS 6.30부터 미니포트 드라이버가 일시 중지되지 않고 저전력 상태로 전환할 수 있는 경우 이 플래그가 설정됩니다.

이 플래그에 대한 자세한 내용은 주의 섹션을 참조하세요.

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

NDIS 6.30 미니포트부터 NDIS는 이 플래그가 설정되지 않는 한 BugCheck 중에 미니포트의 MiniportShutdownEx 처리기를 호출하지 않습니다. 대부분의 미니포트는 이 플래그를 설정해서는 안 됩니다.

CheckForHangTimeInSeconds

NDIS가 를 호출해야 하는 시간 제한 간격(초)입니다. MiniportCheckForHangEx 함수입니다. 미니포트 드라이버가 MiniportCheckForHangEx에 대한 두 번의 연속 호출 내에서 OID 요청 또는 송신 요청에 응답하지 않은 경우 NDIS는 미니포트 드라이버의 MiniportResetEx 함수를 호출할 수 있습니다.

MiniportCheckForHangEx를 호출할 때 NDIS에서 사용하는 간격은 항상 2초의 배수입니다. 예를 들어 5초를 지정하면 간격은 약 4초가 됩니다.

이 멤버가 0이면 기본 제한 시간 간격은 2초입니다.

참고 제한 시간 간격은 미니포트 드라이버의 초기화 시간보다 커야 합니다. 자세한 내용은 미니포트 어댑터 중단 확인 및 다시 설정 작업을 참조하세요.
 

InterfaceType

미니포트 어댑터의 I/O 버스 인터페이스 유형입니다. 일반적으로 미니포트 어댑터가 연결된 I/O 버스 유형입니다. 다음 값은 NDIS 6.0에서 지원됩니다.

NdisInterfaceInternal

호스트별 내부 인터페이스를 지정합니다.

NdisInterfaceIsa

ISA 인터페이스를 지정합니다.

NdisInterfaceEisa

EISA(확장 ISA) 인터페이스를 지정합니다. 이 인터페이스 형식은 NDIS 6.0 이상 버전에서 지원되지 않습니다.

NdisInterfaceMca

더 이상 지원되지 않는 MCA 버스를 참조합니다. 이 인터페이스 형식은 NDIS 6.0 이상 버전에서 지원되지 않습니다.

NdisInterfaceTurboChannel

Turbo 채널 인터페이스를 지정합니다.

NdisInterfacePci

PCI(주변 장치 구성 요소 상호 연결) 인터페이스를 지정합니다.

NdisInterfacePcMcia

개인용 컴퓨터 메모리 카드 국제 연결(PC 카드) 인터페이스를 지정합니다.

NdisInterfaceCBus

CBus를 지정합니다.

NdisInterfaceMPIBus

MPIBus를 지정합니다.

NdisInterfaceMPSABus

MPSABus를 지정합니다.

NdisInterfaceProcessorInternal

프로세서 내부 버스를 지정합니다.

NdisInterfaceInternalPowerBus

내부 전원 버스를 지정합니다.

NdisInterfacePNPISABus

PNPISABus를 지정합니다.

NdisInterfacePNPBus

PNPBus를 지정합니다.

이 매개 변수는 이 멤버에 대해 0을 지정해야 하는 중간 드라이버와 관련이 없습니다.

설명

미니포트 드라이버는 의 MiniportAttributes 매개 변수에서 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 구조체에 포인터를 전달합니다. NdisMSetMiniportAttributes 함수입니다. 미니포트 드라이버는 초기화 중에 MiniportInitializeEx 함수에서 NdisMSetMiniportAttributes를 호출합니다.

미니포트 드라이버는 MiniportInitializeEx 내에서 가능한 한 빨리 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 특성을 설정해야 합니다. 이러한 특성을 설정하는 것은 필수입니다.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND 플래그

기본 미니포트 어댑터가 D1, D2 또는 D3의 저전력 상태로 전환되기 전에 NDIS는 미니포트 드라이버에 OID_PNP_SET_POWER OID 요청을 발급합니다. 드라이버가 이 OID를 처리할 때 미니포트 어댑터를 더 낮은 전원 상태로 전환할 수 있도록 준비해야 하며 보류 중인 수신 패킷 표시가 완료될 때까지 기다리지 않아야 합니다.

경우에 따라 NDIS가 미니포트 드라이버에 OID_PNP_SET_POWER OID 요청을 발급하기 전에 NDIS는 아래 설명된 대로 미니포트 드라이버의 MiniportPause 함수를 호출합니다.

  • NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND 플래그가 설정되지 않은 경우 NDIS는 OID_PNP_SET_POWER OID 요청이 드라이버에 발급되기 전에 미니포트 드라이버의 MiniportPause 함수를 호출합니다. MiniportPause 호출의 컨텍스트 내에서 드라이버는 보류 중인 수신 패킷 표시가 완료될 때까지 기다려야 합니다.
  • NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND 플래그가 설정된 경우 NDIS는 OID_PNP_SET_POWER OID 요청이 드라이버에 발급되기 전에 미니포트 드라이버의MiniportPause 함수를 호출하지 않습니다. 미니포트 드라이버가 OID 요청을 처리할 때 미니포트 어댑터가 저전력 상태로 전환되도록 준비할 때 이전에 일시 중지되었다고 가정해서는 안 됩니다.
    참고 이에 대한 예외는 NDIS 6.20 이전 버전의 NDIS를 지원하는 프로토콜 또는 필터 드라이버가 미니포트 어댑터에 바인딩되거나 연결된 경우에 발생합니다. 이 경우 NDIS는 미니포트 드라이버가 NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND 플래그를 설정하는지 여부에 관계없이 미니포트 드라이버의 MiniportPause 함수를 호출합니다.
     

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
머리글 ndis.h(Ndis.h 포함)

추가 정보

미니포트 어댑터 중단 및 다시 설정 작업 확인

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx

MiniportPause

MiniportResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER