// Copyright (C) Microsoft Corporation. All rights reserved. // // NOTE: This header is generated by stubwork. Please make any // modifications to the corresponding template files // (.x or .y) and use stubwork to regenerate the header // #ifndef _NETPACKETQUEUE_2_5_H_ #define _NETPACKETQUEUE_2_5_H_ #ifndef WDF_EXTERN_C #ifdef __cplusplus #define WDF_EXTERN_C extern "C" #define WDF_EXTERN_C_START extern "C" { #define WDF_EXTERN_C_END } #else #define WDF_EXTERN_C #define WDF_EXTERN_C_START #define WDF_EXTERN_C_END #endif #endif WDF_EXTERN_C_START typedef _Function_class_(EVT_PACKET_QUEUE_START) _IRQL_requires_same_ _IRQL_requires_(PASSIVE_LEVEL) void NTAPI EVT_PACKET_QUEUE_START( _In_ NETPACKETQUEUE PacketQueue ); typedef EVT_PACKET_QUEUE_START *PFN_PACKET_QUEUE_START; typedef _Function_class_(EVT_PACKET_QUEUE_STOP) _IRQL_requires_same_ _IRQL_requires_(PASSIVE_LEVEL) void NTAPI EVT_PACKET_QUEUE_STOP( _In_ NETPACKETQUEUE PacketQueue ); typedef EVT_PACKET_QUEUE_STOP *PFN_PACKET_QUEUE_STOP; typedef _Function_class_(EVT_PACKET_QUEUE_CANCEL) _IRQL_requires_same_ _IRQL_requires_(PASSIVE_LEVEL) void NTAPI EVT_PACKET_QUEUE_CANCEL( _In_ NETPACKETQUEUE PacketQueue ); typedef EVT_PACKET_QUEUE_CANCEL *PFN_PACKET_QUEUE_CANCEL; typedef _Function_class_(EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED) _IRQL_requires_same_ _IRQL_requires_(PASSIVE_LEVEL) void NTAPI EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED( _In_ NETPACKETQUEUE PacketQueue, _In_ BOOLEAN NotificationEnabled ); typedef EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED *PFN_PACKET_QUEUE_SET_NOTIFICATION_ENABLED; typedef _Function_class_(EVT_PACKET_QUEUE_ADVANCE) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) void NTAPI EVT_PACKET_QUEUE_ADVANCE( _In_ NETPACKETQUEUE PacketQueue ); typedef EVT_PACKET_QUEUE_ADVANCE *PFN_PACKET_QUEUE_ADVANCE; typedef struct _NET_PACKET_QUEUE_CONFIG { // // Size of structure. // ULONG Size; PFN_PACKET_QUEUE_START EvtStart; PFN_PACKET_QUEUE_STOP EvtStop; PFN_PACKET_QUEUE_ADVANCE EvtAdvance; PFN_PACKET_QUEUE_SET_NOTIFICATION_ENABLED EvtSetNotificationEnabled; PFN_PACKET_QUEUE_CANCEL EvtCancel; NETEXECUTIONCONTEXT ExecutionContext; } NET_PACKET_QUEUE_CONFIG; inline void NET_PACKET_QUEUE_CONFIG_INIT( _Out_ NET_PACKET_QUEUE_CONFIG * Config, _In_ PFN_PACKET_QUEUE_ADVANCE EvtAdvance, _In_ PFN_PACKET_QUEUE_SET_NOTIFICATION_ENABLED EvtSetNotificationEnabled, _In_ PFN_PACKET_QUEUE_CANCEL EvtCancel ) { RtlZeroMemory(Config, sizeof(NET_PACKET_QUEUE_CONFIG)); Config->Size = sizeof(NET_PACKET_QUEUE_CONFIG); Config->EvtAdvance = EvtAdvance; Config->EvtSetNotificationEnabled = EvtSetNotificationEnabled; Config->EvtCancel = EvtCancel; } WDF_EXTERN_C_END #endif // _NETPACKETQUEUE_2_5_H_