📄 ndis.h
字号:
NdisReserved,
ScatterGatherListPacketInfo,
Ieee8021QInfo,
OriginalPacketInfo,
PacketCancelId,
MaxPerPacketInfo
} NDIS_PER_PACKET_INFO, *PNDIS_PER_PACKET_INFO;
typedef struct _NDIS_PACKET_EXTENSION {
PVOID NdisPacketInfo[MaxPerPacketInfo];
} NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
/*
* PNDIS_PACKET
* NDIS_GET_ORIGINAL_PACKET(
* IN PNDIS_PACKET Packet);
*/
#define NDIS_GET_ORIGINAL_PACKET(Packet) \
NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
/*
* PVOID
* NDIS_GET_PACKET_CANCEL_ID(
* IN PNDIS_PACKET Packet);
*/
#define NDIS_GET_PACKET_CANCEL_ID(Packet) \
NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
/*
* PNDIS_PACKET_EXTENSION
* NDIS_PACKET_EXTENSION_FROM_PACKET(
* IN PNDIS_PACKET Packet);
*/
#define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
+ (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
/*
* PVOID
* NDIS_PER_PACKET_INFO_FROM_PACKET(
* IN OUT PNDIS_PACKET Packet,
* IN NDIS_PER_PACKET_INFO InfoType);
*/
#define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
+ sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
/*
* VOID
* NDIS_SET_ORIGINAL_PACKET(
* IN OUT PNDIS_PACKET Packet,
* IN PNDIS_PACKET OriginalPacket);
*/
#define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
/*
* VOID
* NDIS_SET_PACKET_CANCEL_ID(
* IN PNDIS_PACKET Packet
* IN ULONG_PTR CancelId);
*/
#define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
typedef enum _NDIS_TASK {
TcpIpChecksumNdisTask,
IpSecNdisTask,
TcpLargeSendNdisTask,
MaxNdisTask
} NDIS_TASK, *PNDIS_TASK;
typedef struct _NDIS_TASK_IPSEC {
struct {
ULONG AH_ESP_COMBINED;
ULONG TRANSPORT_TUNNEL_COMBINED;
ULONG V4_OPTIONS;
ULONG RESERVED;
} Supported;
struct {
ULONG MD5 : 1;
ULONG SHA_1 : 1;
ULONG Transport : 1;
ULONG Tunnel : 1;
ULONG Send : 1;
ULONG Receive : 1;
} V4AH;
struct {
ULONG DES : 1;
ULONG RESERVED : 1;
ULONG TRIPLE_DES : 1;
ULONG NULL_ESP : 1;
ULONG Transport : 1;
ULONG Tunnel : 1;
ULONG Send : 1;
ULONG Receive : 1;
} V4ESP;
} NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
typedef struct _NDIS_TASK_OFFLOAD {
ULONG Version;
ULONG Size;
NDIS_TASK Task;
ULONG OffsetNextTask;
ULONG TaskBufferLength;
UCHAR TaskBuffer[1];
} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
#define NDIS_TASK_OFFLOAD_VERSION 1
typedef enum _NDIS_ENCAPSULATION {
UNSPECIFIED_Encapsulation,
NULL_Encapsulation,
IEEE_802_3_Encapsulation,
IEEE_802_5_Encapsulation,
LLC_SNAP_ROUTED_Encapsulation,
LLC_SNAP_BRIDGED_Encapsulation
} NDIS_ENCAPSULATION;
typedef struct _NDIS_ENCAPSULATION_FORMAT {
NDIS_ENCAPSULATION Encapsulation;
struct {
ULONG FixedHeaderSize : 1;
ULONG Reserved : 31;
} Flags;
ULONG EncapsulationHeaderSize;
} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
struct {
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
ULONG IpChecksum:1;
} V4Transmit;
struct {
ULONG IpOptionsSupported : 1;
ULONG TcpOptionsSupported : 1;
ULONG TcpChecksum : 1;
ULONG UdpChecksum : 1;
ULONG IpChecksum : 1;
} V4Receive;
struct {
ULONG IpOptionsSupported : 1;
ULONG TcpOptionsSupported : 1;
ULONG TcpChecksum : 1;
ULONG UdpChecksum : 1;
} V6Transmit;
struct {
ULONG IpOptionsSupported : 1;
ULONG TcpOptionsSupported : 1;
ULONG TcpChecksum : 1;
ULONG UdpChecksum : 1;
} V6Receive;
} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
typedef struct _NDIS_TASK_TCP_LARGE_SEND {
ULONG Version;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
BOOLEAN TcpOptions;
BOOLEAN IpOptions;
} NDIS_TASK_TCP_LARGE_SEND, *PNDIS_TASK_TCP_LARGE_SEND;
typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO {
_ANONYMOUS_UNION union {
struct {
ULONG NdisPacketChecksumV4 : 1;
ULONG NdisPacketChecksumV6 : 1;
ULONG NdisPacketTcpChecksum : 1;
ULONG NdisPacketUdpChecksum : 1;
ULONG NdisPacketIpChecksum : 1;
} Transmit;
struct {
ULONG NdisPacketTcpChecksumFailed : 1;
ULONG NdisPacketUdpChecksumFailed : 1;
ULONG NdisPacketIpChecksumFailed : 1;
ULONG NdisPacketTcpChecksumSucceeded : 1;
ULONG NdisPacketUdpChecksumSucceeded : 1;
ULONG NdisPacketIpChecksumSucceeded : 1;
ULONG NdisPacketLoopback : 1;
} Receive;
ULONG Value;
} DUMMYUNIONNAME;
} NDIS_TCP_IP_CHECKSUM_PACKET_INFO, *PNDIS_TCP_IP_CHECKSUM_PACKET_INFO;
typedef struct _NDIS_WAN_CO_FRAGMENT {
ULONG Errors;
} NDIS_WAN_CO_FRAGMENT, *PNDIS_WAN_CO_FRAGMENT;
typedef struct _NDIS_WAN_FRAGMENT {
UCHAR RemoteAddress[6];
UCHAR LocalAddress[6];
} NDIS_WAN_FRAGMENT, *PNDIS_WAN_FRAGMENT;
typedef struct _WAN_CO_LINKPARAMS {
ULONG TransmitSpeed;
ULONG ReceiveSpeed;
ULONG SendWindow;
} WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
/* Call Manager */
typedef VOID DDKAPI
(*CM_ACTIVATE_VC_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE CallMgrVcContext,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef NDIS_STATUS DDKAPI
(*CM_ADD_PARTY_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrVcContext,
/*IN OUT*/ PCO_CALL_PARAMETERS CallParameters,
/*IN*/ NDIS_HANDLE NdisPartyHandle,
/*OUT*/ PNDIS_HANDLE CallMgrPartyContext);
typedef NDIS_STATUS DDKAPI
(*CM_CLOSE_AF_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrAfContext);
typedef NDIS_STATUS DDKAPI
(*CM_CLOSE_CALL_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrVcContext,
/*IN*/ NDIS_HANDLE CallMgrPartyContext /*OPTIONAL*/,
/*IN*/ PVOID CloseData /*OPTIONAL*/,
/*IN*/ UINT Size /*OPTIONAL*/);
typedef NDIS_STATUS DDKAPI
(*CM_DEREG_SAP_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrSapContext);
typedef VOID DDKAPI
(*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE CallMgrVcContext);
typedef NDIS_STATUS DDKAPI
(*CM_DROP_PARTY_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrPartyContext,
/*IN*/ PVOID CloseData /*OPTIONAL*/,
/*IN*/ UINT Size /*OPTIONAL*/);
typedef VOID DDKAPI
(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE CallMgrVcContext,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef NDIS_STATUS DDKAPI
(*CM_MAKE_CALL_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrVcContext,
/*IN OUT*/ PCO_CALL_PARAMETERS CallParameters,
/*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
/*OUT*/ PNDIS_HANDLE CallMgrPartyContext /*OPTIONAL*/);
typedef NDIS_STATUS DDKAPI
(*CM_MODIFY_CALL_QOS_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrVcContext,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef NDIS_STATUS DDKAPI
(*CM_OPEN_AF_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrBindingContext,
/*IN*/ PCO_ADDRESS_FAMILY AddressFamily,
/*IN*/ NDIS_HANDLE NdisAfHandle,
/*OUT*/ PNDIS_HANDLE CallMgrAfContext);
typedef NDIS_STATUS DDKAPI
(*CM_REG_SAP_HANDLER)(
/*IN*/ NDIS_HANDLE CallMgrAfContext,
/*IN*/ PCO_SAP Sap,
/*IN*/ NDIS_HANDLE NdisSapHandle,
/*OUT*/ PNDIS_HANDLE CallMgrSapContext);
typedef NDIS_STATUS DDKAPI
(*CO_CREATE_VC_HANDLER)(
/*IN*/ NDIS_HANDLE ProtocolAfContext,
/*IN*/ NDIS_HANDLE NdisVcHandle,
/*OUT*/ PNDIS_HANDLE ProtocolVcContext);
typedef NDIS_STATUS DDKAPI
(*CO_DELETE_VC_HANDLER)(
/*IN*/ NDIS_HANDLE ProtocolVcContext);
typedef VOID DDKAPI
(*CO_REQUEST_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolAfContext /*OPTIONAL*/,
/*IN*/ NDIS_HANDLE ProtocolVcContext /*OPTIONAL*/,
/*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/,
/*IN*/ PNDIS_REQUEST NdisRequest);
typedef NDIS_STATUS DDKAPI
(*CO_REQUEST_HANDLER)(
/*IN*/ NDIS_HANDLE ProtocolAfContext,
/*IN*/ NDIS_HANDLE ProtocolVcContext /*OPTIONAL*/,
/*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/,
/*IN OUT*/ PNDIS_REQUEST NdisRequest);
typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
UCHAR MajorVersion;
UCHAR MinorVersion;
USHORT Filler;
UINT Reserved;
CO_CREATE_VC_HANDLER CmCreateVcHandler;
CO_DELETE_VC_HANDLER CmDeleteVcHandler;
CM_OPEN_AF_HANDLER CmOpenAfHandler;
CM_CLOSE_AF_HANDLER CmCloseAfHandler;
CM_REG_SAP_HANDLER CmRegisterSapHandler;
CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
CM_MAKE_CALL_HANDLER CmMakeCallHandler;
CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
CM_ADD_PARTY_HANDLER CmAddPartyHandler;
CM_DROP_PARTY_HANDLER CmDropPartyHandler;
CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
CO_REQUEST_HANDLER CmRequestHandler;
CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler;
} NDIS_CALL_MANAGER_CHARACTERISTICS, *PNDIS_CALL_MANAGER_CHARACTERISTICS;
/* Call Manager clients */
typedef VOID (*CL_OPEN_AF_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolAfContext,
/*IN*/ NDIS_HANDLE NdisAfHandle);
typedef VOID DDKAPI
(*CL_CLOSE_AF_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolAfContext);
typedef VOID DDKAPI
(*CL_REG_SAP_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolSapContext,
/*IN*/ PCO_SAP Sap,
/*IN*/ NDIS_HANDLE NdisSapHandle);
typedef VOID DDKAPI
(*CL_DEREG_SAP_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolSapContext);
typedef VOID DDKAPI
(*CL_MAKE_CALL_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolVcContext,
/*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef VOID DDKAPI
(*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolVcContext,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef VOID DDKAPI
(*CL_CLOSE_CALL_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolVcContext,
/*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/);
typedef VOID DDKAPI
(*CL_ADD_PARTY_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolPartyContext,
/*IN*/ NDIS_HANDLE NdisPartyHandle,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef VOID DDKAPI
(*CL_DROP_PARTY_COMPLETE_HANDLER)(
/*IN*/ NDIS_STATUS Status,
/*IN*/ NDIS_HANDLE ProtocolPartyContext);
typedef NDIS_STATUS DDKAPI
(*CL_INCOMING_CALL_HANDLER)(
/*IN*/ NDIS_HANDLE ProtocolSapContext,
/*IN*/ NDIS_HANDLE ProtocolVcContext,
/*IN OUT*/ PCO_CALL_PARAMETERS CallParameters);
typedef VOID DDKAPI
(*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
/*IN*/ NDIS_HANDLE ProtocolVcContext,
/*IN*/ PCO_CALL_PARAMETERS CallParameters);
typedef VOID DDKAPI
(*CL_INCOMING_CLOSE_CALL_HANDLER)(
/*IN*/ NDIS_STATUS CloseStatus,
/*IN*/ NDIS_HANDLE ProtocolVcContext,
/*IN*/ PVOID CloseData /*OPTIONAL*/,
/*IN*/ UINT Size /*OPTIONAL*/);
typedef VOID DDKAPI
(*CL_INCOMING_DROP_PARTY_HANDLER)(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -