NDIS_PM_PROTOCOL_OFFLOAD 구조체(ntddndis.h)
NDIS_PM_PROTOCOL_OFFLOAD 구조는 네트워크 어댑터에 대한 저전력 프로토콜 오프로드에 대한 매개 변수를 지정합니다.
구문
typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG Priority;
NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
NDIS_PM_COUNTED_STRING FriendlyName;
ULONG ProtocolOffloadId;
ULONG NextProtocolOffloadOffset;
union {
struct {
ULONG Flags;
UCHAR RemoteIPv4Address[4];
UCHAR HostIPv4Address[4];
UCHAR MacAddress[6];
} IPv4ARPParameters;
struct {
ULONG Flags;
UCHAR RemoteIPv6Address[16];
UCHAR SolicitedNodeIPv6Address[16];
UCHAR MacAddress[6];
UCHAR TargetIPv6Addresses[2][16];
} IPv6NSParameters;
struct {
ULONG Flags;
UCHAR KCK[DOT11_RSN_KCK_LENGTH];
UCHAR KEK[DOT11_RSN_KEK_LENGTH];
ULONGLONG KeyReplayCounter;
} Dot11RSNRekeyParameters;
struct {
ULONG Flags;
ULONGLONG KeyReplayCounter;
ULONG AuthAlgo;
ULONG KCKLength;
ULONG KEKLength;
UCHAR KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
UCHAR KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
} Dot11RSNRekeyParametersV2;
} ProtocolOffloadParameters;
_PROTOCOL_OFFLOAD_PARAMETERS _PROTOCOL_OFFLOAD_PARAMETERS;
} NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
멤버
Header
NDIS_PM_PROTOCOL_OFFLOAD 구조체의 NDIS_OBJECT_HEADER 구조체입니다. 드라이버는 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정합니다.
NDIS_PM_PROTOCOL_OFFLOAD 구조체의 버전을 나타내려면 Header의 Revision 멤버를 다음 값 중 하나로 설정합니다.
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2
NDIS 6.84용 Dot11RSNRekeyParametersV2 구조체가 추가되었습니다.
Size 멤버를 NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2 설정합니다.
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1
NDIS 6.20 이상에 대한 원래 버전입니다.
Size 멤버를 NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 설정합니다.
Flags
플래그의 비트 OR을 포함하는 ULONG 값입니다. 이 멤버는 NDIS용으로 예약되어 있습니다.
Priority
프로토콜 오프로드의 우선 순위를 포함하는 ULONG 값입니다. 더 많은 프로토콜 오프로드에 사용할 수 있는 리소스가 없을 때 오버리싱 드라이버가 더 높은 우선 순위 프로토콜 오프로드를 추가하는 경우 NDIS는 리소스를 해제하기 위해 우선 순위가 낮은 프로토콜 오프로드를 제거할 수 있습니다. 미니포트 드라이버는 이 멤버를 무시해야 합니다. 프로토콜 드라이버는 미리 정의된 범위 내의 모든 값을 제공할 수 있습니다. 미리 정의된 값은 다음과 같습니다.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
가장 낮은 우선 순위 프로토콜 오프로드를 지정합니다.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
일반 우선 순위 프로토콜 오프로드를 지정합니다.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
우선 순위가 가장 높은 프로토콜 오프로드를 지정합니다.
ProtocolOffloadType
입니다. 프로토콜 오프로드의 형식을 포함하는 NDIS_PM_PROTOCOL_OFFLOAD_TYPE 값입니다.
FriendlyName
저전력 프로토콜 오프로드에 대한 사용자가 읽을 수 있는 설명을 포함하는 NDIS_PM_COUNTED_STRING 구조체입니다.
ProtocolOffloadId
오프로드된 프로토콜을 식별하는 NDIS 제공 값을 포함하는 ULONG 값입니다. NDIS가 OID_PM_ADD_PROTOCOL_OFFLOAD OID 요청을 기본 NDIS 드라이버로 보내거나 오버리싱 드라이버에 대한 요청을 완료하기 전에 NDIS는 ProtocolOffloadId 를 네트워크 어댑터의 프로토콜 오프로드 중 고유한 값으로 설정합니다.
NextProtocolOffloadOffset
오프셋(바이트)을 포함하는 ULONG 값입니다. 목록에서 각 NDIS_PM_PROTOCOL_OFFLOAD 구조체의 NextProtocolOffloadOffset 멤버는 목록에서 다음 NDIS_PM_PROTOCOL_OFFLOAD 구조체의 오프셋(OID 요청 InformationBuffer 시작부터)으로 설정됩니다. NextProtocolOffloadOffset이 0이면 현재 구조체가 목록의 마지막 구조체입니다.
ProtocolOffloadParameters
다음 멤버 구조를 포함하는 공용 구조체입니다.
ProtocolOffloadParameters.IPv4ARPParameters
IPv4 ARP 매개 변수를 포함하는 구조체입니다. 이 구조체에는 다음 멤버가 포함됩니다.
ProtocolOffloadParameters.IPv4ARPParameters.Flags
플래그의 비트 OR을 포함하는 ULONG 값입니다. 이 멤버는 NDIS용으로 예약되어 있습니다.
ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]
선택적 IPv4 주소를 포함하는 UCHAR 배열입니다. 이 주소는 ARP 요청의 SPA(원본 프로토콜 주소) 필드를 나타냅니다.
들어오는 ARP 요청에 이 IPv4 주소와 일치하는 SPA 값이 있는 경우 네트워크 어댑터는 저전력 상태일 때 ARP 응답을 보냅니다. 이 멤버가 0이면 네트워크 어댑터가 원격 IPv4 주소의 ARP 요청에 응답해야 합니다.
ARP 프로토콜에 대한 자세한 내용은 RFC 826을 참조하세요.
ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]
IPv4 주소를 포함하는 UCHAR 배열입니다. ARP 응답을 보내면 네트워크 어댑터는 응답의 SPA 필드에 이 멤버를 사용합니다.
ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]
MAC(미디어 액세스 제어) 주소를 포함하는 UCHAR 배열입니다. 네트워크 어댑터는 생성되는 ARP 응답 패킷의 SHA(원본 하드웨어 주소) 필드에 이 MAC 주소를 사용합니다.
ProtocolOffloadParameters.IPv6NSParameters
IPv6 NS(Neighbor Solicitation) 매개 변수를 포함하는 구조체입니다. 이 구조체에는 다음 멤버가 포함됩니다.
ProtocolOffloadParameters.IPv6NSParameters.Flags
플래그의 비트 OR을 포함하는 ULONG 값입니다. 이 멤버는 NDIS용으로 예약되어 있습니다.
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
선택적 IPv6 주소를 포함하는 UCHAR 배열입니다. 이 주소는 NS 메시지의 IPv6 헤더에 있는 원본 주소 필드를 나타냅니다.
들어오는 NS 메시지에 이 IPv6 주소와 일치하는 원본 주소 값이 있는 경우 네트워크 어댑터는 전원이 부족할 때 NA(인접 알림) 메시지를 보냅니다. 이 멤버가 0이면 네트워크 어댑터가 원격 IPv6 주소의 NS 메시지에 응답해야 합니다.
IPv6 NS 및 NA 메시지에 대한 자세한 내용은 RFC 4861을 참조하세요.
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
요청된 노드 IPv6 주소를 포함하는 UCHAR 배열입니다. 이 유형의 IPv6 주소에 대한 자세한 내용은 멀티캐스트 IPv6 주소를 참조하세요.
ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]
MAC 주소를 포함하는 UCHAR 배열입니다. NA 메시지를 보낼 때 네트워크 어댑터는 NA 메시지의 대상 TLLA(링크 계층 주소) 필드에 이 배열을 사용합니다.
ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]
하나 또는 두 개의 IPv6 주소를 포함하는 UCHAR 배열입니다. 주소가 하나만 포함된 경우 해당 주소는 배열의 첫 번째 요소에 저장되고 두 번째 요소는 0으로 채워집니다.
미니포트 드라이버는 배열의 모든 주소를 사용해야 합니다.
이러한 주소는 NS 메시지의 대상 주소 필드를 나타냅니다. 이러한 주소 중 하나가 들어오는 NS 메시지의 대상 주소 필드와 일치하는 경우 네트워크 어댑터는 응답으로 NA 메시지를 보냅니다.
ProtocolOffloadParameters.Dot11RSNRekeyParameters
IEEE 802.11i RSN(강력한 보안 네트워크) 핸드셰이크 매개 변수를 포함하는 구조체입니다. 이 구조체에는 다음 멤버가 포함됩니다.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
플래그의 비트 OR을 포함하는 ULONG 값입니다. 이 멤버는 NDIS용으로 예약되어 있습니다.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]
IEEE 802.11 KCK(키 확인 키)를 포함하는 UCHAR 배열입니다.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]
IEEE 802.11 KEK(키 암호화 키)를 포함하는 UCHAR 배열입니다.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter
재생 카운터를 포함하는 ULONGLONG 값입니다.
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2
V2 IEEE 802.11i RSN(강력한 보안 네트워크) 핸드셰이크 매개 변수를 포함하는 구조체입니다. NDIS 6.84 이상에서 사용할 수 있습니다. 이 구조체에는 다음 멤버가 포함됩니다.
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.Flags
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KeyReplayCounter
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.AuthAlgo
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
_PROTOCOL_OFFLOAD_PARAMETERS
설명
NDIS_PM_PROTOCOL_OFFLOAD 구조체는 OID_PM_ADD_PROTOCOL_OFFLOAD 및 에서 사용됩니다. OID_PM_PROTOCOL_OFFLOAD_LIST Oid.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.20 이상에서 지원됩니다. |
머리글 | ntddndis.h(Ntddndis.h 포함) |