Win32 API 日本語リファレンス
ホームNetworkManagement.WiFi › DOT11EXT_IHV_HANDLERS

DOT11EXT_IHV_HANDLERS

構造体
サイズx64: 152 バイト / x86: 76 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

フィールドサイズx64x86説明
Dot11ExtIhvDeinitServiceDOT11EXTIHV_DEINIT_SERVICE8/4+0+0IHVサービスの終了処理を行うハンドラー関数ポインター。
Dot11ExtIhvInitAdapterDOT11EXTIHV_INIT_ADAPTER8/4+8+4アダプター初期化を行うハンドラー関数ポインター。
Dot11ExtIhvDeinitAdapterDOT11EXTIHV_DEINIT_ADAPTER8/4+16+8アダプター終了処理を行うハンドラー関数ポインター。
Dot11ExtIhvPerformPreAssociateDOT11EXTIHV_PERFORM_PRE_ASSOCIATE8/4+24+12関連付け前処理を実行するハンドラー関数ポインター。
Dot11ExtIhvAdapterResetDOT11EXTIHV_ADAPTER_RESET8/4+32+16アダプターのリセットを行うハンドラー関数ポインター。
Dot11ExtIhvPerformPostAssociateDOT11EXTIHV_PERFORM_POST_ASSOCIATE8/4+40+20関連付け後処理を実行するハンドラー関数ポインター。
Dot11ExtIhvStopPostAssociateDOT11EXTIHV_STOP_POST_ASSOCIATE8/4+48+24関連付け後処理を停止するハンドラー関数ポインター。
Dot11ExtIhvValidateProfileDOT11EXTIHV_VALIDATE_PROFILE8/4+56+28プロファイルの妥当性を検証するハンドラー関数ポインター。
Dot11ExtIhvPerformCapabilityMatchDOT11EXTIHV_PERFORM_CAPABILITY_MATCH8/4+64+32能力一致判定を行うハンドラー関数ポインター。
Dot11ExtIhvCreateDiscoveryProfilesDOT11EXTIHV_CREATE_DISCOVERY_PROFILES8/4+72+36検出プロファイルを生成するハンドラー関数ポインター。
Dot11ExtIhvProcessSessionChangeDOT11EXTIHV_PROCESS_SESSION_CHANGE8/4+80+40セッション変更を処理するハンドラー関数ポインター。
Dot11ExtIhvReceiveIndicationDOT11EXTIHV_RECEIVE_INDICATION8/4+88+44受信インジケーションを処理するハンドラー関数ポインター。
Dot11ExtIhvReceivePacketDOT11EXTIHV_RECEIVE_PACKET8/4+96+48受信パケットを処理するハンドラー関数ポインター。
Dot11ExtIhvSendPacketCompletionDOT11EXTIHV_SEND_PACKET_COMPLETION8/4+104+52パケット送信完了を通知するハンドラー関数ポインター。
Dot11ExtIhvIsUIRequestPendingDOT11EXTIHV_IS_UI_REQUEST_PENDING8/4+112+56UI要求が保留中かを判定するハンドラー関数ポインター。
Dot11ExtIhvProcessUIResponseDOT11EXTIHV_PROCESS_UI_RESPONSE8/4+120+60UI応答を処理するハンドラー関数ポインター。
Dot11ExtIhvQueryUIRequestDOT11EXTIHV_QUERY_UI_REQUEST8/4+128+64保留中のUI要求を照会するハンドラー関数ポインター。
Dot11ExtIhvOnexIndicateResultDOT11EXTIHV_ONEX_INDICATE_RESULT8/4+136+681X認証結果を通知するハンドラー関数ポインター。
Dot11ExtIhvControlDOT11EXTIHV_CONTROL8/4+144+72IHV固有の制御要求を処理するハンドラー関数ポインター。

各言語での定義

#include <windows.h>

