Sample Code

windows driver samples/ Native Wi-Fi Miniport Sample Driver/ C++/ inc/ st_intf.h/

/*++

Copyright (c) Microsoft Corporation. All rights reserved.

Module Name:
    st_intf.h

Abstract:
    Contains interfaces into the ExtSTA port
    
Revision History:
      When        What
    ----------    ----------------------------------------------
    09-04-2007    Created

Notes:

--*/
#pragma once

//
// Forward declaration
//
typedef struct _ADAPTER         ADAPTER, *PADAPTER;
typedef struct _HVL             HVL, *PHVL;
typedef struct _HW              HW, *PHW;
typedef struct _MP_PORT         MP_PORT, *PMP_PORT;
typedef struct _VNIC            VNIC, *PVNIC;


_At_(Attr->ExtSTAAttributes, _Post_notnull_)
NDIS_STATUS
Sta11Fill80211Attributes(
    _In_  PMP_PORT                Port,
    _Inout_ PNDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES Attr
    );

VOID
Sta11Cleanup80211Attributes(
    _In_  PMP_PORT                Port,
    _In_  PNDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES Attr
    );


_Success_(return == NDIS_STATUS_SUCCESS)
NDIS_STATUS
Sta11LoadRegistryInformation(
    _In_      NDIS_HANDLE             MiniportAdapterHandle,
    _In_opt_  NDIS_HANDLE             ConfigurationHandle,
    _Out_     PVOID*                  RegistryInformation
    );

VOID
Sta11FreeRegistryInformation(
    _In_opt_  PVOID                   RegistryInformation
    );

NDIS_STATUS
Sta11AllocatePort(
    _In_  NDIS_HANDLE             MiniportAdapterHandle,
    _In_  PADAPTER                Adapter,
    _In_  PMP_PORT                Port
    );

VOID
Sta11FreePort(
    _In_  PMP_PORT                Port
    );


NDIS_STATUS
Sta11InitializePort(
    _In_  PMP_PORT                Port,
    _In_  PVOID                   RegistryInformation
    );

VOID
Sta11TerminatePort(
    _In_  PMP_PORT                Port
    );

NDIS_STATUS
Sta11PausePort(
    _In_  PMP_PORT                Port
    );

NDIS_STATUS
Sta11RestartPort(
    _In_  PMP_PORT                Port
    );

NDIS_STATUS
Sta11NdisResetStart(
    _In_  PMP_PORT                Port
    );

NDIS_STATUS
Sta11NdisResetEnd(
    _In_  PMP_PORT                Port
    );

NDIS_STATUS
Sta11SetPower(
    _In_  PMP_PORT                Port,
    _In_  NDIS_DEVICE_POWER_STATE NewDevicePowerState
    );

/*
 * This is the OID handler for a station. It handles most of the station specific 
 * OIDs and forwards the rest up to the BasePort for processing.
 * 
 * Look at Port11HandleOidRequest for information about when this function is
 * called
 */
NDIS_STATUS
Sta11OidHandler(
    _In_  PMP_PORT                Port,
    _In_  PNDIS_OID_REQUEST       NdisOidRequest
    );

/*
 * This is the send notifications handler for a station. It can return
 * NDIS_STATUS_PENDING if the station is currently scanning or in the middle of 
 * a roam. Else it would permit the packets go through
 * 
 * Look at Port11NotifySend for information about when this function is
 * called
 */
NDIS_STATUS
Sta11SendEventHandler(
    _In_  PMP_PORT                Port,
    _In_  PMP_TX_MSDU             PacketList,
    _In_  ULONG                   SendFlags
    );

NDIS_STATUS
Sta11SetOperationMode(
    _In_  PMP_PORT                Port,
    _In_  ULONG                   OpMode
    );

/*
 * This is the receive notifications handler for a station. It looks at
 * management packets to update association state. It also looks at data packets
 * and does filtering based on privacy settings. If the packet is mal-formed
 * or not correctly ciphered, this function can return a false to block
 * the packet from getting indicated up to the OS
 * 
 * Look at Port11NotifyReceive for information about when this function is
 * called
 */
NDIS_STATUS
Sta11ReceiveEventHandler(
    _In_  PMP_PORT                Port,
    _In_  PMP_RX_MSDU             PacketList,
    _In_  ULONG                   ReceiveFlags
    );


VOID
Sta11IndicateStatus(
    _In_  PMP_PORT                Port,
    _In_  NDIS_STATUS             StatusCode,
    _In_  PVOID                   StatusBuffer,
    _In_  ULONG                   StatusBufferSize
    );

NDIS_STATUS
Sta11ScanComplete(
    _In_  PMP_PORT                Port,
    _In_  PVOID                   Data
    );

VOID
Sta11Notify(
    _In_  PMP_PORT        Port,
    PVOID               Notif
);


Our Services

  • What our customers say about us?

© 2011-2025 All Rights Reserved. Joya Systems. 4425 South Mopac Building II Suite 101 Austin, TX 78735 Tel: 800-DEV-KERNEL

Privacy Policy. Terms of use. Valid XHTML & CSS