[DDK/NDIS]
[reactos.git] / reactos / include / ddk / ndis.h
index 023b103..b7dbff2 100644 (file)
 #ifndef __NDIS_H
 #define __NDIS_H
 
+#ifndef NDIS_WDM
+#define NDIS_WDM 0
+#endif
+
+/* Helper macro to enable gcc's extension.  */
+#ifndef __GNU_EXTENSION
+#ifdef __GNUC__
+#define __GNU_EXTENSION __extension__
+#else
+#define __GNU_EXTENSION
+#endif
+#endif
+
 #include "ntddk.h"
-#include "ntddndis.h"
 #include "netpnp.h"
+#include "ntstatus.h"
 #include "netevent.h"
 #include <qos.h>
 
+typedef int NDIS_STATUS, *PNDIS_STATUS;
+
+#include "ntddndis.h"
+
 #if !defined(_WINDEF_H)
 typedef unsigned int UINT, *PUINT;
 #endif
@@ -46,6 +63,194 @@ typedef unsigned int UINT, *PUINT;
 extern "C" {
 #endif
 
+#ifndef __NET_PNP__
+#define __NET_PNP__
+
+typedef enum _NET_DEVICE_POWER_STATE {
+  NetDeviceStateUnspecified = 0,
+  NetDeviceStateD0,
+  NetDeviceStateD1,
+  NetDeviceStateD2,
+  NetDeviceStateD3,
+  NetDeviceStateMaximum
+} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
+
+typedef enum _NET_PNP_EVENT_CODE {
+  NetEventSetPower,
+  NetEventQueryPower,
+  NetEventQueryRemoveDevice,
+  NetEventCancelRemoveDevice,
+  NetEventReconfigure,
+  NetEventBindList,
+  NetEventBindsComplete,
+  NetEventPnPCapabilities,
+  NetEventPause,
+  NetEventRestart,
+  NetEventPortActivation,
+  NetEventPortDeactivation,
+  NetEventIMReEnableDevice,
+  NetEventMaximum
+} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
+
+typedef struct _NET_PNP_EVENT {
+  NET_PNP_EVENT_CODE NetEvent;
+  PVOID Buffer;
+  ULONG BufferLength;
+  ULONG_PTR NdisReserved[4];
+  ULONG_PTR TransportReserved[4];
+  ULONG_PTR TdiReserved[4];
+  ULONG_PTR TdiClientReserved[4];
+} NET_PNP_EVENT, *PNET_PNP_EVENT;
+
+#endif /* __NET_PNP__ */
+
+#if !defined(NDIS_WRAPPER)
+
+#if (defined(NDIS_MINIPORT_MAJOR_VERSION) ||  \
+    (defined(NDIS_MINIPORT_MINOR_VERSION)) || \
+    (defined(NDIS_PROTOCOL_MAJOR_VERSION)) || \
+    (defined(NDIS_PROTOCOL_MINOR_VERSION)) || \
+    (defined(NDIS_FILTER_MAJOR_VERSION)) ||   \
+    (defined(NDIS_FILTER_MINOR_VERSION)))
+#error "Driver should not redefine NDIS reserved macros"
+#endif
+
+#if defined(NDIS_MINIPORT_DRIVER)
+
+#if defined(NDIS620_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 6
+#define NDIS_MINIPORT_MINOR_VERSION 20
+#elif defined(NDIS61_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 6
+#define NDIS_MINIPORT_MINOR_VERSION 1
+#elif defined(NDIS60_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 6
+#define NDIS_MINIPORT_MINOR_VERSION 0
+#elif defined(NDIS51_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 5
+#define NDIS_MINIPORT_MINOR_VERSION 1
+#elif defined(NDIS50_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 5
+#define NDIS_MINIPORT_MINOR_VERSION 0
+#else
+#error "Only NDIS miniport drivers with version >= 5 are supported"
+#endif
+
+#if ((NDIS_MINIPORT_MAJOR_VERSION == 6) &&    \
+       (NDIS_MINIPORT_MINOR_VERSION != 20) && \
+       (NDIS_MINIPORT_MINOR_VERSION != 1) &&  \
+       (NDIS_MINIPORT_MINOR_VERSION != 0))
+#error "Invalid miniport major/minor version combination"
+#elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) &&  \
+       (NDIS_MINIPORT_MINOR_VERSION != 1) &&  \
+       (NDIS_MINIPORT_MINOR_VERSION != 0))
+#error "Invalid miniport major/minor version combination"
+#endif
+
+#if  (NDIS_MINIPORT_MAJOR_VERSION == 6) && \
+     ((NDIS_MINIPORT_MINOR_VERSION == 20 && NTDDI_VERSION < NTDDI_WIN7)  || \
+      (NDIS_MINIPORT_MINOR_VERSION == 1 && NTDDI_VERSION < NTDDI_VISTA) || \
+      (NDIS_MINIPORT_MINOR_VERSION == 0 && NTDDI_VERSION < NTDDI_VISTA))
+#error "Wrong NDIS/DDI version"
+#elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
+       (((NDIS_MINIPORT_MINOR_VERSION == 1) && (NTDDI_VERSION < NTDDI_WINXP)) || \
+         ((NDIS_MINIPORT_MINOR_VERSION == 0) && (NTDDI_VERSION < NTDDI_WIN2K))))
+#error "Wrong NDIS/DDI version"
+#endif
+
+
+#endif /* defined(NDIS_MINIPORT_DRIVER) */
+
+#if defined(NDIS30)
+#error "Only NDIS Protocol drivers version 4 or later are supported"
+#endif
+
+#if defined(NDIS620)
+#define NDIS_PROTOCOL_MAJOR_VERSION 6
+#define NDIS_PROTOCOL_MINOR_VERSION 20
+#define NDIS_FILTER_MAJOR_VERSION 6
+#define NDIS_FILTER_MINOR_VERSION 20
+#elif defined(NDIS61)
+#define NDIS_PROTOCOL_MAJOR_VERSION 6
+#define NDIS_PROTOCOL_MINOR_VERSION 1
+#define NDIS_FILTER_MAJOR_VERSION 6
+#define NDIS_FILTER_MINOR_VERSION 1
+#elif defined(NDIS60)
+#define NDIS_PROTOCOL_MAJOR_VERSION 6
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#define NDIS_FILTER_MAJOR_VERSION 6
+#define NDIS_FILTER_MINOR_VERSION 0
+#elif defined(NDIS51)
+#define NDIS_PROTOCOL_MAJOR_VERSION 5
+#define NDIS_PROTOCOL_MINOR_VERSION 1
+#elif defined(NDIS50)
+#define NDIS_PROTOCOL_MAJOR_VERSION 5
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#elif defined(NDIS40)
+#define NDIS_PROTOCOL_MAJOR_VERSION 4
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#endif
+
+#if !defined(NDIS_MINIPORT_DRIVER) && !defined(NDIS_PROTOCOL_MAJOR_VERSION)
+#define NDIS40
+#define NDIS_PROTOCOL_MAJOR_VERSION 4
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#endif
+
+#if defined(NDIS_FILTER_MAJOR_VERSION)
+
+#if ((NDIS_FILTER_MAJOR_VERSION == 6) &&  \
+     (NDIS_FILTER_MINOR_VERSION != 20) && \
+     (NDIS_FILTER_MINOR_VERSION != 1) &&  \
+     (NDIS_FILTER_MINOR_VERSION != 0))
+#error "Invalid Filter version"
+#endif
+
+#endif /* defined(NDIS_FILTER_MAJOR_VERSION) */
+
+
+#if defined(NDIS_PROTOCOL_MAJOR_VERSION)
+
+#if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) &&  \
+     (NDIS_PROTOCOL_MINOR_VERSION != 20) && \
+     (NDIS_PROTOCOL_MINOR_VERSION != 1) &&  \
+     (NDIS_PROTOCOL_MINOR_VERSION != 0))
+#error "Invalid Protocol version"
+#elif ((NDIS_PROTOCOL_MAJOR_VERSION == 5) && \
+     (NDIS_PROTOCOL_MINOR_VERSION != 1) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
+#error "Invalid Protocol version"
+#elif ((NDIS_PROTOCOL_MAJOR_VERSION == 4) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
+#error "Invalid Protocol major/minor version"
+#endif
+
+#if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && (NTDDI_VERSION < NTDDI_VISTA))
+#error "Wrong NDIS/DDI version"
+#endif
+
+#endif /* defined(NDIS_PROTOCOL_MAJOR_VERSION) */
+
+#endif /* !defined(NDIS_WRAPPER) */
+
+#if !defined(NDIS_LEGACY_MINIPORT)
+
+#if ((defined(NDIS_MINIPORT_DRIVER) && (NDIS_MINIPORT_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
+#define NDIS_LEGACY_MINIPORT    1
+#else
+#define NDIS_LEGACY_MINIPORT    0
+#endif
+
+#endif /* !defined(NDIS_LEGACY_MINIPORT) */
+
+#if !defined(NDIS_LEGACY_PROTOCOL)
+
+#if ((defined(NDIS_PROTOCOL_MAJOR_VERSION) && (NDIS_PROTOCOL_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
+#define NDIS_LEGACY_PROTOCOL    1
+#else
+#define NDIS_LEGACY_PROTOCOL    0
+#endif
+
+#endif /* !defined(NDIS_LEGACY_PROTOCOL) */
+
 #if defined(NDIS_WRAPPER)
   #define NDISAPI
 #else
@@ -102,7 +307,6 @@ typedef struct _NDIS_EVENT {
 } NDIS_EVENT, *PNDIS_EVENT;
 
 typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
