DOT11_EXTSTA_RECV_CONTEXT 구조체(windot11.h)
DOT11_EXTSTA_RECV_CONTEXT 구조는 802.11 스테이션에서 수신한 패킷의 네이티브 802.11 특성을 정의하고 ExtSTA(Extensible Station) 또는 NetMon(네트워크 모니터) 모드에서 작동하는 미니포트 드라이버로 표시됩니다. 이러한 작업 모드에 대한 자세한 내용은 Native 802.11 작업 모드참조하세요.
통사론
typedef struct DOT11_EXTSTA_RECV_CONTEXT {
NDIS_OBJECT_HEADER Header;
ULONG uReceiveFlags;
ULONG uPhyId;
ULONG uChCenterFrequency;
USHORT usNumberOfMPDUsReceived;
LONG lRSSI;
UCHAR ucDataRate;
ULONG uSizeMediaSpecificInfo;
PVOID pvMediaSpecificInfo;
ULONGLONG ullTimestamp;
} DOT11_EXTSTA_RECV_CONTEXT, *PDOT11_EXTSTA_RECV_CONTEXT;
회원
Header
DOT11_EXTSTA_RECV_CONTEXT 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.
미니포트 드라이버는 헤더 멤버를 다음 값으로 설정해야 합니다.
형
이 멤버는 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다.
개정판
이 멤버는 DOT11_EXTSTA_RECV_CONTEXT_REVISION_1 설정해야 합니다.
크기
이 멤버는 sizeof(DOT11_EXTSTA_RECV_CONTEXT)
설정해야 합니다.
이러한 멤버에 대한 자세한 내용은 NDIS_OBJECT_HEADER참조하세요.
uReceiveFlags
비트 마스크를 통해 지정된 수신된 패킷 데이터의 특성입니다.
미니포트 드라이버가 ExtSTA 모드에서 작동하는 경우 드라이버는 항상 uReceiveFlags 0으로 설정해야 합니다.
다음 플래그 값은 NetMon 모드에서 작동하는 경우 미니포트 드라이버에 유효합니다.
DOT11_RECV_FLAG_RAW_PACKET
이 비트가 설정되면 패킷은 원래 802.11 스테이션에서 받은 데이터를 포함합니다. 원시 패킷에 대한 자세한 내용은 원시 802.11 패킷 나타내는참조하세요.
DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE
이 비트를 설정하면 FCS(프레임 확인 시퀀스) 오류가 발생하면서 원시 패킷 데이터가 수신되었습니다.
DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP
이 비트가 설정되면 NIC는 ullTimestamp 멤버의 타임스탬프 정보를 설정합니다.
uPhyId
802.11 스테이션이 패킷을 수신한 PHY의 식별자(ID)입니다.
uChCenterFrequency
802.11 스테이션이 패킷을 수신한 주파수 대역의 채널 중심 주파수(MHz) 단위입니다.
usNumberOfMPDUsReceived
패킷에 대한 802.11 스테이션에서 수신 및 재조립된 MAC(미디어 액세스 제어) MPDU(프로토콜 데이터 단위) 조각의 수입니다. usNumberOfMPDUsReceived 값은 DOT11_MAX_NUM_OF_FRAGMENTS 값을 통해 하나여야 합니다.
lRSSI
802.11 패킷의 마지막으로 수신된 MPDU 조각에 대한 수신된 RSSI(신호 강도 표시) 값입니다. RSSI 값은 1.0밀리와트(dBm)로 참조되는 데시벨 단위입니다.
ucDataRate
802.11 스테이션이 패킷을 수신한 데이터 속도입니다. ucDataRate 값은 802.11 스테이션의 데이터 속도 매핑 테이블에서 데이터 속도의 ucDataRateIndex 멤버의 값입니다. 데이터 속도 매핑 테이블에 대한 자세한 내용은 OID_DOT11_DATA_RATE_MAPPING_TABLE.
uSizeMediaSpecificInfo
pvMediaSpecificInfo 멤버의 미디어 관련 정보의 크기(바이트)입니다. uSizeMediaSpecificInfo 미디어 관련 정보의 복사 및 IHV 확장에 전달을 지원합니다.
pvMediaSpecificInfo
미디어 관련 정보를 포함하는 버퍼에 대한 포인터입니다. 미니포트 드라이버가 미디어별 OOB 데이터를 IHV별 802.3 프로토콜 드라이버에 전달하는 경우 미니포트 드라이버는 이 멤버를 설정할 수 있습니다.
네이티브 802.11 프레임워크는 NDIS에서 802.3 NET_BUFFER_LIST 구조체의 NetBufferListInfo 멤버에 있는 MediaSpecificInformation 항목에 이 포인터를 복사합니다.
ullTimestamp
패킷이 수신된 시간을 지정하는 802.11 TSF(타이밍 동기화 함수) 타이머 값(마이크로초)입니다. 이 멤버는 원시 802.11 패킷이 나타내는지원하기 위해 제공됩니다.
NIC가 ullTimestamp지원하지 않는 경우 uReceiveFlags 멤버에서 DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP 플래그를 설정해서는 안 됩니다.
발언
Native 802.11 수신 작업을 수행할 때 미니포트 드라이버는 수신된 각 802.11 패킷의 형식을 NET_BUFFER_LIST 구조체로 포맷해야 하며, 패킷 데이터는 NET_BUFFER 구조체로 형식이 지정되고 NET_BUFFER_LIST 구조체에 연결되어야 합니다. 각 NET_BUFFER_LIST 구조에는 OOB(대역 외) 데이터가 포함되어야 합니다. OOB 데이터는 WLAN(무선 LAN) 미디어와 관련된 수신된 패킷의 특성을 지정합니다.
미니포트 드라이버는 다음 매개 변수를 사용하여 NET_BUFFER_LIST_INFO 매크로를 통해 Native 802.11 OOB 데이터에 액세스합니다.
- 수신된 802.11 패킷에 사용되는 NET_BUFFER_LIST 구조체에 대한 포인터를 전달하는 _NBL 매개 변수입니다.
- MediaSpecificInformation식별자(ID) 값이 전달되는 _ id 매개 변수입니다.
- usNumberOfMPDUsReceived 값을 1로 설정합니다.
- lRSSI 값을 원시 패킷 자체의 RSSI 값으로 설정합니다.
- ucDataRate 값을 원시 패킷 자체의 ucDataRateIndex 값으로 설정합니다.
- ucRSSI 값을 원시 패킷 자체의 정규화된 RSSI 값으로 설정합니다.
Native 802.11 수신 작업에 대한 자세한 내용은 Native 802.11 수신 작업참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 | windot11.h(Ndis.h 포함) |