// DOT11EXT_IHV_HANDLERS  (x64 152 / x86 76 バイト)
typedef struct DOT11EXT_IHV_HANDLERS {
    DOT11EXTIHV_DEINIT_SERVICE Dot11ExtIhvDeinitService;
    DOT11EXTIHV_INIT_ADAPTER Dot11ExtIhvInitAdapter;
    DOT11EXTIHV_DEINIT_ADAPTER Dot11ExtIhvDeinitAdapter;
    DOT11EXTIHV_PERFORM_PRE_ASSOCIATE Dot11ExtIhvPerformPreAssociate;
    DOT11EXTIHV_ADAPTER_RESET Dot11ExtIhvAdapterReset;
    DOT11EXTIHV_PERFORM_POST_ASSOCIATE Dot11ExtIhvPerformPostAssociate;
    DOT11EXTIHV_STOP_POST_ASSOCIATE Dot11ExtIhvStopPostAssociate;
    DOT11EXTIHV_VALIDATE_PROFILE Dot11ExtIhvValidateProfile;
    DOT11EXTIHV_PERFORM_CAPABILITY_MATCH Dot11ExtIhvPerformCapabilityMatch;
    DOT11EXTIHV_CREATE_DISCOVERY_PROFILES Dot11ExtIhvCreateDiscoveryProfiles;
    DOT11EXTIHV_PROCESS_SESSION_CHANGE Dot11ExtIhvProcessSessionChange;
    DOT11EXTIHV_RECEIVE_INDICATION Dot11ExtIhvReceiveIndication;
    DOT11EXTIHV_RECEIVE_PACKET Dot11ExtIhvReceivePacket;
    DOT11EXTIHV_SEND_PACKET_COMPLETION Dot11ExtIhvSendPacketCompletion;
    DOT11EXTIHV_IS_UI_REQUEST_PENDING Dot11ExtIhvIsUIRequestPending;
    DOT11EXTIHV_PROCESS_UI_RESPONSE Dot11ExtIhvProcessUIResponse;
    DOT11EXTIHV_QUERY_UI_REQUEST Dot11ExtIhvQueryUIRequest;
    DOT11EXTIHV_ONEX_INDICATE_RESULT Dot11ExtIhvOnexIndicateResult;
    DOT11EXTIHV_CONTROL Dot11ExtIhvControl;
} DOT11EXT_IHV_HANDLERS;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DOT11EXT_IHV_HANDLERS
{
    public IntPtr Dot11ExtIhvDeinitService;
    public IntPtr Dot11ExtIhvInitAdapter;
    public IntPtr Dot11ExtIhvDeinitAdapter;
    public IntPtr Dot11ExtIhvPerformPreAssociate;
    public IntPtr Dot11ExtIhvAdapterReset;
    public IntPtr Dot11ExtIhvPerformPostAssociate;
    public IntPtr Dot11ExtIhvStopPostAssociate;
    public IntPtr Dot11ExtIhvValidateProfile;
    public IntPtr Dot11ExtIhvPerformCapabilityMatch;
    public IntPtr Dot11ExtIhvCreateDiscoveryProfiles;
    public IntPtr Dot11ExtIhvProcessSessionChange;
    public IntPtr Dot11ExtIhvReceiveIndication;
    public IntPtr Dot11ExtIhvReceivePacket;
    public IntPtr Dot11ExtIhvSendPacketCompletion;
    public IntPtr Dot11ExtIhvIsUIRequestPending;
    public IntPtr Dot11ExtIhvProcessUIResponse;
    public IntPtr Dot11ExtIhvQueryUIRequest;
    public IntPtr Dot11ExtIhvOnexIndicateResult;
    public IntPtr Dot11ExtIhvControl;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure DOT11EXT_IHV_HANDLERS
    Public Dot11ExtIhvDeinitService As IntPtr
    Public Dot11ExtIhvInitAdapter As IntPtr
    Public Dot11ExtIhvDeinitAdapter As IntPtr
    Public Dot11ExtIhvPerformPreAssociate As IntPtr
    Public Dot11ExtIhvAdapterReset As IntPtr
    Public Dot11ExtIhvPerformPostAssociate As IntPtr
    Public Dot11ExtIhvStopPostAssociate As IntPtr
    Public Dot11ExtIhvValidateProfile As IntPtr
    Public Dot11ExtIhvPerformCapabilityMatch As IntPtr
    Public Dot11ExtIhvCreateDiscoveryProfiles As IntPtr
    Public Dot11ExtIhvProcessSessionChange As IntPtr
    Public Dot11ExtIhvReceiveIndication As IntPtr
    Public Dot11ExtIhvReceivePacket As IntPtr
    Public Dot11ExtIhvSendPacketCompletion As IntPtr
    Public Dot11ExtIhvIsUIRequestPending As IntPtr
    Public Dot11ExtIhvProcessUIResponse As IntPtr
    Public Dot11ExtIhvQueryUIRequest As IntPtr
    Public Dot11ExtIhvOnexIndicateResult As IntPtr
    Public Dot11ExtIhvControl As IntPtr
End Structure
import ctypes
from ctypes import wintypes

class DOT11EXT_IHV_HANDLERS(ctypes.Structure):
    _fields_ = [
        ("Dot11ExtIhvDeinitService", ctypes.c_void_p),
        ("Dot11ExtIhvInitAdapter", ctypes.c_void_p),
        ("Dot11ExtIhvDeinitAdapter", ctypes.c_void_p),
        ("Dot11ExtIhvPerformPreAssociate", ctypes.c_void_p),
        ("Dot11ExtIhvAdapterReset", ctypes.c_void_p),
        ("Dot11ExtIhvPerformPostAssociate", ctypes.c_void_p),
        ("Dot11ExtIhvStopPostAssociate", ctypes.c_void_p),
        ("Dot11ExtIhvValidateProfile", ctypes.c_void_p),
        ("Dot11ExtIhvPerformCapabilityMatch", ctypes.c_void_p),
        ("Dot11ExtIhvCreateDiscoveryProfiles", ctypes.c_void_p),
        ("Dot11ExtIhvProcessSessionChange", ctypes.c_void_p),
        ("Dot11ExtIhvReceiveIndication", ctypes.c_void_p),
        ("Dot11ExtIhvReceivePacket", ctypes.c_void_p),
        ("Dot11ExtIhvSendPacketCompletion", ctypes.c_void_p),
        ("Dot11ExtIhvIsUIRequestPending", ctypes.c_void_p),
        ("Dot11ExtIhvProcessUIResponse", ctypes.c_void_p),
        ("Dot11ExtIhvQueryUIRequest", ctypes.c_void_p),
        ("Dot11ExtIhvOnexIndicateResult", ctypes.c_void_p),
        ("Dot11ExtIhvControl", ctypes.c_void_p),
    ]
#[repr(C)]
pub struct DOT11EXT_IHV_HANDLERS {
    pub Dot11ExtIhvDeinitService: *mut core::ffi::c_void,
    pub Dot11ExtIhvInitAdapter: *mut core::ffi::c_void,
    pub Dot11ExtIhvDeinitAdapter: *mut core::ffi::c_void,
    pub Dot11ExtIhvPerformPreAssociate: *mut core::ffi::c_void,
    pub Dot11ExtIhvAdapterReset: *mut core::ffi::c_void,
    pub Dot11ExtIhvPerformPostAssociate: *mut core::ffi::c_void,
    pub Dot11ExtIhvStopPostAssociate: *mut core::ffi::c_void,
    pub Dot11ExtIhvValidateProfile: *mut core::ffi::c_void,
    pub Dot11ExtIhvPerformCapabilityMatch: *mut core::ffi::c_void,
    pub Dot11ExtIhvCreateDiscoveryProfiles: *mut core::ffi::c_void,
    pub Dot11ExtIhvProcessSessionChange: *mut core::ffi::c_void,
    pub Dot11ExtIhvReceiveIndication: *mut core::ffi::c_void,
    pub Dot11ExtIhvReceivePacket: *mut core::ffi::c_void,
    pub Dot11ExtIhvSendPacketCompletion: *mut core::ffi::c_void,
    pub Dot11ExtIhvIsUIRequestPending: *mut core::ffi::c_void,
    pub Dot11ExtIhvProcessUIResponse: *mut core::ffi::c_void,
    pub Dot11ExtIhvQueryUIRequest: *mut core::ffi::c_void,
    pub Dot11ExtIhvOnexIndicateResult: *mut core::ffi::c_void,
    pub Dot11ExtIhvControl: *mut core::ffi::c_void,
}
import "golang.org/x/sys/windows"

type DOT11EXT_IHV_HANDLERS struct {
	Dot11ExtIhvDeinitService uintptr
	Dot11ExtIhvInitAdapter uintptr
	Dot11ExtIhvDeinitAdapter uintptr
	Dot11ExtIhvPerformPreAssociate uintptr
	Dot11ExtIhvAdapterReset uintptr
	Dot11ExtIhvPerformPostAssociate uintptr
	Dot11ExtIhvStopPostAssociate uintptr
	Dot11ExtIhvValidateProfile uintptr
	Dot11ExtIhvPerformCapabilityMatch uintptr
	Dot11ExtIhvCreateDiscoveryProfiles uintptr
	Dot11ExtIhvProcessSessionChange uintptr
	Dot11ExtIhvReceiveIndication uintptr
	Dot11ExtIhvReceivePacket uintptr
	Dot11ExtIhvSendPacketCompletion uintptr
	Dot11ExtIhvIsUIRequestPending uintptr
	Dot11ExtIhvProcessUIResponse uintptr
	Dot11ExtIhvQueryUIRequest uintptr
	Dot11ExtIhvOnexIndicateResult uintptr
	Dot11ExtIhvControl uintptr
}
type
  DOT11EXT_IHV_HANDLERS = record
    Dot11ExtIhvDeinitService: Pointer;
    Dot11ExtIhvInitAdapter: Pointer;
    Dot11ExtIhvDeinitAdapter: Pointer;
    Dot11ExtIhvPerformPreAssociate: Pointer;
    Dot11ExtIhvAdapterReset: Pointer;
    Dot11ExtIhvPerformPostAssociate: Pointer;
    Dot11ExtIhvStopPostAssociate: Pointer;
    Dot11ExtIhvValidateProfile: Pointer;
    Dot11ExtIhvPerformCapabilityMatch: Pointer;
    Dot11ExtIhvCreateDiscoveryProfiles: Pointer;
    Dot11ExtIhvProcessSessionChange: Pointer;
    Dot11ExtIhvReceiveIndication: Pointer;
    Dot11ExtIhvReceivePacket: Pointer;
    Dot11ExtIhvSendPacketCompletion: Pointer;
    Dot11ExtIhvIsUIRequestPending: Pointer;
    Dot11ExtIhvProcessUIResponse: Pointer;
    Dot11ExtIhvQueryUIRequest: Pointer;
    Dot11ExtIhvOnexIndicateResult: Pointer;
    Dot11ExtIhvControl: Pointer;
  end;
const DOT11EXT_IHV_HANDLERS = extern struct {
    Dot11ExtIhvDeinitService: ?*anyopaque,
    Dot11ExtIhvInitAdapter: ?*anyopaque,
    Dot11ExtIhvDeinitAdapter: ?*anyopaque,
    Dot11ExtIhvPerformPreAssociate: ?*anyopaque,
    Dot11ExtIhvAdapterReset: ?*anyopaque,
    Dot11ExtIhvPerformPostAssociate: ?*anyopaque,
    Dot11ExtIhvStopPostAssociate: ?*anyopaque,
    Dot11ExtIhvValidateProfile: ?*anyopaque,
    Dot11ExtIhvPerformCapabilityMatch: ?*anyopaque,
    Dot11ExtIhvCreateDiscoveryProfiles: ?*anyopaque,
    Dot11ExtIhvProcessSessionChange: ?*anyopaque,
    Dot11ExtIhvReceiveIndication: ?*anyopaque,
    Dot11ExtIhvReceivePacket: ?*anyopaque,
    Dot11ExtIhvSendPacketCompletion: ?*anyopaque,
    Dot11ExtIhvIsUIRequestPending: ?*anyopaque,
    Dot11ExtIhvProcessUIResponse: ?*anyopaque,
    Dot11ExtIhvQueryUIRequest: ?*anyopaque,
    Dot11ExtIhvOnexIndicateResult: ?*anyopaque,
    Dot11ExtIhvControl: ?*anyopaque,
};
type
  DOT11EXT_IHV_HANDLERS {.bycopy.} = object
    Dot11ExtIhvDeinitService: pointer
    Dot11ExtIhvInitAdapter: pointer
    Dot11ExtIhvDeinitAdapter: pointer
    Dot11ExtIhvPerformPreAssociate: pointer
    Dot11ExtIhvAdapterReset: pointer
    Dot11ExtIhvPerformPostAssociate: pointer
    Dot11ExtIhvStopPostAssociate: pointer
    Dot11ExtIhvValidateProfile: pointer
    Dot11ExtIhvPerformCapabilityMatch: pointer
    Dot11ExtIhvCreateDiscoveryProfiles: pointer
    Dot11ExtIhvProcessSessionChange: pointer
    Dot11ExtIhvReceiveIndication: pointer
    Dot11ExtIhvReceivePacket: pointer
    Dot11ExtIhvSendPacketCompletion: pointer
    Dot11ExtIhvIsUIRequestPending: pointer
    Dot11ExtIhvProcessUIResponse: pointer
    Dot11ExtIhvQueryUIRequest: pointer
    Dot11ExtIhvOnexIndicateResult: pointer
    Dot11ExtIhvControl: pointer
struct DOT11EXT_IHV_HANDLERS
{
    void* Dot11ExtIhvDeinitService;
    void* Dot11ExtIhvInitAdapter;
    void* Dot11ExtIhvDeinitAdapter;
    void* Dot11ExtIhvPerformPreAssociate;
    void* Dot11ExtIhvAdapterReset;
    void* Dot11ExtIhvPerformPostAssociate;
    void* Dot11ExtIhvStopPostAssociate;
    void* Dot11ExtIhvValidateProfile;
    void* Dot11ExtIhvPerformCapabilityMatch;
    void* Dot11ExtIhvCreateDiscoveryProfiles;
    void* Dot11ExtIhvProcessSessionChange;
    void* Dot11ExtIhvReceiveIndication;
    void* Dot11ExtIhvReceivePacket;
    void* Dot11ExtIhvSendPacketCompletion;
    void* Dot11ExtIhvIsUIRequestPending;
    void* Dot11ExtIhvProcessUIResponse;
    void* Dot11ExtIhvQueryUIRequest;
    void* Dot11ExtIhvOnexIndicateResult;
    void* Dot11ExtIhvControl;
}

HSP用 定義

HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; DOT11EXT_IHV_HANDLERS サイズ: 76 バイト(x86)
dim st, 19    ; 4byte整数×19(構造体サイズ 76 / 4 切り上げ)
; Dot11ExtIhvDeinitService : DOT11EXTIHV_DEINIT_SERVICE (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; Dot11ExtIhvInitAdapter : DOT11EXTIHV_INIT_ADAPTER (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; Dot11ExtIhvDeinitAdapter : DOT11EXTIHV_DEINIT_ADAPTER (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; Dot11ExtIhvPerformPreAssociate : DOT11EXTIHV_PERFORM_PRE_ASSOCIATE (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; Dot11ExtIhvAdapterReset : DOT11EXTIHV_ADAPTER_RESET (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; Dot11ExtIhvPerformPostAssociate : DOT11EXTIHV_PERFORM_POST_ASSOCIATE (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; Dot11ExtIhvStopPostAssociate : DOT11EXTIHV_STOP_POST_ASSOCIATE (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; Dot11ExtIhvValidateProfile : DOT11EXTIHV_VALIDATE_PROFILE (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; Dot11ExtIhvPerformCapabilityMatch : DOT11EXTIHV_PERFORM_CAPABILITY_MATCH (+32, 4byte)  st.8 = 値  /  値 = st.8   (lpoke/lpeek も可)
; Dot11ExtIhvCreateDiscoveryProfiles : DOT11EXTIHV_CREATE_DISCOVERY_PROFILES (+36, 4byte)  st.9 = 値  /  値 = st.9   (lpoke/lpeek も可)
; Dot11ExtIhvProcessSessionChange : DOT11EXTIHV_PROCESS_SESSION_CHANGE (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; Dot11ExtIhvReceiveIndication : DOT11EXTIHV_RECEIVE_INDICATION (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; Dot11ExtIhvReceivePacket : DOT11EXTIHV_RECEIVE_PACKET (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; Dot11ExtIhvSendPacketCompletion : DOT11EXTIHV_SEND_PACKET_COMPLETION (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; Dot11ExtIhvIsUIRequestPending : DOT11EXTIHV_IS_UI_REQUEST_PENDING (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; Dot11ExtIhvProcessUIResponse : DOT11EXTIHV_PROCESS_UI_RESPONSE (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; Dot11ExtIhvQueryUIRequest : DOT11EXTIHV_QUERY_UI_REQUEST (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; Dot11ExtIhvOnexIndicateResult : DOT11EXTIHV_ONEX_INDICATE_RESULT (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; Dot11ExtIhvControl : DOT11EXTIHV_CONTROL (+72, 4byte)  st.18 = 値  /  値 = st.18   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; DOT11EXT_IHV_HANDLERS サイズ: 152 バイト(x64)
dim st, 38    ; 4byte整数×38(構造体サイズ 152 / 4 切り上げ)
; Dot11ExtIhvDeinitService : DOT11EXTIHV_DEINIT_SERVICE (+0, 8byte)  qpoke st,0,値 / qpeek(st,0)  ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; Dot11ExtIhvInitAdapter : DOT11EXTIHV_INIT_ADAPTER (+8, 8byte)  qpoke st,8,値 / qpeek(st,8)  ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; Dot11ExtIhvDeinitAdapter : DOT11EXTIHV_DEINIT_ADAPTER (+16, 8byte)  qpoke st,16,値 / qpeek(st,16)  ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; Dot11ExtIhvPerformPreAssociate : DOT11EXTIHV_PERFORM_PRE_ASSOCIATE (+24, 8byte)  qpoke st,24,値 / qpeek(st,24)  ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; Dot11ExtIhvAdapterReset : DOT11EXTIHV_ADAPTER_RESET (+32, 8byte)  qpoke st,32,値 / qpeek(st,32)  ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; Dot11ExtIhvPerformPostAssociate : DOT11EXTIHV_PERFORM_POST_ASSOCIATE (+40, 8byte)  qpoke st,40,値 / qpeek(st,40)  ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; Dot11ExtIhvStopPostAssociate : DOT11EXTIHV_STOP_POST_ASSOCIATE (+48, 8byte)  qpoke st,48,値 / qpeek(st,48)  ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; Dot11ExtIhvValidateProfile : DOT11EXTIHV_VALIDATE_PROFILE (+56, 8byte)  qpoke st,56,値 / qpeek(st,56)  ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; Dot11ExtIhvPerformCapabilityMatch : DOT11EXTIHV_PERFORM_CAPABILITY_MATCH (+64, 8byte)  qpoke st,64,値 / qpeek(st,64)  ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; Dot11ExtIhvCreateDiscoveryProfiles : DOT11EXTIHV_CREATE_DISCOVERY_PROFILES (+72, 8byte)  qpoke st,72,値 / qpeek(st,72)  ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; Dot11ExtIhvProcessSessionChange : DOT11EXTIHV_PROCESS_SESSION_CHANGE (+80, 8byte)  qpoke st,80,値 / qpeek(st,80)  ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; Dot11ExtIhvReceiveIndication : DOT11EXTIHV_RECEIVE_INDICATION (+88, 8byte)  qpoke st,88,値 / qpeek(st,88)  ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; Dot11ExtIhvReceivePacket : DOT11EXTIHV_RECEIVE_PACKET (+96, 8byte)  qpoke st,96,値 / qpeek(st,96)  ※IronHSPのみ。3.7/3.8は lpoke st,96,下位 : lpoke st,100,上位
; Dot11ExtIhvSendPacketCompletion : DOT11EXTIHV_SEND_PACKET_COMPLETION (+104, 8byte)  qpoke st,104,値 / qpeek(st,104)  ※IronHSPのみ。3.7/3.8は lpoke st,104,下位 : lpoke st,108,上位
; Dot11ExtIhvIsUIRequestPending : DOT11EXTIHV_IS_UI_REQUEST_PENDING (+112, 8byte)  qpoke st,112,値 / qpeek(st,112)  ※IronHSPのみ。3.7/3.8は lpoke st,112,下位 : lpoke st,116,上位
; Dot11ExtIhvProcessUIResponse : DOT11EXTIHV_PROCESS_UI_RESPONSE (+120, 8byte)  qpoke st,120,値 / qpeek(st,120)  ※IronHSPのみ。3.7/3.8は lpoke st,120,下位 : lpoke st,124,上位
; Dot11ExtIhvQueryUIRequest : DOT11EXTIHV_QUERY_UI_REQUEST (+128, 8byte)  qpoke st,128,値 / qpeek(st,128)  ※IronHSPのみ。3.7/3.8は lpoke st,128,下位 : lpoke st,132,上位
; Dot11ExtIhvOnexIndicateResult : DOT11EXTIHV_ONEX_INDICATE_RESULT (+136, 8byte)  qpoke st,136,値 / qpeek(st,136)  ※IronHSPのみ。3.7/3.8は lpoke st,136,下位 : lpoke st,140,上位
; Dot11ExtIhvControl : DOT11EXTIHV_CONTROL (+144, 8byte)  qpoke st,144,値 / qpeek(st,144)  ※IronHSPのみ。3.7/3.8は lpoke st,144,下位 : lpoke st,148,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global DOT11EXT_IHV_HANDLERS
    #field intptr Dot11ExtIhvDeinitService
    #field intptr Dot11ExtIhvInitAdapter
    #field intptr Dot11ExtIhvDeinitAdapter
    #field intptr Dot11ExtIhvPerformPreAssociate
    #field intptr Dot11ExtIhvAdapterReset
    #field intptr Dot11ExtIhvPerformPostAssociate
    #field intptr Dot11ExtIhvStopPostAssociate
    #field intptr Dot11ExtIhvValidateProfile
    #field intptr Dot11ExtIhvPerformCapabilityMatch
    #field intptr Dot11ExtIhvCreateDiscoveryProfiles
    #field intptr Dot11ExtIhvProcessSessionChange
    #field intptr Dot11ExtIhvReceiveIndication
    #field intptr Dot11ExtIhvReceivePacket
    #field intptr Dot11ExtIhvSendPacketCompletion
    #field intptr Dot11ExtIhvIsUIRequestPending
    #field intptr Dot11ExtIhvProcessUIResponse
    #field intptr Dot11ExtIhvQueryUIRequest
    #field intptr Dot11ExtIhvOnexIndicateResult
    #field intptr Dot11ExtIhvControl
#endstruct

stdim st, DOT11EXT_IHV_HANDLERS        ; NSTRUCT 変数を確保