-typedef int NDIS_STATUS, *PNDIS_STATUS;
 
 typedef ANSI_STRING NDIS_ANSI_STRING, *PNDIS_ANSI_STRING;
 typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
@@ -238,8 +442,8 @@ typedef union _NDIS_RW_LOCK_REFCOUNT {
 } NDIS_RW_LOCK_REFCOUNT;
 
 typedef struct _NDIS_RW_LOCK {
-  union {
-    struct {
+  __GNU_EXTENSION union {
+    __GNU_EXTENSION struct {
       KSPIN_LOCK  SpinLock;
       PVOID  Context;
     };
@@ -259,7 +463,7 @@ typedef struct _LOCK_STATE {
 /* Timer */
 
 typedef VOID
-(DDKAPI *PNDIS_TIMER_FUNCTION)(
+(NTAPI *PNDIS_TIMER_FUNCTION)(
        IN PVOID  SystemSpecific1,
        IN PVOID  FunctionContext,
        IN PVOID  SystemSpecific2,
@@ -270,8 +474,6 @@ typedef struct _NDIS_TIMER {
   KDPC  Dpc;
 } NDIS_TIMER, *PNDIS_TIMER;
 
-
-
 /* Hardware */
 
 typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
@@ -379,22 +581,22 @@ typedef struct _NDIS_PACKET_PRIVATE {
 } NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE;
 
 typedef struct _NDIS_PACKET {
-  NDIS_PACKET_PRIVATE  Private;
-  union {
-    struct {
-      UCHAR  MiniportReserved[2 * sizeof(PVOID)];
-      UCHAR  WrapperReserved[2 * sizeof(PVOID)];
-    };
-    struct {
-      UCHAR  MiniportReservedEx[3 * sizeof(PVOID)];
-      UCHAR  WrapperReservedEx[sizeof(PVOID)];
-    };
-    struct {
-      UCHAR  MacReserved[4 * sizeof(PVOID)];
-    };
-  };
-  ULONG_PTR  Reserved[2];
-  UCHAR  ProtocolReserved[1];
+  NDIS_PACKET_PRIVATE Private;
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
+      UCHAR MiniportReserved[2 * sizeof(PVOID)];
+      UCHAR WrapperReserved[2 * sizeof(PVOID)];
+    } DUMMYSTRUCTNAME;
+    _ANONYMOUS_STRUCT struct {
+      UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
+      UCHAR WrapperReservedEx[sizeof(PVOID)];
+    } DUMMYSTRUCTNAME;
+    _ANONYMOUS_STRUCT struct {
+      UCHAR MacReserved[4 * sizeof(PVOID)];
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
+  ULONG_PTR Reserved[2];
+  UCHAR ProtocolReserved[1];
 } NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
 
 typedef enum _NDIS_CLASS_ID {
@@ -474,7 +676,7 @@ typedef struct _NDIS_REQUEST {
  } DATA;
 #if (defined(NDIS50) || defined(NDIS51))
   UCHAR  NdisReserved[9 * sizeof(PVOID)];
-  union {
+  __GNU_EXTENSION union {
     UCHAR  CallMgrReserved[2 * sizeof(PVOID)];
     UCHAR  ProtocolReserved[2 * sizeof(PVOID)];
   };
@@ -617,16 +819,16 @@ typedef struct _NDIS_WAN_LINE_UP {
 
 
 typedef VOID
-(DDKAPI *ADAPTER_SHUTDOWN_HANDLER)(
+(NTAPI *ADAPTER_SHUTDOWN_HANDLER)(
   IN PVOID  ShutdownContext);
 
 typedef NTSTATUS
-(DDKAPI *TDI_REGISTER_CALLBACK)(
+(NTAPI *TDI_REGISTER_CALLBACK)(
     IN  PUNICODE_STRING         DeviceName,
     OUT HANDLE*                 TdiHandle);
 
 typedef NTSTATUS
-(DDKAPI *TDI_PNP_HANDLER)(
+(NTAPI *TDI_PNP_HANDLER)(
     IN  PUNICODE_STRING         UpperComponent,
     IN  PUNICODE_STRING         LowerComponent,
     IN  PUNICODE_STRING         BindList,
@@ -680,14 +882,12 @@ typedef struct _NETWORK_ADDRESS_LIST {
 #define        NDIS_PROTOCOL_ID_MAX            0x0F
 #define        NDIS_PROTOCOL_ID_MASK           0x0F
 
-
 /* OID_GEN_TRANSPORT_HEADER_OFFSET */
 typedef struct _TRANSPORT_HEADER_OFFSET {
        USHORT  ProtocolType;
        USHORT  HeaderOffset;
 } TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
 
-
 /* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
 typedef struct _NDIS_CO_LINK_SPEED {
   ULONG  Outbound;
@@ -695,6 +895,7 @@ typedef struct _NDIS_CO_LINK_SPEED {
 } NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
 
 typedef ULONG NDIS_AF, *PNDIS_AF;
+
 #define CO_ADDRESS_FAMILY_Q2931           ((NDIS_AF)0x1)
 #define CO_ADDRESS_FAMILY_PSCHED          ((NDIS_AF)0x2)
 #define CO_ADDRESS_FAMILY_L2TP            ((NDIS_AF)0x3)
@@ -927,18 +1128,6 @@ typedef struct _NDIS_TASK_IPSEC {
   } 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,
@@ -957,15 +1146,26 @@ typedef struct _NDIS_ENCAPSULATION_FORMAT {
   ULONG  EncapsulationHeaderSize;
 } NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
 
-typedef struct _NDIS_TASK_OFFLOAD_HEADER
-{
-    ULONG       Version;
-    ULONG       Size;
-    ULONG       Reserved;
-    ULONG       OffsetFirstTask;
-    NDIS_ENCAPSULATION_FORMAT  EncapsulationFormat;
+typedef struct _NDIS_TASK_OFFLOAD_HEADER {
+  ULONG Version;
+  ULONG Size;
+  ULONG Reserved;
+  ULONG OffsetFirstTask;
+  NDIS_ENCAPSULATION_FORMAT  EncapsulationFormat;
 } NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER;
 
+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 struct _NDIS_TASK_TCP_IP_CHECKSUM {
   struct {
     ULONG  IpOptionsSupported:1;
@@ -1048,88 +1248,88 @@ typedef struct _WAN_CO_LINKPARAMS {
 /* Call Manager */
 
 typedef VOID
-(DDKAPI *CM_ACTIVATE_VC_COMPLETE_HANDLER)(
+(NTAPI *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)(
+(NTAPI *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)(
+(NTAPI *CM_CLOSE_AF_HANDLER)(
   IN NDIS_HANDLE  CallMgrAfContext);
 
 typedef NDIS_STATUS
-(DDKAPI *CM_CLOSE_CALL_HANDLER)(
+(NTAPI *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)(
+(NTAPI *CM_DEREG_SAP_HANDLER)(
   IN NDIS_HANDLE  CallMgrSapContext);
 
 typedef VOID
-(DDKAPI *CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
+(NTAPI *CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
        IN NDIS_STATUS  Status,
        IN NDIS_HANDLE  CallMgrVcContext);
 
 typedef NDIS_STATUS
-(DDKAPI *CM_DROP_PARTY_HANDLER)(
+(NTAPI *CM_DROP_PARTY_HANDLER)(
   IN NDIS_HANDLE  CallMgrPartyContext,
   IN PVOID  CloseData  OPTIONAL,
   IN UINT  Size  OPTIONAL);
 
 typedef VOID
-(DDKAPI *CM_INCOMING_CALL_COMPLETE_HANDLER)(
+(NTAPI *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)(
+(NTAPI *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)(
+(NTAPI *CM_MODIFY_CALL_QOS_HANDLER)(
   IN NDIS_HANDLE  CallMgrVcContext,
   IN PCO_CALL_PARAMETERS  CallParameters);
 
 typedef NDIS_STATUS
-(DDKAPI *CM_OPEN_AF_HANDLER)(
+(NTAPI *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)(
+(NTAPI *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)(
+(NTAPI *CO_CREATE_VC_HANDLER)(
   IN NDIS_HANDLE  ProtocolAfContext,
   IN NDIS_HANDLE  NdisVcHandle,
   OUT PNDIS_HANDLE  ProtocolVcContext);
 
 typedef NDIS_STATUS
-(DDKAPI *CO_DELETE_VC_HANDLER)(
+(NTAPI *CO_DELETE_VC_HANDLER)(
   IN NDIS_HANDLE  ProtocolVcContext);
 
 typedef VOID
-(DDKAPI *CO_REQUEST_COMPLETE_HANDLER)(
+(NTAPI *CO_REQUEST_COMPLETE_HANDLER)(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  ProtocolAfContext  OPTIONAL,
   IN NDIS_HANDLE  ProtocolVcContext  OPTIONAL,
@@ -1137,7 +1337,7 @@ typedef VOID
   IN PNDIS_REQUEST  NdisRequest);
 
 typedef NDIS_STATUS
-(DDKAPI *CO_REQUEST_HANDLER)(
+(NTAPI *CO_REQUEST_HANDLER)(
   IN NDIS_HANDLE  ProtocolAfContext,
   IN NDIS_HANDLE  ProtocolVcContext  OPTIONAL,
   IN NDIS_HANDLE       ProtocolPartyContext  OPTIONAL,
@@ -1176,80 +1376,80 @@ typedef VOID (*CL_OPEN_AF_COMPLETE_HANDLER)(
   IN NDIS_HANDLE NdisAfHandle);
 
 typedef VOID
-(DDKAPI *CL_CLOSE_AF_COMPLETE_HANDLER)(
+(NTAPI *CL_CLOSE_AF_COMPLETE_HANDLER)(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  ProtocolAfContext);
 
 typedef VOID
-(DDKAPI *CL_REG_SAP_COMPLETE_HANDLER)(
+(NTAPI *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)(
+(NTAPI *CL_DEREG_SAP_COMPLETE_HANDLER)(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  ProtocolSapContext);
 
 typedef VOID
-(DDKAPI *CL_MAKE_CALL_COMPLETE_HANDLER)(
+(NTAPI *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)(
+(NTAPI *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)(
+(NTAPI *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)(
+(NTAPI *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)(
+(NTAPI *CL_DROP_PARTY_COMPLETE_HANDLER)(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  ProtocolPartyContext);
 
 typedef NDIS_STATUS
-(DDKAPI *CL_INCOMING_CALL_HANDLER)(
+(NTAPI *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)(
+(NTAPI *CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
   IN NDIS_HANDLE  ProtocolVcContext,
   IN PCO_CALL_PARAMETERS  CallParameters);
 
 typedef VOID
-(DDKAPI *CL_INCOMING_CLOSE_CALL_HANDLER)(
+(NTAPI *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)(
+(NTAPI *CL_INCOMING_DROP_PARTY_HANDLER)(
   IN NDIS_STATUS  DropStatus,
   IN NDIS_HANDLE  ProtocolPartyContext,
   IN PVOID  CloseData  OPTIONAL,
   IN UINT  Size  OPTIONAL);
 
 typedef VOID
-(DDKAPI *CL_CALL_CONNECTED_HANDLER)(
+(NTAPI *CL_CALL_CONNECTED_HANDLER)(
   IN NDIS_HANDLE  ProtocolVcContext);
 
 
@@ -1284,64 +1484,64 @@ typedef struct _NDIS_CLIENT_CHARACTERISTICS {
 /* Prototypes for NDIS 3.0 protocol characteristics */
 
 typedef VOID
-(DDKAPI *OPEN_ADAPTER_COMPLETE_HANDLER)(
+(NTAPI *OPEN_ADAPTER_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_STATUS  Status,
   IN NDIS_STATUS  OpenErrorStatus);
 
 typedef VOID
-(DDKAPI *CLOSE_ADAPTER_COMPLETE_HANDLER)(
+(NTAPI *CLOSE_ADAPTER_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *RESET_COMPLETE_HANDLER)(
+(NTAPI *RESET_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *REQUEST_COMPLETE_HANDLER)(
+(NTAPI *REQUEST_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN PNDIS_REQUEST  NdisRequest,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *STATUS_HANDLER)(
+(NTAPI *STATUS_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_STATUS  GeneralStatus,
   IN PVOID  StatusBuffer,
   IN UINT  StatusBufferSize);
 
 typedef VOID
-(DDKAPI *STATUS_COMPLETE_HANDLER)(
+(NTAPI *STATUS_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext);
 
 typedef VOID
-(DDKAPI *SEND_COMPLETE_HANDLER)(
+(NTAPI *SEND_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN PNDIS_PACKET  Packet,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *WAN_SEND_COMPLETE_HANDLER)(
+(NTAPI *WAN_SEND_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN PNDIS_WAN_PACKET  Packet,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *TRANSFER_DATA_COMPLETE_HANDLER)(
+(NTAPI *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)(
+(NTAPI *WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
     VOID);
 
 
 typedef NDIS_STATUS
-(DDKAPI *RECEIVE_HANDLER)(
+(NTAPI *RECEIVE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_HANDLE  MacReceiveContext,
   IN PVOID  HeaderBuffer,
@@ -1351,13 +1551,13 @@ typedef NDIS_STATUS
   IN UINT  PacketSize);
 
 typedef NDIS_STATUS
-(DDKAPI *WAN_RECEIVE_HANDLER)(
+(NTAPI *WAN_RECEIVE_HANDLER)(
   IN NDIS_HANDLE  NdisLinkHandle,
   IN PUCHAR  Packet,
   IN ULONG  PacketSize);
 
 typedef VOID
-(DDKAPI *RECEIVE_COMPLETE_HANDLER)(
+(NTAPI *RECEIVE_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext);
 
 
@@ -1400,12 +1600,12 @@ typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
 /* Prototypes for NDIS 4.0 protocol characteristics */
 
 typedef INT
-(DDKAPI *RECEIVE_PACKET_HANDLER)(
+(NTAPI *RECEIVE_PACKET_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN PNDIS_PACKET  Packet);
 
 typedef VOID
-(DDKAPI *BIND_HANDLER)(
+(NTAPI *BIND_HANDLER)(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  BindContext,
   IN PNDIS_STRING  DeviceName,
@@ -1413,18 +1613,18 @@ typedef VOID
   IN PVOID  SystemSpecific2);
 
 typedef VOID
-(DDKAPI *UNBIND_HANDLER)(
+(NTAPI *UNBIND_HANDLER)(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_HANDLE  UnbindContext);
 
 typedef NDIS_STATUS
-(DDKAPI *PNP_EVENT_HANDLER)(
+(NTAPI *PNP_EVENT_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN PNET_PNP_EVENT  NetPnPEvent);
 
 typedef VOID
-(DDKAPI *UNLOAD_PROTOCOL_HANDLER)(
+(NTAPI *UNLOAD_PROTOCOL_HANDLER)(
   VOID);
 
 
@@ -1459,13 +1659,13 @@ typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
 /* Prototypes for NDIS 5.0 protocol characteristics */
 
 typedef VOID
-(DDKAPI *CO_SEND_COMPLETE_HANDLER)(
+(NTAPI *CO_SEND_COMPLETE_HANDLER)(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  ProtocolVcContext,
   IN PNDIS_PACKET  Packet);
 
 typedef VOID
-(DDKAPI *CO_STATUS_HANDLER)(
+(NTAPI *CO_STATUS_HANDLER)(
        IN NDIS_HANDLE  ProtocolBindingContext,
        IN NDIS_HANDLE  ProtocolVcContext  OPTIONAL,
        IN NDIS_STATUS  GeneralStatus,
@@ -1473,13 +1673,13 @@ typedef VOID
        IN UINT  StatusBufferSize);
 
 typedef UINT
-(DDKAPI *CO_RECEIVE_PACKET_HANDLER)(
+(NTAPI *CO_RECEIVE_PACKET_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN NDIS_HANDLE  ProtocolVcContext,
   IN PNDIS_PACKET  Packet);
 
 typedef VOID
-(DDKAPI *CO_AF_REGISTER_NOTIFY_HANDLER)(
+(NTAPI *CO_AF_REGISTER_NOTIFY_HANDLER)(
   IN NDIS_HANDLE  ProtocolBindingContext,
   IN PCO_ADDRESS_FAMILY  AddressFamily);
 
@@ -1529,7 +1729,7 @@ typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAllocateBuffer(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_BUFFER  *Buffer,
@@ -1540,7 +1740,7 @@ NdisAllocateBuffer(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAllocateBufferPool(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_HANDLE  PoolHandle,
@@ -1548,7 +1748,7 @@ NdisAllocateBufferPool(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAllocatePacket(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_PACKET  *Packet,
@@ -1556,16 +1756,18 @@ NdisAllocatePacket(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAllocatePacketPool(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_HANDLE  PoolHandle,
   IN UINT  NumberOfDescriptors,
   IN UINT  ProtocolReservedLength);
 
+#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
+
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCopyBuffer(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_BUFFER  *Buffer,
@@ -1576,7 +1778,7 @@ NdisCopyBuffer(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCopyFromPacketToPacket(
   IN PNDIS_PACKET  Destination,
   IN UINT  DestinationOffset,
@@ -1617,7 +1819,7 @@ NdisCopyFromPacketToPacket(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDprAllocatePacket(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_PACKET  *Packet,
@@ -1625,7 +1827,7 @@ NdisDprAllocatePacket(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDprAllocatePacketNonInterlocked(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_PACKET  *Packet,
@@ -1633,96 +1835,96 @@ NdisDprAllocatePacketNonInterlocked(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDprFreePacket(
   IN PNDIS_PACKET  Packet);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDprFreePacketNonInterlocked(
   IN PNDIS_PACKET  Packet);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreeBufferPool(
   IN NDIS_HANDLE  PoolHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreePacket(
   IN PNDIS_PACKET  Packet);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreePacketPool(
   IN NDIS_HANDLE  PoolHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReturnPackets(
   IN PNDIS_PACKET  *PacketsToReturn,
   IN UINT  NumberOfPackets);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisUnchainBufferAtBack(
   IN OUT PNDIS_PACKET  Packet,
   OUT PNDIS_BUFFER  *Buffer);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisUnchainBufferAtFront(
   IN OUT PNDIS_PACKET  Packet,
   OUT PNDIS_BUFFER  *Buffer);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAdjustBufferLength(
   IN PNDIS_BUFFER  Buffer,
   IN UINT  Length);
 
 NDISAPI
 ULONG
-DDKAPI
+NTAPI
 NdisBufferLength(
   IN PNDIS_BUFFER  Buffer);
 
 NDISAPI
 PVOID
-DDKAPI
+NTAPI
 NdisBufferVirtualAddress(
   IN PNDIS_BUFFER  Buffer);
 
 NDISAPI
 ULONG
-DDKAPI
+NTAPI
 NDIS_BUFFER_TO_SPAN_PAGES(
   IN PNDIS_BUFFER  Buffer);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreeBuffer(
   IN PNDIS_BUFFER  Buffer);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetBufferPhysicalArraySize(
   IN PNDIS_BUFFER  Buffer,
   OUT PUINT  ArraySize);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetFirstBufferFromPacket(
   IN PNDIS_PACKET  _Packet,
   OUT PNDIS_BUFFER  *_FirstBuffer,
@@ -1730,9 +1932,49 @@ NdisGetFirstBufferFromPacket(
   OUT PUINT  _FirstBufferLength,
   OUT PUINT  _TotalBufferLength);
 
+/*
+ * VOID
+ * NdisGetFirstBufferFromPacketSafe(
+ * IN PNDIS_PACKET  _Packet,
+ * OUT PNDIS_BUFFER  * _FirstBuffer,
+ * OUT PVOID  * _FirstBufferVA,
+ * OUT PUINT  _FirstBufferLength,
+ * OUT PUINT  _TotalBufferLength),
+ * IN MM_PAGE_PRIORITY _Priority)
+ */
+#define NdisGetFirstBufferFromPacketSafe(_Packet,         \
+                                     _FirstBuffer,        \
+                                     _FirstBufferVA,      \
+                                     _FirstBufferLength,  \
+                                     _TotalBufferLength,  \
+                                     _Priority)           \
+{                                                         \
+  PNDIS_BUFFER _Buffer;                                   \
+                                                          \
+  _Buffer         = (_Packet)->Private.Head;              \
+  *(_FirstBuffer) = _Buffer;                              \
+  if (_Buffer != NULL)                                    \
+    {                                                     \
+            *(_FirstBufferVA)     = MmGetSystemAddressForMdlSafe(_Buffer, _Priority);  \
+            *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer);         \
+            _Buffer = _Buffer->Next;                                    \
+                  *(_TotalBufferLength) = *(_FirstBufferLength);              \
+                  while (_Buffer != NULL) {                                   \
+                    *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer);      \
+                    _Buffer = _Buffer->Next;                                  \
+                  }                                                           \
+    }                             \
+  else                            \
+    {                             \
+      *(_FirstBufferVA) = 0;      \
+      *(_FirstBufferLength) = 0;  \
+      *(_TotalBufferLength) = 0;  \
+    } \
+}
+
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisQueryBuffer(
   IN PNDIS_BUFFER  Buffer,
   OUT PVOID  *VirtualAddress OPTIONAL,
@@ -1740,7 +1982,7 @@ NdisQueryBuffer(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisQueryBufferOffset(
   IN PNDIS_BUFFER  Buffer,
   OUT PUINT  Offset,
@@ -2143,7 +2385,7 @@ NdisQueryPacketLength(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCreateLookaheadBufferFromSharedMemory(
   IN PVOID  pSharedMemory,
   IN UINT  LookaheadLength,
@@ -2151,7 +2393,7 @@ NdisCreateLookaheadBufferFromSharedMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDestroyLookaheadBufferFromSharedMemory(
   IN PVOID  pLookaheadBuffer);
 
@@ -2227,7 +2469,7 @@ NdisDestroyLookaheadBufferFromSharedMemory(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisAllocateMemory(
   OUT  PVOID  *VirtualAddress,
   IN UINT  Length,
@@ -2236,7 +2478,7 @@ NdisAllocateMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreeMemory(
   IN PVOID  VirtualAddress,
   IN UINT  Length,
@@ -2244,7 +2486,7 @@ NdisFreeMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisImmediateReadSharedMemory(
   IN NDIS_HANDLE WrapperConfigurationContext,
   IN ULONG       SharedMemoryAddress,
@@ -2253,7 +2495,7 @@ NdisImmediateReadSharedMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisImmediateWriteSharedMemory(
   IN NDIS_HANDLE WrapperConfigurationContext,
   IN ULONG       SharedMemoryAddress,
@@ -2262,7 +2504,7 @@ NdisImmediateWriteSharedMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMAllocateSharedMemory(
   IN   NDIS_HANDLE  MiniportAdapterHandle,
   IN   ULONG  Length,
@@ -2272,7 +2514,7 @@ NdisMAllocateSharedMemory(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMAllocateSharedMemoryAsync(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN ULONG  Length,
@@ -2290,7 +2532,7 @@ NdisMAllocateSharedMemoryAsync(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisUpdateSharedMemory(
   IN NDIS_HANDLE             NdisAdapterHandle,
   IN ULONG                   Length,
@@ -2404,7 +2646,7 @@ NdisUpdateSharedMemory(
   RtlZeroMemory(Destination, Length)
 
 typedef VOID
-(DDKAPI *NDIS_BLOCK_INITIALIZER) (
+(NTAPI *NDIS_BLOCK_INITIALIZER) (
     IN  PUCHAR  Block,
     IN  SIZE_T  NumberOfBytes
     );
@@ -2413,7 +2655,7 @@ typedef VOID
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisOpenConfiguration(
   OUT  PNDIS_STATUS  Status,
   OUT  PNDIS_HANDLE  ConfigurationHandle,
@@ -2421,7 +2663,7 @@ NdisOpenConfiguration(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReadNetworkAddress(
   OUT PNDIS_STATUS  Status,
   OUT PVOID  *NetworkAddress,
@@ -2430,7 +2672,7 @@ NdisReadNetworkAddress(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReadEisaSlotInformation(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  WrapperConfigurationContext,
@@ -2439,7 +2681,7 @@ NdisReadEisaSlotInformation(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReadEisaSlotInformationEx(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  WrapperConfigurationContext,
@@ -2449,7 +2691,7 @@ NdisReadEisaSlotInformationEx(
 
 NDISAPI
 ULONG
-DDKAPI
+NTAPI
 NdisReadPciSlotInformation(
   IN NDIS_HANDLE  NdisAdapterHandle,
   IN ULONG  SlotNumber,
@@ -2459,7 +2701,7 @@ NdisReadPciSlotInformation(
 
 NDISAPI
 ULONG
-DDKAPI
+NTAPI
 NdisWritePciSlotInformation(
   IN NDIS_HANDLE  NdisAdapterHandle,
   IN ULONG  SlotNumber,
@@ -2473,7 +2715,7 @@ NdisWritePciSlotInformation(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisAnsiStringToUnicodeString(
   IN OUT PNDIS_STRING  DestinationString,
   IN PNDIS_ANSI_STRING  SourceString);
@@ -2490,21 +2732,21 @@ NdisAnsiStringToUnicodeString(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisInitAnsiString(
   IN OUT PNDIS_ANSI_STRING  DestinationString,
   IN PCSTR  SourceString);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisInitUnicodeString(
   IN OUT PNDIS_STRING  DestinationString,
   IN PCWSTR  SourceString);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisUnicodeStringToAnsiString(
   IN OUT PNDIS_ANSI_STRING  DestinationString,
   IN PNDIS_STRING  SourceString);
@@ -2517,37 +2759,37 @@ NdisUnicodeStringToAnsiString(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAllocateSpinLock(
   IN PNDIS_SPIN_LOCK  SpinLock);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreeSpinLock(
   IN PNDIS_SPIN_LOCK  SpinLock);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAcquireSpinLock(
   IN PNDIS_SPIN_LOCK  SpinLock);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReleaseSpinLock(
   IN PNDIS_SPIN_LOCK  SpinLock);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDprAcquireSpinLock(
   IN PNDIS_SPIN_LOCK  SpinLock);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDprReleaseSpinLock(
   IN PNDIS_SPIN_LOCK  SpinLock);
 
@@ -2812,13 +3054,13 @@ NdisDprReleaseSpinLock(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCloseConfiguration(
   IN NDIS_HANDLE  ConfigurationHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReadConfiguration(
   OUT  PNDIS_STATUS  Status,
   OUT  PNDIS_CONFIGURATION_PARAMETER  *ParameterValue,
@@ -2828,7 +3070,7 @@ NdisReadConfiguration(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisWriteConfiguration(
   OUT  PNDIS_STATUS  Status,
   IN NDIS_HANDLE  WrapperConfigurationContext,
@@ -2837,7 +3079,7 @@ NdisWriteConfiguration(
 
 NDISAPI
 VOID
-DDKCDECLAPI
+__cdecl
 NdisWriteErrorLogEntry(
        IN NDIS_HANDLE  NdisAdapterHandle,
        IN NDIS_ERROR_CODE  ErrorCode,
@@ -2853,18 +3095,18 @@ NdisWriteErrorLogEntry(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetCurrentSystemTime(
   IN PLARGE_INTEGER  pSystemTime);
 
 NDISAPI
 CCHAR
-DDKAPI
+NTAPI
 NdisSystemProcessorCount(VOID);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetCurrentProcessorCpuUsage(
   OUT PULONG  pCpuUsage);
 
@@ -2893,7 +3135,7 @@ NdisGetCurrentProcessorCpuUsage(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMFreeSharedMemory(
        IN NDIS_HANDLE  MiniportAdapterHandle,
        IN ULONG  Length,
@@ -2903,7 +3145,7 @@ NdisMFreeSharedMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMWanIndicateReceive(
        OUT PNDIS_STATUS  Status,
        IN NDIS_HANDLE  MiniportAdapterHandle,
@@ -2913,13 +3155,13 @@ NdisMWanIndicateReceive(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMWanIndicateReceiveComplete(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMWanSendComplete(
        IN NDIS_HANDLE  MiniportAdapterHandle,
        IN PNDIS_WAN_PACKET  Packet,
@@ -2927,7 +3169,7 @@ NdisMWanSendComplete(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisPciAssignResources(
        IN NDIS_HANDLE  NdisMacHandle,
        IN NDIS_HANDLE  NdisWrapperHandle,
@@ -2940,7 +3182,7 @@ NdisPciAssignResources(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAcquireReadWriteLock(
   IN PNDIS_RW_LOCK  Lock,
   IN BOOLEAN  fWrite,
@@ -2948,7 +3190,7 @@ NdisAcquireReadWriteLock(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisAllocateMemoryWithTag(
   OUT PVOID  *VirtualAddress,
   IN UINT  Length,
@@ -2956,7 +3198,7 @@ NdisAllocateMemoryWithTag(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisAllocatePacketPoolEx(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_HANDLE  PoolHandle,
@@ -2966,7 +3208,14 @@ NdisAllocatePacketPoolEx(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
+NdisSetPacketPoolProtocolId(
+  IN NDIS_HANDLE PacketPoolHandle,
+  IN UINT ProtocolId);
+
+NDISAPI
+VOID
+NTAPI
 NdisCompletePnPEvent(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisBindingHandle,
@@ -2974,7 +3223,7 @@ NdisCompletePnPEvent(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetCurrentProcessorCounts(
   OUT PULONG  pIdleCount,
   OUT PULONG  pKernelAndUser,
@@ -2982,39 +3231,39 @@ NdisGetCurrentProcessorCounts(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetDriverHandle(
   IN PNDIS_HANDLE  NdisBindingHandle,
   OUT PNDIS_HANDLE  NdisDriverHandle);
 
 NDISAPI
 PNDIS_PACKET
-DDKAPI
+NTAPI
 NdisGetReceivedPacket(
   IN PNDIS_HANDLE  NdisBindingHandle,
   IN PNDIS_HANDLE  MacContext);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisGetSystemUpTime(
   OUT PULONG  pSystemUpTime);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisInitializeReadWriteLock(
   IN PNDIS_RW_LOCK  Lock);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMDeregisterDevice(
   IN NDIS_HANDLE  NdisDeviceHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMGetDeviceProperty(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN OUT PDEVICE_OBJECT  *PhysicalDeviceObject  OPTIONAL,
@@ -3025,7 +3274,7 @@ NdisMGetDeviceProperty(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMInitializeScatterGatherDma(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN BOOLEAN  Dma64BitAddresses,
@@ -3033,20 +3282,20 @@ NdisMInitializeScatterGatherDma(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMPromoteMiniport(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMQueryAdapterInstanceName(
   OUT PNDIS_STRING  AdapterInstanceName,
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMRegisterDevice(
   IN NDIS_HANDLE  NdisWrapperHandle,
   IN PNDIS_STRING  DeviceName,
@@ -3057,27 +3306,27 @@ NdisMRegisterDevice(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMRegisterUnloadHandler(
   IN NDIS_HANDLE  NdisWrapperHandle,
   IN PDRIVER_UNLOAD  UnloadHandler);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMRemoveMiniport(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMSetMiniportSecondary(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  PrimaryMiniportAdapterHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisOpenConfigurationKeyByIndex(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  ConfigurationHandle,
@@ -3087,7 +3336,7 @@ NdisOpenConfigurationKeyByIndex(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisOpenConfigurationKeyByName(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  ConfigurationHandle,
@@ -3096,20 +3345,20 @@ NdisOpenConfigurationKeyByName(
 
 NDISAPI
 UINT
-DDKAPI
+NTAPI
 NdisPacketPoolUsage(
   IN NDIS_HANDLE  PoolHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisQueryAdapterInstanceName(
   OUT PNDIS_STRING  AdapterInstanceName,
   IN NDIS_HANDLE  NdisBindingHandle);
 
 NDISAPI
 ULONG
-DDKAPI
+NTAPI
 NdisReadPcmciaAttributeMemory(
   IN NDIS_HANDLE  NdisAdapterHandle,
   IN ULONG  Offset,
@@ -3118,14 +3367,14 @@ NdisReadPcmciaAttributeMemory(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReleaseReadWriteLock(
   IN PNDIS_RW_LOCK  Lock,
   IN PLOCK_STATE  LockState);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisWriteEventLogEntry(
   IN PVOID  LogHandle,
   IN NDIS_STATUS  EventCode,
@@ -3137,7 +3386,7 @@ NdisWriteEventLogEntry(
 
 NDISAPI
 ULONG
-DDKAPI
+NTAPI
 NdisWritePcmciaAttributeMemory(
   IN NDIS_HANDLE  NdisAdapterHandle,
   IN ULONG  Offset,
@@ -3149,7 +3398,7 @@ NdisWritePcmciaAttributeMemory(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClAddParty(
   IN NDIS_HANDLE  NdisVcHandle,
   IN NDIS_HANDLE  ProtocolPartyContext,
@@ -3158,13 +3407,13 @@ NdisClAddParty(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClCloseAddressFamily(
   IN NDIS_HANDLE  NdisAfHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClCloseCall(
   IN NDIS_HANDLE NdisVcHandle,
   IN NDIS_HANDLE NdisPartyHandle  OPTIONAL,
@@ -3173,13 +3422,13 @@ NdisClCloseCall(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClDeregisterSap(
   IN NDIS_HANDLE  NdisSapHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClDropParty(
   IN NDIS_HANDLE  NdisPartyHandle,
   IN PVOID  Buffer  OPTIONAL,
@@ -3187,7 +3436,7 @@ NdisClDropParty(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisClIncomingCallComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3195,7 +3444,7 @@ NdisClIncomingCallComplete(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClMakeCall(
   IN NDIS_HANDLE  NdisVcHandle,
   IN OUT PCO_CALL_PARAMETERS  CallParameters,
@@ -3204,7 +3453,7 @@ NdisClMakeCall(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClModifyCallQoS(
   IN NDIS_HANDLE  NdisVcHandle,
   IN PCO_CALL_PARAMETERS  CallParameters);
@@ -3212,7 +3461,7 @@ NdisClModifyCallQoS(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClOpenAddressFamily(
   IN NDIS_HANDLE  NdisBindingHandle,
   IN PCO_ADDRESS_FAMILY  AddressFamily,
@@ -3223,7 +3472,7 @@ NdisClOpenAddressFamily(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisClRegisterSap(
   IN NDIS_HANDLE  NdisAfHandle,
   IN NDIS_HANDLE  ProtocolSapContext,
@@ -3235,14 +3484,14 @@ NdisClRegisterSap(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCmActivateVc(
   IN NDIS_HANDLE  NdisVcHandle,
   IN OUT PCO_CALL_PARAMETERS  CallParameters);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmAddPartyComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisPartyHandle,
@@ -3251,14 +3500,14 @@ NdisCmAddPartyComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmCloseAddressFamilyComplete(
   IN NDIS_STATUS Status,
   IN NDIS_HANDLE NdisAfHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmCloseCallComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3266,26 +3515,26 @@ NdisCmCloseCallComplete(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCmDeactivateVc(
   IN NDIS_HANDLE  NdisVcHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmDeregisterSapComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisSapHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmDispatchCallConnected(
   IN NDIS_HANDLE  NdisVcHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCmDispatchIncomingCall(
   IN NDIS_HANDLE  NdisSapHandle,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3293,14 +3542,14 @@ NdisCmDispatchIncomingCall(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmDispatchIncomingCallQoSChange(
   IN NDIS_HANDLE  NdisVcHandle,
   IN PCO_CALL_PARAMETERS  CallParameters);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmDispatchIncomingCloseCall(
   IN NDIS_STATUS  CloseStatus,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3309,7 +3558,7 @@ NdisCmDispatchIncomingCloseCall(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmDispatchIncomingDropParty(
   IN NDIS_STATUS  DropStatus,
   IN NDIS_HANDLE  NdisPartyHandle,
@@ -3318,14 +3567,14 @@ NdisCmDispatchIncomingDropParty(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmDropPartyComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisPartyHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmMakeCallComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3335,7 +3584,7 @@ NdisCmMakeCallComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmModifyCallQoSComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3343,7 +3592,7 @@ NdisCmModifyCallQoSComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmOpenAddressFamilyComplete(
   IN NDIS_STATUS Status,
   IN NDIS_HANDLE NdisAfHandle,
@@ -3351,7 +3600,7 @@ NdisCmOpenAddressFamilyComplete(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCmRegisterAddressFamily(
   IN NDIS_HANDLE  NdisBindingHandle,
   IN PCO_ADDRESS_FAMILY  AddressFamily,
@@ -3360,7 +3609,7 @@ NdisCmRegisterAddressFamily(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCmRegisterSapComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisSapHandle,
@@ -3369,14 +3618,14 @@ NdisCmRegisterSapComplete(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCmActivateVc(
   IN NDIS_HANDLE  NdisVcHandle,
   IN PCO_CALL_PARAMETERS  CallParameters);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCmCreateVc(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  NdisAfHandle,
@@ -3385,19 +3634,19 @@ NdisMCmCreateVc(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCmDeactivateVc(
   IN NDIS_HANDLE  NdisVcHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCmDeleteVc(
   IN NDIS_HANDLE  NdisVcHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCmRegisterAddressFamily(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN PCO_ADDRESS_FAMILY  AddressFamily,
@@ -3406,7 +3655,7 @@ NdisMCmRegisterAddressFamily(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCmRequest(
   IN NDIS_HANDLE  NdisAfHandle,
   IN NDIS_HANDLE  NdisVcHandle  OPTIONAL,
@@ -3418,7 +3667,7 @@ NdisMCmRequest(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCoCreateVc(
   IN NDIS_HANDLE  NdisBindingHandle,
   IN NDIS_HANDLE  NdisAfHandle  OPTIONAL,
@@ -3427,13 +3676,13 @@ NdisCoCreateVc(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCoDeleteVc(
   IN NDIS_HANDLE  NdisVcHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisCoRequest(
   IN NDIS_HANDLE  NdisBindingHandle,
   IN NDIS_HANDLE  NdisAfHandle  OPTIONAL,
@@ -3443,7 +3692,7 @@ NdisCoRequest(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCoRequestComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisAfHandle,
@@ -3453,7 +3702,7 @@ NdisCoRequestComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCoSendPackets(
   IN NDIS_HANDLE  NdisVcHandle,
   IN PPNDIS_PACKET  PacketArray,
@@ -3461,7 +3710,7 @@ NdisCoSendPackets(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoActivateVcComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3469,14 +3718,14 @@ NdisMCoActivateVcComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoDeactivateVcComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoIndicateReceivePacket(
   IN NDIS_HANDLE  NdisVcHandle,
   IN PPNDIS_PACKET  PacketArray,
@@ -3484,7 +3733,7 @@ NdisMCoIndicateReceivePacket(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoIndicateStatus(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  NdisVcHandle  OPTIONAL,
@@ -3494,13 +3743,13 @@ NdisMCoIndicateStatus(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoReceiveComplete(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoRequestComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  MiniportAdapterHandle,
@@ -3508,7 +3757,7 @@ NdisMCoRequestComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCoSendComplete(
   IN NDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3519,53 +3768,53 @@ NdisMCoSendComplete(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisIMAssociateMiniport(
   IN NDIS_HANDLE  DriverHandle,
   IN NDIS_HANDLE  ProtocolHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisIMCancelInitializeDeviceInstance(
   IN NDIS_HANDLE  DriverHandle,
   IN PNDIS_STRING  DeviceInstance);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisIMCopySendCompletePerPacketInfo(
   IN PNDIS_PACKET  DstPacket,
   IN PNDIS_PACKET  SrcPacket);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisIMCopySendPerPacketInfo(
   IN PNDIS_PACKET  DstPacket,
   IN PNDIS_PACKET  SrcPacket);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisIMDeregisterLayeredMiniport(
   IN NDIS_HANDLE  DriverHandle);
 
 NDISAPI
 NDIS_HANDLE
-DDKAPI
+NTAPI
 NdisIMGetBindingContext(
   IN NDIS_HANDLE  NdisBindingHandle);
 
 NDISAPI
 NDIS_HANDLE
-DDKAPI
+NTAPI
 NdisIMGetDeviceContext(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisIMInitializeDeviceInstanceEx(
   IN NDIS_HANDLE  DriverHandle,
   IN PNDIS_STRING  DriverInstance,
@@ -3573,14 +3822,14 @@ NdisIMInitializeDeviceInstanceEx(
 
 NDISAPI
 PSINGLE_LIST_ENTRY
-DDKAPI
+NTAPI
 NdisInterlockedPopEntrySList(
   IN PSLIST_HEADER  ListHead,
   IN PKSPIN_LOCK  Lock);
 
 NDISAPI
 PSINGLE_LIST_ENTRY
-DDKAPI
+NTAPI
 NdisInterlockedPushEntrySList(
   IN PSLIST_HEADER  ListHead,
   IN PSINGLE_LIST_ENTRY  ListEntry,
@@ -3588,7 +3837,7 @@ NdisInterlockedPushEntrySList(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisQueryBufferSafe(
   IN PNDIS_BUFFER  Buffer,
   OUT PVOID  *VirtualAddress  OPTIONAL,
@@ -3598,27 +3847,27 @@ NdisQueryBufferSafe(
 /* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
 
 typedef BOOLEAN
-(DDKAPI *W_CHECK_FOR_HANG_HANDLER)(
+(NTAPI *W_CHECK_FOR_HANG_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext);
 
 typedef VOID
-(DDKAPI *W_DISABLE_INTERRUPT_HANDLER)(
+(NTAPI *W_DISABLE_INTERRUPT_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext);
 
 typedef VOID
-(DDKAPI *W_ENABLE_INTERRUPT_HANDLER)(
+(NTAPI *W_ENABLE_INTERRUPT_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext);
 
 typedef VOID
-(DDKAPI *W_HALT_HANDLER)(
+(NTAPI *W_HALT_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext);
 
 typedef VOID
-(DDKAPI *W_HANDLE_INTERRUPT_HANDLER)(
+(NTAPI *W_HANDLE_INTERRUPT_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext);
 
 typedef NDIS_STATUS
-(DDKAPI *W_INITIALIZE_HANDLER)(
+(NTAPI *W_INITIALIZE_HANDLER)(
   OUT PNDIS_STATUS  OpenErrorStatus,
   OUT PUINT  SelectedMediumIndex,
   IN PNDIS_MEDIUM  MediumArray,
@@ -3627,13 +3876,13 @@ typedef NDIS_STATUS
   IN NDIS_HANDLE  WrapperConfigurationContext);
 
 typedef VOID
-(DDKAPI *W_ISR_HANDLER)(
+(NTAPI *W_ISR_HANDLER)(
   OUT PBOOLEAN  InterruptRecognized,
   OUT PBOOLEAN  QueueMiniportHandleInterrupt,
   IN   NDIS_HANDLE  MiniportAdapterContext);
 
 typedef NDIS_STATUS
-(DDKAPI *W_QUERY_INFORMATION_HANDLER)(
+(NTAPI *W_QUERY_INFORMATION_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_OID  Oid,
   IN PVOID  InformationBuffer,
@@ -3642,30 +3891,30 @@ typedef NDIS_STATUS
   OUT PULONG  BytesNeeded);
 
 typedef NDIS_STATUS
-(DDKAPI *W_RECONFIGURE_HANDLER)(
+(NTAPI *W_RECONFIGURE_HANDLER)(
   OUT PNDIS_STATUS  OpenErrorStatus,
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_HANDLE       WrapperConfigurationContext);
 
 typedef NDIS_STATUS
-(DDKAPI *W_RESET_HANDLER)(
+(NTAPI *W_RESET_HANDLER)(
   OUT PBOOLEAN  AddressingReset,
   IN NDIS_HANDLE  MiniportAdapterContext);
 
 typedef NDIS_STATUS
-(DDKAPI *W_SEND_HANDLER)(
+(NTAPI *W_SEND_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PNDIS_PACKET  Packet,
   IN UINT  Flags);
 
 typedef NDIS_STATUS
-(DDKAPI *WM_SEND_HANDLER)(
+(NTAPI *WM_SEND_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_HANDLE  NdisLinkHandle,
   IN PNDIS_WAN_PACKET  Packet);
 
 typedef NDIS_STATUS
-(DDKAPI *W_SET_INFORMATION_HANDLER)(
+(NTAPI *W_SET_INFORMATION_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_OID  Oid,
   IN PVOID  InformationBuffer,
@@ -3674,7 +3923,7 @@ typedef NDIS_STATUS
   OUT PULONG  BytesNeeded);
 
 typedef NDIS_STATUS
-(DDKAPI *W_TRANSFER_DATA_HANDLER)(
+(NTAPI *W_TRANSFER_DATA_HANDLER)(
   OUT PNDIS_PACKET  Packet,
   OUT PUINT  BytesTransferred,
   IN NDIS_HANDLE  MiniportAdapterContext,
@@ -3683,7 +3932,7 @@ typedef NDIS_STATUS
   IN UINT  BytesToTransfer);
 
 typedef NDIS_STATUS
-(DDKAPI *WM_TRANSFER_DATA_HANDLER)(
+(NTAPI *WM_TRANSFER_DATA_HANDLER)(
   VOID);
 
 
@@ -3715,18 +3964,18 @@ typedef struct _NDIS30_MINIPORT_CHARACTERISTICS {
 /* Extensions for NDIS 4.0 miniports */
 
 typedef VOID
-(DDKAPI *W_SEND_PACKETS_HANDLER)(
+(NTAPI *W_SEND_PACKETS_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PPNDIS_PACKET  PacketArray,
   IN UINT  NumberOfPackets);
 
 typedef VOID
-(DDKAPI *W_RETURN_PACKET_HANDLER)(
+(NTAPI *W_RETURN_PACKET_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PNDIS_PACKET  Packet);
 
 typedef VOID
-(DDKAPI *W_ALLOCATE_COMPLETE_HANDLER)(
+(NTAPI *W_ALLOCATE_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PVOID  VirtualAddress,
   IN PNDIS_PHYSICAL_ADDRESS  PhysicalAddress,
@@ -3759,32 +4008,32 @@ typedef struct _NDIS40_MINIPORT_CHARACTERISTICS {
 /* Extensions for NDIS 5.0 miniports */
 
 typedef NDIS_STATUS
-(DDKAPI *W_CO_CREATE_VC_HANDLER)(
+(NTAPI *W_CO_CREATE_VC_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_HANDLE  NdisVcHandle,
   OUT PNDIS_HANDLE  MiniportVcContext);
 
 typedef NDIS_STATUS
-(DDKAPI *W_CO_DELETE_VC_HANDLER)(
+(NTAPI *W_CO_DELETE_VC_HANDLER)(
   IN NDIS_HANDLE  MiniportVcContext);
 
 typedef NDIS_STATUS
-(DDKAPI *W_CO_ACTIVATE_VC_HANDLER)(
+(NTAPI *W_CO_ACTIVATE_VC_HANDLER)(
   IN NDIS_HANDLE  MiniportVcContext,
   IN OUT PCO_CALL_PARAMETERS  CallParameters);
 
 typedef NDIS_STATUS
-(DDKAPI *W_CO_DEACTIVATE_VC_HANDLER)(
+(NTAPI *W_CO_DEACTIVATE_VC_HANDLER)(
   IN NDIS_HANDLE  MiniportVcContext);
 
 typedef VOID
-(DDKAPI *W_CO_SEND_PACKETS_HANDLER)(
+(NTAPI *W_CO_SEND_PACKETS_HANDLER)(
   IN NDIS_HANDLE  MiniportVcContext,
   IN PPNDIS_PACKET  PacketArray,
   IN UINT  NumberOfPackets);
 
 typedef NDIS_STATUS
-(DDKAPI *W_CO_REQUEST_HANDLER)(
+(NTAPI *W_CO_REQUEST_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_HANDLE  MiniportVcContext  OPTIONAL,
   IN OUT PNDIS_REQUEST  NdisRequest);
@@ -3821,19 +4070,19 @@ typedef struct _NDIS50_MINIPORT_CHARACTERISTICS {
 /* Extensions for NDIS 5.1 miniports */
 
 typedef VOID
-(DDKAPI *W_CANCEL_SEND_PACKETS_HANDLER)(
+(NTAPI *W_CANCEL_SEND_PACKETS_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PVOID  CancelId);
 
 typedef VOID
-(DDKAPI *W_PNP_EVENT_NOTIFY_HANDLER)(
+(NTAPI *W_PNP_EVENT_NOTIFY_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN NDIS_DEVICE_PNP_EVENT  PnPEvent,
   IN PVOID  InformationBuffer,
   IN ULONG  InformationBufferLength);
 
 typedef VOID
-(DDKAPI *W_MINIPORT_SHUTDOWN_HANDLER)(
+(NTAPI *W_MINIPORT_SHUTDOWN_HANDLER)(
   IN PVOID  ShutdownContext);
 
 #ifdef __cplusplus
@@ -3878,12 +4127,12 @@ typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
 
 
 typedef NDIS_STATUS
-(DDKAPI *SEND_HANDLER)(
+(NTAPI *SEND_HANDLER)(
   IN NDIS_HANDLE  MacBindingHandle,
   IN PNDIS_PACKET  Packet);
 
 typedef NDIS_STATUS
-(DDKAPI *TRANSFER_DATA_HANDLER)(
+(NTAPI *TRANSFER_DATA_HANDLER)(
   IN NDIS_HANDLE  MacBindingHandle,
   IN NDIS_HANDLE  MacReceiveContext,
   IN UINT  ByteOffset,
@@ -3892,11 +4141,11 @@ typedef NDIS_STATUS
   OUT PUINT  BytesTransferred);
 
 typedef NDIS_STATUS
-(DDKAPI *RESET_HANDLER)(
+(NTAPI *RESET_HANDLER)(
   IN NDIS_HANDLE  MacBindingHandle);
 
 typedef NDIS_STATUS
-(DDKAPI *REQUEST_HANDLER)(
+(NTAPI *REQUEST_HANDLER)(
   IN NDIS_HANDLE   MacBindingHandle,
   IN PNDIS_REQUEST   NdisRequest);
 
@@ -3905,11 +4154,11 @@ typedef NDIS_STATUS
 /* Structures available only to full MAC drivers */
 
 typedef BOOLEAN
-(DDKAPI *PNDIS_INTERRUPT_SERVICE)(
+(NTAPI *PNDIS_INTERRUPT_SERVICE)(
   IN PVOID  InterruptContext);
 
 typedef VOID
-(DDKAPI *PNDIS_DEFERRED_PROCESSING)(
+(NTAPI *PNDIS_DEFERRED_PROCESSING)(
   IN PVOID  SystemSpecific1,
   IN PVOID  InterruptContext,
   IN PVOID  SystemSpecific2,
@@ -4003,11 +4252,11 @@ typedef struct _NDIS_BIND_PATHS {
 
 
 typedef VOID
-(DDKAPI *ETH_RCV_COMPLETE_HANDLER)(
+(NTAPI *ETH_RCV_COMPLETE_HANDLER)(
   IN PETH_FILTER  Filter);
 
 typedef VOID
-(DDKAPI *ETH_RCV_INDICATE_HANDLER)(
+(NTAPI *ETH_RCV_INDICATE_HANDLER)(
   IN PETH_FILTER  Filter,
   IN NDIS_HANDLE  MacReceiveContext,
   IN PCHAR  Address,
@@ -4018,11 +4267,11 @@ typedef VOID
   IN UINT  PacketSize);
 
 typedef VOID
-(DDKAPI *FDDI_RCV_COMPLETE_HANDLER)(
+(NTAPI *FDDI_RCV_COMPLETE_HANDLER)(
   IN PFDDI_FILTER  Filter);
 
 typedef VOID
-(DDKAPI *FDDI_RCV_INDICATE_HANDLER)(
+(NTAPI *FDDI_RCV_INDICATE_HANDLER)(
   IN PFDDI_FILTER  Filter,
   IN NDIS_HANDLE  MacReceiveContext,
   IN PCHAR  Address,
@@ -4034,17 +4283,17 @@ typedef VOID
   IN UINT  PacketSize);
 
 typedef VOID
-(DDKAPI *FILTER_PACKET_INDICATION_HANDLER)(
+(NTAPI *FILTER_PACKET_INDICATION_HANDLER)(
   IN NDIS_HANDLE  Miniport,
   IN PPNDIS_PACKET  PacketArray,
   IN UINT  NumberOfPackets);
 
 typedef VOID
-(DDKAPI *TR_RCV_COMPLETE_HANDLER)(
+(NTAPI *TR_RCV_COMPLETE_HANDLER)(
   IN PTR_FILTER  Filter);
 
 typedef VOID
-(DDKAPI *TR_RCV_INDICATE_HANDLER)(
+(NTAPI *TR_RCV_INDICATE_HANDLER)(
   IN PTR_FILTER  Filter,
   IN NDIS_HANDLE  MacReceiveContext,
   IN PVOID  HeaderBuffer,
@@ -4054,12 +4303,12 @@ typedef VOID
   IN UINT  PacketSize);
 
 typedef VOID
-(DDKAPI *WAN_RCV_COMPLETE_HANDLER)(
+(NTAPI *WAN_RCV_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  NdisLinkContext);
 
 typedef VOID
-(DDKAPI *WAN_RCV_HANDLER)(
+(NTAPI *WAN_RCV_HANDLER)(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  NdisLinkContext,
@@ -4085,24 +4334,24 @@ typedef NDIS_STATUS
   IN PVOID  WorkItemContext);
 
 typedef VOID
-(DDKAPI *NDIS_M_REQ_COMPLETE_HANDLER)(
+(NTAPI *NDIS_M_REQ_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *NDIS_M_RESET_COMPLETE_HANDLER)(
+(NTAPI *NDIS_M_RESET_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_STATUS  Status,
   IN BOOLEAN  AddressingReset);
 
 typedef VOID
-(DDKAPI *NDIS_M_SEND_COMPLETE_HANDLER)(
+(NTAPI *NDIS_M_SEND_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN PNDIS_PACKET  Packet,
   IN NDIS_STATUS  Status);
 
 typedef VOID
-(DDKAPI *NDIS_M_SEND_RESOURCES_HANDLER)(
+(NTAPI *NDIS_M_SEND_RESOURCES_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 typedef BOOLEAN
@@ -4110,24 +4359,24 @@ typedef BOOLEAN
   IN PNDIS_MINIPORT_BLOCK  Miniport);
 
 typedef VOID
-(DDKAPI *NDIS_M_STATUS_HANDLER)(
+(NTAPI *NDIS_M_STATUS_HANDLER)(
   IN NDIS_HANDLE  MiniportHandle,
   IN NDIS_STATUS  GeneralStatus,
   IN PVOID  StatusBuffer,
   IN UINT  StatusBufferSize);
 
 typedef VOID
-(DDKAPI *NDIS_M_STS_COMPLETE_HANDLER)(
+(NTAPI *NDIS_M_STS_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
 typedef VOID
-(DDKAPI *NDIS_M_TD_COMPLETE_HANDLER)(
+(NTAPI *NDIS_M_TD_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN PNDIS_PACKET  Packet,
   IN NDIS_STATUS  Status,
   IN UINT  BytesTransferred);
 
-typedef VOID (DDKAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
+typedef VOID (NTAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN PVOID  Packet,
   IN NDIS_STATUS  Status);
@@ -4367,14 +4616,14 @@ struct _NDIS_MINIPORT_BLOCK {
 
 /* Handler prototypes for NDIS_OPEN_BLOCK */
 
-typedef NDIS_STATUS (DDKAPI *WAN_SEND_HANDLER)(
+typedef NDIS_STATUS (NTAPI *WAN_SEND_HANDLER)(
   IN NDIS_HANDLE  MacBindingHandle,
   IN NDIS_HANDLE  LinkHandle,
   IN PVOID  Packet);
 
 /* NDIS 4.0 extension */
 
-typedef VOID (DDKAPI *SEND_PACKETS_HANDLER)(
+typedef VOID (NTAPI *SEND_PACKETS_HANDLER)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PPNDIS_PACKET  PacketArray,
   IN UINT  NumberOfPackets);
@@ -4457,7 +4706,7 @@ struct _NDIS_OPEN_BLOCK
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisInitializeWrapper(
   OUT PNDIS_HANDLE  NdisWrapperHandle,
   IN PVOID  SystemSpecific1,
@@ -4466,7 +4715,7 @@ NdisInitializeWrapper(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMAllocateMapRegisters(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN UINT  DmaChannel,
@@ -4512,13 +4761,13 @@ NdisMAllocateMapRegisters(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCloseLog(
   IN NDIS_HANDLE  LogHandle);
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMCreateLog(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN UINT  Size,
@@ -4526,19 +4775,19 @@ NdisMCreateLog(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMDeregisterAdapterShutdownHandler(
   IN NDIS_HANDLE  MiniportHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMDeregisterInterrupt(
   IN PNDIS_MINIPORT_INTERRUPT  Interrupt);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMDeregisterIoPortRange(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN UINT  InitialPort,
@@ -4634,13 +4883,13 @@ NdisMDeregisterIoPortRange(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMFlushLog(
   IN NDIS_HANDLE  LogHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMFreeMapRegisters(
   IN NDIS_HANDLE  MiniportAdapterHandle);
 
@@ -4699,7 +4948,7 @@ NdisMFreeMapRegisters(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMMapIoSpace(
   OUT PVOID  *VirtualAddress,
   IN NDIS_HANDLE  MiniportAdapterHandle,
@@ -4717,7 +4966,7 @@ NdisMMapIoSpace(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMRegisterAdapterShutdownHandler(
   IN NDIS_HANDLE  MiniportHandle,
   IN PVOID  ShutdownContext,
@@ -4725,7 +4974,7 @@ NdisMRegisterAdapterShutdownHandler(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMRegisterInterrupt(
   OUT PNDIS_MINIPORT_INTERRUPT  Interrupt,
   IN NDIS_HANDLE  MiniportAdapterHandle,
@@ -4737,7 +4986,7 @@ NdisMRegisterInterrupt(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMRegisterIoPortRange(
   OUT PVOID  *PortOffset,
   IN NDIS_HANDLE  MiniportAdapterHandle,
@@ -4746,7 +4995,7 @@ NdisMRegisterIoPortRange(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMRegisterMiniport(
   IN NDIS_HANDLE  NdisWrapperHandle,
   IN PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
@@ -4754,14 +5003,14 @@ NdisMRegisterMiniport(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMSetTimer(
   IN PNDIS_MINIPORT_TIMER  Timer,
   IN UINT  MillisecondsToDelay);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMInitializeTimer(
   IN OUT PNDIS_MINIPORT_TIMER Timer,
   IN NDIS_HANDLE MiniportAdapterHandle,
@@ -4770,17 +5019,17 @@ NdisMInitializeTimer(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMSetPeriodicTimer(
-  IN PNDIS_MINIPORT_TIMER  Timer,
-  IN UINT  MillisecondPeriod);
+  IN PNDIS_MINIPORT_TIMER Timer,
+  IN UINT MillisecondPeriod);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMCancelTimer(
-  IN PNDIS_MINIPORT_TIMER  Timer,
-  OUT PBOOLEAN  TimerCancelled);
+  IN PNDIS_MINIPORT_TIMER Timer,
+  OUT PBOOLEAN TimerCancelled);
 
 #if !defined(NDIS_WRAPPER)
 
@@ -4865,7 +5114,7 @@ NdisMCancelTimer(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMSetAttributesEx(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  MiniportAdapterContext,
@@ -4886,13 +5135,13 @@ NdisMSetAttributesEx(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMSleep(
   IN ULONG  MicrosecondsToSleep);
 
 NDISAPI
 BOOLEAN
-DDKAPI
+NTAPI
 NdisMSynchronizeWithInterrupt(
   IN PNDIS_MINIPORT_INTERRUPT  Interrupt,
   IN PVOID  SynchronizeFunction,
@@ -4941,7 +5190,7 @@ NdisMSynchronizeWithInterrupt(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisMWriteLogData(
   IN NDIS_HANDLE  LogHandle,
   IN PVOID  LogBuffer,
@@ -4949,7 +5198,7 @@ NdisMWriteLogData(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMQueryAdapterResources(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  WrapperConfigurationContext,
@@ -4958,14 +5207,14 @@ NdisMQueryAdapterResources(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisTerminateWrapper(
   IN NDIS_HANDLE  NdisWrapperHandle,
   IN PVOID  SystemSpecific);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisMUnmapIoSpace(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN PVOID  VirtualAddress,
@@ -4977,25 +5226,25 @@ NdisMUnmapIoSpace(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisInitializeEvent(
   IN PNDIS_EVENT  Event);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisSetEvent(
   IN PNDIS_EVENT  Event);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisResetEvent(
   IN PNDIS_EVENT  Event);
 
 NDISAPI
 BOOLEAN
-DDKAPI
+NTAPI
 NdisWaitEvent(
   IN PNDIS_EVENT  Event,
   IN UINT  Timeout);
@@ -5004,7 +5253,7 @@ NdisWaitEvent(
 
 /* NDIS intermediate miniport structures */
 
-typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
+typedef VOID (NTAPI *W_MINIPORT_CALLBACK)(
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN PVOID  CallbackContext);
 
@@ -5014,7 +5263,7 @@ typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisIMDeInitializeDeviceInstance(
   IN NDIS_HANDLE NdisMiniportHandle);
 
@@ -5029,7 +5278,7 @@ NdisIMDeInitializeDeviceInstance(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisIMRegisterLayeredMiniport(
   IN NDIS_HANDLE  NdisWrapperHandle,
   IN PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
@@ -5041,13 +5290,13 @@ NdisIMRegisterLayeredMiniport(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisFreeDmaChannel(
   IN PNDIS_HANDLE  NdisDmaHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisSetupDmaTransfer(
   OUT PNDIS_STATUS  Status,
   IN PNDIS_HANDLE  NdisDmaHandle,
@@ -5058,7 +5307,7 @@ NdisSetupDmaTransfer(
 
 NDISAPI
 NTSTATUS
-DDKAPI
+NTAPI
 NdisUpcaseUnicodeString(
   OUT PUNICODE_STRING  DestinationString,
   IN PUNICODE_STRING  SourceString);
@@ -5068,7 +5317,7 @@ NdisUpcaseUnicodeString(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisRequest(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisBindingHandle,
@@ -5076,14 +5325,14 @@ NdisRequest(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisReset(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisBindingHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisSend(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisBindingHandle,
@@ -5091,7 +5340,7 @@ NdisSend(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisSendPackets(
   IN NDIS_HANDLE  NdisBindingHandle,
   IN PPNDIS_PACKET  PacketArray,
@@ -5099,7 +5348,7 @@ NdisSendPackets(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisTransferData(
   OUT PNDIS_STATUS        Status,
   IN NDIS_HANDLE  NdisBindingHandle,
@@ -5111,14 +5360,14 @@ NdisTransferData(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCloseAdapter(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisBindingHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCompleteBindAdapter(
   IN NDIS_HANDLE  BindAdapterContext,
   IN NDIS_STATUS  Status,
@@ -5126,21 +5375,21 @@ NdisCompleteBindAdapter(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisCompleteUnbindAdapter(
   IN NDIS_HANDLE  UnbindAdapterContext,
   IN NDIS_STATUS  Status);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisDeregisterProtocol(
   OUT PNDIS_STATUS  Status,
   IN NDIS_HANDLE  NdisProtocolHandle);
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisOpenAdapter(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_STATUS  OpenErrorStatus,
@@ -5156,7 +5405,7 @@ NdisOpenAdapter(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisOpenProtocolConfiguration(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_HANDLE  ConfigurationHandle,
@@ -5164,7 +5413,7 @@ NdisOpenProtocolConfiguration(
 
 NDISAPI
 VOID
-DDKAPI
+NTAPI
 NdisRegisterProtocol(
   OUT PNDIS_STATUS  Status,
   OUT PNDIS_HANDLE  NdisProtocolHandle,
@@ -5173,7 +5422,7 @@ NdisRegisterProtocol(
 
 NDISAPI
 NDIS_STATUS
-DDKAPI
+NTAPI
 NdisScheduleWorkItem(
   IN  PNDIS_WORK_ITEM WorkItem);
 
@@ -5192,20 +5441,20 @@ typedef NDIS_STATUS (*OPEN_ADAPTER_HANDLER)(
   IN UINT  OpenOptions,
   IN PSTRING  AddressingInformation  OPTIONAL);
 
-typedef NDIS_STATUS (DDKAPI *CLOSE_ADAPTER_HANDLER)(
+typedef NDIS_STATUS (NTAPI *CLOSE_ADAPTER_HANDLER)(
   IN NDIS_HANDLE  MacBindingHandle);
 
-typedef NDIS_STATUS (DDKAPI *WAN_TRANSFER_DATA_HANDLER)(
+typedef NDIS_STATUS (NTAPI *WAN_TRANSFER_DATA_HANDLER)(
   VOID);
 
-typedef NDIS_STATUS (DDKAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
+typedef NDIS_STATUS (NTAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
   IN NDIS_HANDLE  MacAdapterContext,
   IN PNDIS_REQUEST  NdisRequest);
 
-typedef VOID (DDKAPI *UNLOAD_MAC_HANDLER)(
+typedef VOID (NTAPI *UNLOAD_MAC_HANDLER)(
   IN NDIS_HANDLE  MacMacContext);
 
-typedef NDIS_STATUS (DDKAPI *ADD_ADAPTER_HANDLER)(
+typedef NDIS_STATUS (NTAPI *ADD_ADAPTER_HANDLER)(
   IN NDIS_HANDLE  MacMacContext,
   IN NDIS_HANDLE  WrapperConfigurationContext,
   IN PNDIS_STRING  AdapterName);