/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: NetWakeSourceList.h Environment: user mode NOTE: This header is generated by stubwork. To modify contents, add or remove or tags in the corresponding .x and .y template files. --*/ #pragma once #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 struct _NET_WAKE_SOURCE_LIST { ULONG Size; void * Reserved[4]; } NET_WAKE_SOURCE_LIST; inline void NET_WAKE_SOURCE_LIST_INIT( _Out_ NET_WAKE_SOURCE_LIST * List ) { RtlZeroMemory(List, sizeof(*List)); List->Size = sizeof(*List); } // // NET Function: NetDeviceGetWakeSourceList // typedef _IRQL_requires_(PASSIVE_LEVEL) WDFAPI void (NTAPI *PFN_NETDEVICEGETWAKESOURCELIST)( _In_ PNET_DRIVER_GLOBALS DriverGlobals, _In_ WDFDEVICE Device, _Inout_ NET_WAKE_SOURCE_LIST* List ); _IRQL_requires_(PASSIVE_LEVEL) FORCEINLINE void NetDeviceGetWakeSourceList( _In_ WDFDEVICE Device, _Inout_ NET_WAKE_SOURCE_LIST* List ) { #if defined(NET_EVERYTHING_ALWAYS_AVAILABLE) ((PFN_NETDEVICEGETWAKESOURCELIST) NetFunctions[NetDeviceGetWakeSourceListTableIndex])(NetDriverGlobals, Device, List); #else if (NET_IS_FUNCTION_AVAILABLE(NetDeviceGetWakeSourceList)) { ((PFN_NETDEVICEGETWAKESOURCELIST) NetFunctions[NetDeviceGetWakeSourceListTableIndex])(NetDriverGlobals, Device, List); } else { ((PFN_WDFDRIVERERRORREPORTAPIMISSING) WdfFunctions[WdfDriverErrorReportApiMissingTableIndex])(WdfDriverGlobals, WdfGetDriver(), NetFrameworkExtensionName, NetDeviceGetWakeSourceListTableIndex, FALSE); } #endif } // // NET Function: NetWakeSourceListGetCount // typedef _IRQL_requires_(PASSIVE_LEVEL) WDFAPI SIZE_T (NTAPI *PFN_NETWAKESOURCELISTGETCOUNT)( _In_ PNET_DRIVER_GLOBALS DriverGlobals, _In_ CONST NET_WAKE_SOURCE_LIST* List ); _IRQL_requires_(PASSIVE_LEVEL) FORCEINLINE SIZE_T NetWakeSourceListGetCount( _In_ CONST NET_WAKE_SOURCE_LIST* List ) { #if defined(NET_EVERYTHING_ALWAYS_AVAILABLE) return ((PFN_NETWAKESOURCELISTGETCOUNT) NetFunctions[NetWakeSourceListGetCountTableIndex])(NetDriverGlobals, List); #else if (NET_IS_FUNCTION_AVAILABLE(NetWakeSourceListGetCount)) { return ((PFN_NETWAKESOURCELISTGETCOUNT) NetFunctions[NetWakeSourceListGetCountTableIndex])(NetDriverGlobals, List); } else { ((PFN_WDFDRIVERERRORREPORTAPIMISSING) WdfFunctions[WdfDriverErrorReportApiMissingTableIndex])(WdfDriverGlobals, WdfGetDriver(), NetFrameworkExtensionName, NetWakeSourceListGetCountTableIndex, FALSE); return (SIZE_T)0; } #endif } // // NET Function: NetWakeSourceListGetElement // typedef _IRQL_requires_(PASSIVE_LEVEL) WDFAPI NETWAKESOURCE (NTAPI *PFN_NETWAKESOURCELISTGETELEMENT)( _In_ PNET_DRIVER_GLOBALS DriverGlobals, _In_ CONST NET_WAKE_SOURCE_LIST* List, _In_ SIZE_T Index ); _IRQL_requires_(PASSIVE_LEVEL) FORCEINLINE NETWAKESOURCE NetWakeSourceListGetElement( _In_ CONST NET_WAKE_SOURCE_LIST* List, _In_ SIZE_T Index ) { #if defined(NET_EVERYTHING_ALWAYS_AVAILABLE) return ((PFN_NETWAKESOURCELISTGETELEMENT) NetFunctions[NetWakeSourceListGetElementTableIndex])(NetDriverGlobals, List, Index); #else if (NET_IS_FUNCTION_AVAILABLE(NetWakeSourceListGetElement)) { return ((PFN_NETWAKESOURCELISTGETELEMENT) NetFunctions[NetWakeSourceListGetElementTableIndex])(NetDriverGlobals, List, Index); } else { ((PFN_WDFDRIVERERRORREPORTAPIMISSING) WdfFunctions[WdfDriverErrorReportApiMissingTableIndex])(WdfDriverGlobals, WdfGetDriver(), NetFrameworkExtensionName, NetWakeSourceListGetElementTableIndex, FALSE); return (NETWAKESOURCE)0; } #endif } WDF_EXTERN_C_END