Sample Code
Windows Driver Samples/ Native Wi-Fi Miniport Sample Driver/ C++/ hvl/ hvl_context.h/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #pragma once typedef struct _HVL HVL, *PHVL; typedef struct _VNIC VNIC, *PVNIC; /* Context switches happen between HVL_CONTEXTS. Each such context contains at least one VNIC. */ typedef struct _HVL_CONTEXT { BOOLEAN fCtxInUse; // linkage for a list of contexts LIST_ENTRY Link; // number of VNICs present in this context ULONG ulNumVNics; // the list of VNICs present in this context LIST_ENTRY VNicList; VNIC_SIGNATURE CtxSig; }HVL_CONTEXT, *PHVL_CONTEXT; typedef VOID (* PVNIC_FUNCTION) (PVNIC pVNic, ULONG ulFlags); VOID HvlAssignVNicToContext( _In_ PHVL pHvl, _In_ PVNIC pVNic, _Out_ PHVL_CONTEXT *ppCtx ); VOID HvlinitContext( _In_ PHVL_CONTEXT pCtx, _In_ BOOLEAN fInUse ); VOID HvlRemoveVNicFromCtx( _In_ PHVL pHvl, _In_ PVNIC pVNic ); VOID HvlPerformCtxMerge( PHVL pHvl, BOOLEAN *pfMerged ); VOID HvlPerformCtxSplit( PHVL pHvl, PVNIC pVNic ); _IRQL_requires_(DISPATCH_LEVEL) VOID HvlNotifyAllVNicsInContext( PHVL pHvl, PHVL_CONTEXT pCtx, PVNIC_FUNCTION pVnicFn, ULONG ulFlags ); PHVL_CONTEXT HvlFindNextCtx(PHVL pHvl); VOID HvlUpdateActiveCtx(PHVL pHvl, PHVL_CONTEXT pCurrCtx, PHVL_CONTEXT pNextCtx); |
Our Services
-
What our customers say about us?
Read our customer testimonials to find out why our clients keep returning for their projects.
View Testimonials