ntddndis.h
来自「用于查询PC机上的USB端口是否有设备挂接上」· C头文件 代码 · 共 2,060 行 · 第 1/4 页
H
2,060 行
ULONG conn_resp_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG reconn_resp_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG disconn_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG NEI_reg_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG reconn_retry_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG link_reset_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG link_reset_ack_timer; // secs. per CS-CDPD Implementor Guidelines.
ULONG n401_retry_limit; // per CS-CDPD Implementor Guidelines.
ULONG n402_retry_limit; // per CS-CDPD Implementor Guidelines.
ULONG n404_retry_limit; // per CS-CDPD Implementor Guidelines.
ULONG n405_retry_limit; // per CS-CDPD Implementor Guidelines.
} WW_CDPD_CIRCUIT_SWITCHED, *WW_PCDPD_CIRCUIT_SWITCHED;
typedef ULONG WW_CDPD_RSSI;
//
// OID_WW_PIN_LOC_AUTHORIZE
//
typedef INT WW_PIN_AUTHORIZED; // 0 = unauthorized
// 1 = authorized
// -1 = unknown
//
// OID_WW_PIN_LAST_LOCATION
// OID_WW_PIN_LOC_FIX
//
typedef struct _WW_PIN_LOCATION
{
INT Latitude; // Latitude in hundredths of a second
INT Longitude; // Longitude in hundredths of a second
INT Altitude; // Altitude in feet
INT FixTime; // Time of the location fix, since midnight, local time (of the
// current day), in tenths of a second
INT NetTime; // Current local network time of the current day, since midnight,
// in tenths of a second
INT LocQuality; // 0-100 = location quality
INT LatReg; // Latitude registration offset, in hundredths of a second
INT LongReg; // Longitude registration offset, in hundredths of a second
INT GMTOffset; // Offset in minutes of the local time zone from GMT
} WW_PIN_LOCATION, *PWW_PIN_LOCATION;
//
// The following is set on a per-packet basis as OOB data with NdisClassWirelessWanMbxMailbox
//
typedef ULONG WW_MBX_MAILBOX_FLAG; // 1 = set mailbox flag, 0 = do not set mailbox flag
//
// OID_WW_MBX_SUBADDR
//
typedef struct _WW_MBX_PMAN
{
BOOLEAN ACTION; // 0 = Login PMAN, 1 = Logout PMAN
ULONG MAN;
UCHAR PASSWORD[8]; // Password should be null for Logout and indications.
// Maximum length of password is 8 chars.
} WW_MBX_PMAN, *PWW_MBX_PMAN;
//
// OID_WW_MBX_FLEXLIST
//
typedef struct _WW_MBX_FLEXLIST
{
INT count; // Number of MAN entries used.
// -1=unknown.
ULONG MAN[7]; // List of MANs.
} WW_MBX_FLEXLIST;
//
// OID_WW_MBX_GROUPLIST
//
typedef struct _WW_MBX_GROUPLIST
{
INT count; // Number of MAN entries used.
// -1=unknown.
ULONG MAN[15]; // List of MANs.
} WW_MBX_GROUPLIST;
//
// OID_WW_MBX_TRAFFIC_AREA
//
typedef enum _WW_MBX_TRAFFIC_AREA
{
unknown_traffic_area, // The driver has no information about the current traffic area.
in_traffic_area, // Mobile unit has entered a subscribed traffic area.
in_auth_traffic_area, // Mobile unit is outside traffic area but is authorized.
unauth_traffic_area // Mobile unit is outside traffic area but is un-authorized.
} WW_MBX_TRAFFIC_AREA;
//
// OID_WW_MBX_LIVE_DIE
//
typedef INT WW_MBX_LIVE_DIE; // 0 = DIE last received
// 1 = LIVE last received
// -1 = unknown
//
// OID_WW_MBX_TEMP_DEFAULTLIST
//
typedef struct _WW_MBX_CHANNEL_PAIR
{
ULONG Mobile_Tx;
ULONG Mobile_Rx;
} WW_MBX_CHANNEL_PAIR, *PWW_MBX_CHANNEL_PAIR;
typedef struct _WW_MBX_TEMPDEFAULTLIST
{
ULONG Length;
WW_MBX_CHANNEL_PAIR ChannelPair[1];
} WW_MBX_TEMPDEFAULTLIST, *WW_PMBX_TEMPDEFAULTLIST;
#endif // WIRELESS_WAN
//
//
// Base types that were redefined for BPC
//
// BPC_FILETIME is used exactly like FILETIME in Win32
//
// BPC_HANDLE is opaque to everything except the Miniport
//
typedef struct _BPC_FILETIME
{
ULONG dwLowDateTime;
ULONG dwHighDateTime;
} BPC_FILETIME, *PBPC_FILETIME;
typedef PVOID BPC_HANDLE;
//
// BPC Extension Globals
//
//
#define BPC_MIN_DIMENSION 1
#define BPC_MAX_BUFFER_SIZE 64
#define BPC_MIN_BUFFER_SIZE 4
#define BPC_DEVICE_ANY ((BPC_HANDLE) 0xFFFFFFFF)
//
// Buffer indicate reason codes
//
//
typedef enum _NDIS_BPC_INDICATE_REASON
{
bpcBufferFull = 0,
bpcBufferForced,
bpcBufferTimeOut,
bpcBufferDiscontinuity,
bpcBufferOverflow,
bpcBufferStatusEvent
} NDIS_BPC_INDICATE_REASON, *PNDIS_BPC_INDICATE_REASON;
//
// BPC Stream Types
//
#define BPC_STREAM_TYPE_GENERIC_MIN 0x01000000
#define BPC_STREAM_TYPE_RAW 0x01000000
#define BPC_STREAM_TYPE_MPT_128 0x01000001
#define BPC_STREAM_TYPE_MPT_128_CRC 0x01000002
#define BPC_STREAM_TYPE_IP 0x01000003
#define BPC_STREAM_TYPE_PROVIDER_MIN 0x02000000
#define BPC_STREAM_TYPE_PROVIDER_MAX 0x02ffffff
#define BPC_STREAM_TYPE_ADAPTER_MIN 0x03000000
#define BPC_STREAM_TYPE_ADAPTER_MAX 0x03ffffff
//
// BPC Adapter Capabilities
//
typedef struct _NDIS_BPC_ADAPTER_CAPS
{
ULONG ulBPCMajorRev;
ULONG ulBPCMinorRev;
ULONG ulcHSDataDevices;
ULONG ulbpsHSDeviceMax;
ULONG ulcLSDataDevices;
ULONG ulbpsLSDeviceMax;
ULONG ulcTuningDevices;
ULONG ulcbLargestStatus;
ULONG ulVendorId;
ULONG ulAdapterId;
GUID guidProvider;
} NDIS_BPC_ADAPTER_CAPS, *PNDIS_BPC_ADAPTER_CAPS;
//
// BPC Device Enumeration
//
typedef struct _NDIS_BPC_DEVICES
{
ULONG ulcDevices;
BPC_HANDLE rgnhDevices[BPC_MIN_DIMENSION];
} NDIS_BPC_DEVICES, *PNDIS_BPC_DEVICES;
#define CbDevices(cnt) (FIELD_OFFSET(NDIS_BPC_DEVICES, rgnhDevices) + (cnt) * sizeof(BPC_HANDLE))
//
// BPC Device Capabilities Structure
//
typedef struct NDIS_BPC_DEVICE_CAPS
{
BPC_HANDLE nhDevice;
ULONG ulBPCCaps;
ULONG ulbpsMax;
ULONG ulcStreamTypes;
ULONG rgulStreamTypes[BPC_MIN_DIMENSION];
} NDIS_BPC_DEVICE_CAPS, *PNDIS_BPC_DEVICE_CAPS;
#define CbDeviceCaps(cnt) (FIELD_OFFSET(NDIS_BPC_DEVICE_CAPS, rgulStreamTypes) + (cnt) * sizeof(ULONG))
//
// BPC Device Capability Definitions
// (ie Flags that can be set in ulBPCCaps
//
#define BPCCapBusMasteredData 0x01
#define BPCCapIndependentTuner 0x02
#define BPCCapExternalDataBus 0x04
#define BPCCapLowSpeedData 0x10
#define BPCCapHighSpeedData 0x20
//
// BPC Device Settings Structure
//
typedef struct NDIS_BPC_DEVICE_SETTINGS
{
BPC_HANDLE nhDevice;
ULONG ulBPCCaps;
ULONG ulcConnections;
BOOLEAN fEnabled;
ULONG ulStreamType;
ULONG ulcbAddressConnection;
ULONG rgulAddressConnection[BPC_MIN_DIMENSION];
} NDIS_BPC_DEVICE_SETTINGS, *PNDIS_BPC_DEVICE_SETTINGS;
#define CbDeviceSettings(cnt) (FIELD_OFFSET(NDIS_BPC_DEVICE_SETTINGS, rgulAddressConnection) + (cnt) * sizeof(ULONG))
//
// BPC Connection State Definitions
// (ie Acceptable values for ulState)
//
#define BPC_CONNECT_STATE_UNCOMMITTED 0
#define BPC_CONNECT_STATE_QUEUED 1
#define BPC_CONNECT_STATE_ACTIVE 2
#define BPC_CONNECT_STATE_DISCONNECTING 3
//
// BPC Connections Status Structure
//
typedef struct NDIS_BPC_CONNECTION_STATUS
{
BPC_HANDLE nhConnection;
BPC_HANDLE nhDevice;
ULONG ulConnectPriority;
ULONG ulDisconnectPriority;
ULONG ulbpsAverage;
ULONG ulbpsBurst;
ULONG ulState;
BOOLEAN fEnabled;
} NDIS_BPC_CONNECTION_STATUS, *PNDIS_BPC_CONNECTION_STATUS;
//
// BPC Address Comparison Structure
//
typedef struct NDIS_BPC_ADDRESS_COMPARE
{
BOOLEAN fEqual;
ULONG ulcbFirstOffset;
ULONG ulcbFirstLength;
ULONG ulcbSecondOffset;
ULONG ulcbSecondLength;
} NDIS_BPC_ADDRESS_COMPARE, *PNDIS_BPC_ADDRESS_COMPARE;
//
// BPC Program Guide Types
//
// Currently there are no Generic BPC Program Guide types.
//
#define BPC_GUIDE_GENERIC_MIN 0x01000000
#define BPC_GUIDE_GENERIC_MAX 0x01ffffff
#define BPC_GUIDE_PROVIDER_MIN 0x02000000
#define BPC_GUIDE_PROVIDER_MAX 0x02ffffff
#define BPC_GUIDE_ADAPTER_MIN 0x03000000
#define BPC_GUIDE_ADAPTER_MAX 0x03ffffff
//
// BPC Program Guide Structure
//
typedef struct NDIS_BPC_PROGRAM_GUIDE
{
ULONG ulGuideType;
BPC_FILETIME ftLastUpdate;
ULONG ulChangeNumber;
ULONG ulcbGuideSize;
ULONG rgulGuideData[BPC_MIN_DIMENSION];
} NDIS_BPC_PROGRAM_GUIDE, *PNDIS_BPC_PROGRAM_GUIDE;
//
// BPC Extension Errors
// (ie Acceptable values for ulBPCError)
//
typedef enum _NDIS_BPC_ERROR
{
bpcErrorUnknownFailure = 0xc0ff0000,
bpcErrorHardwareFailure,
bpcErrorProviderFailure,
bpcErrorNoDataDevice,
bpcErrorNoTuningDevice,
bpcErrorDeviceNotCapable,
bpcErrorConflictingDevice,
bpcErrorConflictingCapability,
bpcErrorNoBufferMemory,
bpcErrorNoResources,
bpcErrorAdapterClosing,
bpcErrorConnectionClosing,
bpcErrorTooComplex,
bpcErrorProviderNotSupported,
bpcErrorUnknownProviderStructure,
bpcErrorAddressNotSupported,
bpcErrorInvalidAddress,
bpcErrorUnknownAdapterStructure
} NDIS_BPC_ERROR, *PNDIS_BPC_ERROR;
//
// BPC Last Error Structure
//
typedef struct NDIS_BPC_LAST_ERROR
{
ULONG ulErrorContext;
ULONG ulBPCError;
ULONG ulAdapterError;
ULONG ulAdapterContext;
} NDIS_BPC_LAST_ERROR, *PNDIS_BPC_LAST_ERROR;
//
// BPC Buffer Pool Request/Report Structure
//
typedef struct NDIS_BPC_POOL
{
BPC_HANDLE nhConnection;
ULONG ulcbPoolSize;
ULONG ulcbMaxBufferSize;
ULONG ulcbBufferReserved;
} NDIS_BPC_POOL, *PNDIS_BPC_POOL;
//
// BPC Provider and Adapter Specific Structures are defined in the
// BpcXXXX.H file which the Provider/Adapter Manufacturer supplies.
//
//
// BPC Connect Structure
//
typedef struct NDIS_BPC_CONNECT
{
BPC_HANDLE nhConnection;
BPC_HANDLE nhDevice;
ULONG ulConnectPriority;
ULONG ulDisconnectPriority;
BOOLEAN fImmediate;
ULONG ulcbAddress;
GUID guidProvider;
ULONG rgulAddress[BPC_MIN_DIMENSION];
} NDIS_BPC_CONNECT, *PNDIS_BPC_CONNECT;
#define CbConnect(cnt) (FIELD_OFFSET(NDIS_BPC_CONNECT, rgulAddress) + (cnt) * sizeof(ULONG))
//
// BPC Commit Connections Structure
//
typedef struct NDIS_BPC_COMMIT
{
ULONG ulcConnections;
BPC_HANDLE rgnhConnections[BPC_MIN_DIMENSION];
} NDIS_BPC_COMMIT, *PNDIS_BPC_COMMIT;
//
// BPC Disconnect Structure
//
typedef struct NDIS_BPC_DISCONNECT
{
BPC_HANDLE nhConnection;
} NDIS_BPC_DISCONNECT, *PNDIS_BPC_DISCONNECT;
//
// BPC Enable Connection Structure
//
typedef struct NDIS_BPC_CONNECTION_ENABLE
{
BPC_HANDLE nhConnection;
BOOLEAN fEnabled;
} NDIS_BPC_CONNECTION_ENABLE, *PNDIS_BPC_CONNECTION_ENABLE;
//
// BPC Pool Return Structure
//
typedef struct NDIS_BPC_POOL_RETURN
{
BPC_HANDLE nhConnection;
} NDIS_BPC_POOL_RETURN, *PNDIS_BPC_POOL_RETURN;
typedef struct NDIS_BPC_FORCE_RECEIVE
{
BPC_HANDLE nhConnection;
ULONG ulReasonCode;
} NDIS_BPC_FORCE_RECEIVE, *PNDIS_BPC_FORCE_RECEIVE;
//
// BPC Media Specific Information Structure
//
typedef struct NDIS_BPC_MEDIA_SPECIFIC_INFORMATION
{
BPC_HANDLE nhConnection; // The handle to the data device.
ULONG ulBPCStreamType; // The stream type of the data in packet
ULONG ulReasonCode; // The reason the buffer was indicated
PVOID pvMiniportReserved1;
ULONG ulMiniportReserved2;
} NDIS_BPC_MEDIA_SPECIFIC_INFORMATION, *PNDIS_BPC_MEDIA_SPECIFIC_INFORMATION;
//
// BPC Status Categories
//
#define BPC_CATEGORY_BPC 0x01000000
#define BPC_CATEGORY_PROVIDER 0x02000000
#define BPC_CATEGORY_ADAPTER 0x03000000
//
// BPC Status Types for Category BPC_CATEGORY_BPC
//
#define BPC_STATUS_CONNECTED 0x00000001
#define BPC_STATUS_QUEUED 0x00000002
#define BPC_STATUS_ACTIVE 0x00000003
#define BPC_STATUS_DISCONNECTED 0x00000004
#define BPC_STATUS_OVERFLOW 0x00000005
#define BPC_STATUS_DATA_STOP 0x00000006
#define BPC_STATUS_DATA_START 0x00000007
#define BPC_STATUS_DATA_ERROR 0x00000008
//
// BPC Status Indication Structure
//
typedef struct NDIS_BPC_STATUS
{
ULONG ulStatusCategory;
ULONG ulStatusType;
ULONG ulcbStatus;
ULONG rgulStatus;
} NDIS_BPC_STATUS, *PNDIS_BPC_STATUS;
//
// BPC Connection Status Structure
//
// All BPC Generic Connection Status package this structure
// in rgulStatus to indicate to which connection and device
// the status pertains.
//
typedef struct NDIS_BPC_STATUS_CONNECTION
{
BPC_HANDLE nhConnection;
BPC_HANDLE nhDevice;
} NDIS_BPC_STATUS_CONNECTED, *PNDIS_BPC_STATUS_CONNECTED;
#endif // _NTDDNDIS_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?