📄 ndis.h
字号:
CO_CREATE_VC_HANDLER ClCreateVcHandler; CO_DELETE_VC_HANDLER ClDeleteVcHandler; CO_REQUEST_HANDLER ClRequestHandler; CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler; CL_OPEN_AF_COMPLETE_HANDLER ClOpenAfCompleteHandler; CL_CLOSE_AF_COMPLETE_HANDLER ClCloseAfCompleteHandler; CL_REG_SAP_COMPLETE_HANDLER ClRegisterSapCompleteHandler; CL_DEREG_SAP_COMPLETE_HANDLER ClDeregisterSapCompleteHandler; CL_MAKE_CALL_COMPLETE_HANDLER ClMakeCallCompleteHandler; CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler; CL_CLOSE_CALL_COMPLETE_HANDLER ClCloseCallCompleteHandler; CL_ADD_PARTY_COMPLETE_HANDLER ClAddPartyCompleteHandler; CL_DROP_PARTY_COMPLETE_HANDLER ClDropPartyCompleteHandler; CL_INCOMING_CALL_HANDLER ClIncomingCallHandler; CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler; CL_INCOMING_CLOSE_CALL_HANDLER ClIncomingCloseCallHandler; CL_INCOMING_DROP_PARTY_HANDLER ClIncomingDropPartyHandler; CL_CALL_CONNECTED_HANDLER ClCallConnectedHandler;} NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;/* NDIS protocol structures *//* Prototypes for NDIS 3.0 protocol characteristics */typedef VOID DDKAPI(*OPEN_ADAPTER_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_STATUS Status, /*IN*/ NDIS_STATUS OpenErrorStatus);typedef VOID DDKAPI(*CLOSE_ADAPTER_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_STATUS Status);typedef VOID DDKAPI(*RESET_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_STATUS Status);typedef VOID DDKAPI(*REQUEST_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PNDIS_REQUEST NdisRequest, /*IN*/ NDIS_STATUS Status);typedef VOID DDKAPI(*STATUS_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_STATUS GeneralStatus, /*IN*/ PVOID StatusBuffer, /*IN*/ UINT StatusBufferSize);typedef VOID DDKAPI(*STATUS_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext);typedef VOID DDKAPI(*SEND_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PNDIS_PACKET Packet, /*IN*/ NDIS_STATUS Status);typedef VOID DDKAPI(*WAN_SEND_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PNDIS_WAN_PACKET Packet, /*IN*/ NDIS_STATUS Status);typedef VOID DDKAPI(*TRANSFER_DATA_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PNDIS_PACKET Packet, /*IN*/ NDIS_STATUS Status, /*IN*/ UINT BytesTransferred);typedef VOID DDKAPI(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)( VOID);typedef NDIS_STATUS DDKAPI(*RECEIVE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_HANDLE MacReceiveContext, /*IN*/ PVOID HeaderBuffer, /*IN*/ UINT HeaderBufferSize, /*IN*/ PVOID LookAheadBuffer, /*IN*/ UINT LookaheadBufferSize, /*IN*/ UINT PacketSize);typedef NDIS_STATUS DDKAPI(*WAN_RECEIVE_HANDLER)( /*IN*/ NDIS_HANDLE NdisLinkHandle, /*IN*/ PUCHAR Packet, /*IN*/ ULONG PacketSize);typedef VOID DDKAPI(*RECEIVE_COMPLETE_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext);/* Protocol characteristics for NDIS 3.0 protocols */#define NDIS30_PROTOCOL_CHARACTERISTICS_S \ UCHAR MajorNdisVersion; \ UCHAR MinorNdisVersion; \ _ANONYMOUS_UNION union { \ UINT Reserved; \ UINT Flags; \ } DUMMYUNIONNAME; \ OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler; \ CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler; \ _ANONYMOUS_UNION union { \ SEND_COMPLETE_HANDLER SendCompleteHandler; \ WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler; \ } DUMMYUNIONNAME2; \ _ANONYMOUS_UNION union { \ TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \ WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler; \ } DUMMYUNIONNAME3; \ RESET_COMPLETE_HANDLER ResetCompleteHandler; \ REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \ _ANONYMOUS_UNION union { \ RECEIVE_HANDLER ReceiveHandler; \ WAN_RECEIVE_HANDLER WanReceiveHandler; \ } DUMMYUNIONNAME4; \ RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \ STATUS_HANDLER StatusHandler; \ STATUS_COMPLETE_HANDLER StatusCompleteHandler; \ NDIS_STRING Name;typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS { NDIS30_PROTOCOL_CHARACTERISTICS_S} NDIS30_PROTOCOL_CHARACTERISTICS, *PNDIS30_PROTOCOL_CHARACTERISTICS;/* Prototypes for NDIS 4.0 protocol characteristics */typedef INT DDKAPI(*RECEIVE_PACKET_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PNDIS_PACKET Packet);typedef VOID DDKAPI(*BIND_HANDLER)( /*OUT*/ PNDIS_STATUS Status, /*IN*/ NDIS_HANDLE BindContext, /*IN*/ PNDIS_STRING DeviceName, /*IN*/ PVOID SystemSpecific1, /*IN*/ PVOID SystemSpecific2);typedef VOID DDKAPI(*UNBIND_HANDLER)( /*OUT*/ PNDIS_STATUS Status, /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_HANDLE UnbindContext);typedef NDIS_STATUS DDKAPI(*PNP_EVENT_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PNET_PNP_EVENT NetPnPEvent);typedef VOID DDKAPI(*UNLOAD_PROTOCOL_HANDLER)( VOID);/* Protocol characteristics for NDIS 4.0 protocols */#ifdef __cplusplus#define NDIS40_PROTOCOL_CHARACTERISTICS_S \ NDIS30_PROTOCOL_CHARACTERISTICS Ndis30Chars; \ RECEIVE_PACKET_HANDLER ReceivePacketHandler; \ BIND_HANDLER BindAdapterHandler; \ UNBIND_HANDLER UnbindAdapterHandler; \ PNP_EVENT_HANDLER PnPEventHandler; \ UNLOAD_PROTOCOL_HANDLER UnloadHandler; #else /* !__cplusplus */#define NDIS40_PROTOCOL_CHARACTERISTICS_S \ NDIS30_PROTOCOL_CHARACTERISTICS_S \ RECEIVE_PACKET_HANDLER ReceivePacketHandler; \ BIND_HANDLER BindAdapterHandler; \ UNBIND_HANDLER UnbindAdapterHandler; \ PNP_EVENT_HANDLER PnPEventHandler; \ UNLOAD_PROTOCOL_HANDLER UnloadHandler; #endif /* __cplusplus */typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS { NDIS40_PROTOCOL_CHARACTERISTICS_S} NDIS40_PROTOCOL_CHARACTERISTICS, *PNDIS40_PROTOCOL_CHARACTERISTICS;/* Prototypes for NDIS 5.0 protocol characteristics */typedef VOID DDKAPI(*CO_SEND_COMPLETE_HANDLER)( /*IN*/ NDIS_STATUS Status, /*IN*/ NDIS_HANDLE ProtocolVcContext, /*IN*/ PNDIS_PACKET Packet);typedef VOID DDKAPI(*CO_STATUS_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_HANDLE ProtocolVcContext /*OPTIONAL*/, /*IN*/ NDIS_STATUS GeneralStatus, /*IN*/ PVOID StatusBuffer, /*IN*/ UINT StatusBufferSize);typedef UINT DDKAPI(*CO_RECEIVE_PACKET_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ NDIS_HANDLE ProtocolVcContext, /*IN*/ PNDIS_PACKET Packet);typedef VOID DDKAPI(*CO_AF_REGISTER_NOTIFY_HANDLER)( /*IN*/ NDIS_HANDLE ProtocolBindingContext, /*IN*/ PCO_ADDRESS_FAMILY AddressFamily);#ifdef __cplusplus \#define NDIS50_PROTOCOL_CHARACTERISTICS_S \ NDIS40_PROTOCOL_CHARACTERISTICS Ndis40Chars; \ PVOID ReservedHandlers[4]; \ CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler; \ CO_STATUS_HANDLER CoStatusHandler; \ CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler; \ CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;#else /* !__cplusplus */#define NDIS50_PROTOCOL_CHARACTERISTICS_S \ NDIS40_PROTOCOL_CHARACTERISTICS_S \ PVOID ReservedHandlers[4]; \ CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler; \ CO_STATUS_HANDLER CoStatusHandler; \ CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler; \ CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;#endif /* !__cplusplus */typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS { NDIS50_PROTOCOL_CHARACTERISTICS_S} NDIS50_PROTOCOL_CHARACTERISTICS, *PNDIS50_PROTOCOL_CHARACTERISTICS;#if defined(NDIS50) || defined(NDIS51)typedef struct _NDIS_PROTOCOL_CHARACTERISTICS { NDIS50_PROTOCOL_CHARACTERISTICS_S;} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;#elif defined(NDIS40)typedef struct _NDIS_PROTOCOL_CHARACTERISTICS { NDIS40_PROTOCOL_CHARACTERISTICS_S;} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;#elif defined(NDIS30)typedef struct _NDIS_PROTOCOL_CHARACTERISTICS { NDIS30_PROTOCOL_CHARACTERISTICS_S} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;#else#error Define an NDIS version#endif /* NDIS30 *//* Buffer management routines */NDISAPIVOIDDDKAPINdisAllocateBuffer( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_BUFFER *Buffer, /*IN*/ NDIS_HANDLE PoolHandle, /*IN*/ PVOID VirtualAddress, /*IN*/ UINT Length);NDISAPIVOIDDDKAPINdisAllocateBufferPool( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_HANDLE PoolHandle, /*IN*/ UINT NumberOfDescriptors);NDISAPIVOIDDDKAPINdisAllocatePacket( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_PACKET *Packet, /*IN*/ NDIS_HANDLE PoolHandle);NDISAPIVOIDDDKAPINdisAllocatePacketPool( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_HANDLE PoolHandle, /*IN*/ UINT NumberOfDescriptors, /*IN*/ UINT ProtocolReservedLength);NDISAPIVOIDDDKAPINdisCopyBuffer( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_BUFFER *Buffer, /*IN*/ NDIS_HANDLE PoolHandle, /*IN*/ PVOID MemoryDescriptor, /*IN*/ UINT Offset, /*IN*/ UINT Length);NDISAPIVOIDDDKAPINdisCopyFromPacketToPacket( /*IN*/ PNDIS_PACKET Destination, /*IN*/ UINT DestinationOffset, /*IN*/ UINT BytesToCopy, /*IN*/ PNDIS_PACKET Source, /*IN*/ UINT SourceOffset, /*OUT*/ PUINT BytesCopied);NDISAPIVOIDDDKAPINdisDprAllocatePacket( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_PACKET *Packet, /*IN*/ NDIS_HANDLE PoolHandle);NDISAPIVOIDDDKAPINdisDprAllocatePacketNonInterlocked( /*OUT*/ PNDIS_STATUS Status, /*OUT*/ PNDIS_PACKET *Packet, /*IN*/ NDIS_HANDLE PoolHandle);NDISAPIVOIDDDKAPINdisDprFreePacket( /*IN*/ PNDIS_PACKET Packet);NDISAPIVOIDDDKAPINdisDprFreePacketNonInterlocked( /*IN*/ PNDIS_PACKET Packet);NDISAPIVOIDDDKAPINdisFreeBufferPool( /*IN*/ NDIS_HANDLE PoolHandle);NDISAPIVOIDDDKAPINdisFreePacket( /*IN*/ PNDIS_PACKET Packet);NDISAPIVOIDDDKAPINdisFreePacketPool( /*IN*/ NDIS_HANDLE PoolHandle);NDISAPIVOIDDDKAPINdisReturnPackets( /*IN*/ PNDIS_PACKET *PacketsToReturn, /*IN*/ UINT NumberOfPackets);NDISAPIVOIDDDKAPINdisUnchainBufferAtBack( /*IN OUT*/ PNDIS_PACKET Packet, /*OUT*/ PNDIS_BUFFER *Buffer);NDISAPIVOIDDDKAPINdisUnchainBufferAtFront( /*IN OUT*/ PNDIS_PACKET Packet, /*OUT*/ PNDIS_BUFFER *Buffer);NDISAPIVOIDDDKAPINdisAdjustBufferLength( /*IN*/ PNDIS_BUFFER Buffer, /*IN*/ UINT Length);NDISAPIULONGDDKAPINdisBufferLength( /*IN*/ PNDIS_BUFFER Buffer);NDISAPIPVOIDDDKAPINdisBufferVirtualAddress( /*IN*/ PNDIS_BUFFER Buffer);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -