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

DOT11EXT_APIS

構造体
サイズx64: 176 バイト / x86: 88 バイト

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

フィールド

フィールドサイズx64x86説明
Dot11ExtAllocateBufferDOT11EXT_ALLOCATE_BUFFER8/4+0+0オペレーティングシステムにバッファ確保を依頼するコールバック関数ポインター。
Dot11ExtFreeBufferDOT11EXT_FREE_BUFFER8/4+8+4確保済みバッファを解放するコールバック関数ポインター。
Dot11ExtSetProfileCustomUserDataDOT11EXT_SET_PROFILE_CUSTOM_USER_DATA8/4+16+8プロファイルにカスタムユーザーデータを設定するコールバック。
Dot11ExtGetProfileCustomUserDataDOT11EXT_GET_PROFILE_CUSTOM_USER_DATA8/4+24+12プロファイルのカスタムユーザーデータを取得するコールバック。
Dot11ExtSetCurrentProfileDOT11EXT_SET_CURRENT_PROFILE8/4+32+16現在のプロファイルを設定するコールバック関数ポインター。
Dot11ExtSendUIRequestDOT11EXT_SEND_UI_REQUEST8/4+40+20UI要求を送信するコールバック関数ポインター。
Dot11ExtPreAssociateCompletionDOT11EXT_PRE_ASSOCIATE_COMPLETION8/4+48+24関連付け前処理の完了を通知するコールバック。
Dot11ExtPostAssociateCompletionDOT11EXT_POST_ASSOCIATE_COMPLETION8/4+56+28関連付け後処理の完了を通知するコールバック。
Dot11ExtSendNotificationDOT11EXT_SEND_NOTIFICATION8/4+64+32通知を送出するコールバック関数ポインター。
Dot11ExtSendPacketDOT11EXT_SEND_PACKET8/4+72+36パケット送信を要求するコールバック関数ポインター。
Dot11ExtSetEtherTypeHandlingDOT11EXT_SET_ETHERTYPE_HANDLING8/4+80+40指定EtherTypeの処理方法を設定するコールバック。
Dot11ExtSetAuthAlgorithmDOT11EXT_SET_AUTH_ALGORITHM8/4+88+44認証アルゴリズムを設定するコールバック関数ポインター。
Dot11ExtSetUnicastCipherAlgorithmDOT11EXT_SET_UNICAST_CIPHER_ALGORITHM8/4+96+48ユニキャスト暗号アルゴリズムを設定するコールバック。
Dot11ExtSetMulticastCipherAlgorithmDOT11EXT_SET_MULTICAST_CIPHER_ALGORITHM8/4+104+52マルチキャスト暗号アルゴリズムを設定するコールバック。
Dot11ExtSetDefaultKeyDOT11EXT_SET_DEFAULT_KEY8/4+112+56デフォルト鍵を設定するコールバック関数ポインター。
Dot11ExtSetKeyMappingKeyDOT11EXT_SET_KEY_MAPPING_KEY8/4+120+60キーマッピング鍵を設定するコールバック関数ポインター。
Dot11ExtSetDefaultKeyIdDOT11EXT_SET_DEFAULT_KEY_ID8/4+128+64デフォルト鍵IDを設定するコールバック関数ポインター。
Dot11ExtNicSpecificExtensionDOT11EXT_NIC_SPECIFIC_EXTENSION8/4+136+68NIC固有拡張を呼び出すコールバック関数ポインター。
Dot11ExtSetExcludeUnencryptedDOT11EXT_SET_EXCLUDE_UNENCRYPTED8/4+144+72非暗号化フレームの除外設定を行うコールバック。
Dot11ExtStartOneXDOT11EXT_ONEX_START8/4+152+76802.1X認証を開始するコールバック関数ポインター。
Dot11ExtStopOneXDOT11EXT_ONEX_STOP8/4+160+80802.1X認証を停止するコールバック関数ポインター。
Dot11ExtProcessSecurityPacketDOT11EXT_PROCESS_ONEX_PACKET8/4+168+84受信した1Xセキュリティパケットを処理するコールバック。

各言語での定義

#include <windows.h>

// DOT11EXT_APIS  (x64 176 / x86 88 バイト)
typedef struct DOT11EXT_APIS {
    DOT11EXT_ALLOCATE_BUFFER Dot11ExtAllocateBuffer;
    DOT11EXT_FREE_BUFFER Dot11ExtFreeBuffer;
    DOT11EXT_SET_PROFILE_CUSTOM_USER_DATA Dot11ExtSetProfileCustomUserData;
    DOT11EXT_GET_PROFILE_CUSTOM_USER_DATA Dot11ExtGetProfileCustomUserData;
    DOT11EXT_SET_CURRENT_PROFILE Dot11ExtSetCurrentProfile;
    DOT11EXT_SEND_UI_REQUEST Dot11ExtSendUIRequest;
    DOT11EXT_PRE_ASSOCIATE_COMPLETION Dot11ExtPreAssociateCompletion;
    DOT11EXT_POST_ASSOCIATE_COMPLETION Dot11ExtPostAssociateCompletion;
    DOT11EXT_SEND_NOTIFICATION Dot11ExtSendNotification;
    DOT11EXT_SEND_PACKET Dot11ExtSendPacket;
    DOT11EXT_SET_ETHERTYPE_HANDLING Dot11ExtSetEtherTypeHandling;
    DOT11EXT_SET_AUTH_ALGORITHM Dot11ExtSetAuthAlgorithm;
    DOT11EXT_SET_UNICAST_CIPHER_ALGORITHM Dot11ExtSetUnicastCipherAlgorithm;
    DOT11EXT_SET_MULTICAST_CIPHER_ALGORITHM Dot11ExtSetMulticastCipherAlgorithm;
    DOT11EXT_SET_DEFAULT_KEY Dot11ExtSetDefaultKey;
    DOT11EXT_SET_KEY_MAPPING_KEY Dot11ExtSetKeyMappingKey;
    DOT11EXT_SET_DEFAULT_KEY_ID Dot11ExtSetDefaultKeyId;
    DOT11EXT_NIC_SPECIFIC_EXTENSION Dot11ExtNicSpecificExtension;
    DOT11EXT_SET_EXCLUDE_UNENCRYPTED Dot11ExtSetExcludeUnencrypted;
    DOT11EXT_ONEX_START Dot11ExtStartOneX;
    DOT11EXT_ONEX_STOP Dot11ExtStopOneX;
    DOT11EXT_PROCESS_ONEX_PACKET Dot11ExtProcessSecurityPacket;
} DOT11EXT_APIS;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DOT11EXT_APIS
{
    public IntPtr Dot11ExtAllocateBuffer;
    public IntPtr Dot11ExtFreeBuffer;
    public IntPtr Dot11ExtSetProfileCustomUserData;
    public IntPtr Dot11ExtGetProfileCustomUserData;
    public IntPtr Dot11ExtSetCurrentProfile;
    public IntPtr Dot11ExtSendUIRequest;
    public IntPtr Dot11ExtPreAssociateCompletion;
    public IntPtr Dot11ExtPostAssociateCompletion;
    public IntPtr Dot11ExtSendNotification;
    public IntPtr Dot11ExtSendPacket;
    public IntPtr Dot11ExtSetEtherTypeHandling;
    public IntPtr Dot11ExtSetAuthAlgorithm;
    public IntPtr Dot11ExtSetUnicastCipherAlgorithm;
    public IntPtr Dot11ExtSetMulticastCipherAlgorithm;
    public IntPtr Dot11ExtSetDefaultKey;
    public IntPtr Dot11ExtSetKeyMappingKey;
    public IntPtr Dot11ExtSetDefaultKeyId;
    public IntPtr Dot11ExtNicSpecificExtension;
    public IntPtr Dot11ExtSetExcludeUnencrypted;
    public IntPtr Dot11ExtStartOneX;
    public IntPtr Dot11ExtStopOneX;
    public IntPtr Dot11ExtProcessSecurityPacket;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure DOT11EXT_APIS
    Public Dot11ExtAllocateBuffer As IntPtr
    Public Dot11ExtFreeBuffer As IntPtr
    Public Dot11ExtSetProfileCustomUserData As IntPtr
    Public Dot11ExtGetProfileCustomUserData As IntPtr
    Public Dot11ExtSetCurrentProfile As IntPtr
    Public Dot11ExtSendUIRequest As IntPtr
    Public Dot11ExtPreAssociateCompletion As IntPtr
    Public Dot11ExtPostAssociateCompletion As IntPtr
    Public Dot11ExtSendNotification As IntPtr
    Public Dot11ExtSendPacket As IntPtr
    Public Dot11ExtSetEtherTypeHandling As IntPtr
    Public Dot11ExtSetAuthAlgorithm As IntPtr
    Public Dot11ExtSetUnicastCipherAlgorithm As IntPtr
    Public Dot11ExtSetMulticastCipherAlgorithm As IntPtr
    Public Dot11ExtSetDefaultKey As IntPtr
    Public Dot11ExtSetKeyMappingKey As IntPtr
    Public Dot11ExtSetDefaultKeyId As IntPtr
    Public Dot11ExtNicSpecificExtension As IntPtr
    Public Dot11ExtSetExcludeUnencrypted As IntPtr
    Public Dot11ExtStartOneX As IntPtr
    Public Dot11ExtStopOneX As IntPtr
    Public Dot11ExtProcessSecurityPacket As IntPtr
End Structure
import ctypes
from ctypes import wintypes

class DOT11EXT_APIS(ctypes.Structure):
    _fields_ = [
        ("Dot11ExtAllocateBuffer", ctypes.c_void_p),
        ("Dot11ExtFreeBuffer", ctypes.c_void_p),
        ("Dot11ExtSetProfileCustomUserData", ctypes.c_void_p),
        ("Dot11ExtGetProfileCustomUserData", ctypes.c_void_p),
        ("Dot11ExtSetCurrentProfile", ctypes.c_void_p),
        ("Dot11ExtSendUIRequest", ctypes.c_void_p),
        ("Dot11ExtPreAssociateCompletion", ctypes.c_void_p),
        ("Dot11ExtPostAssociateCompletion", ctypes.c_void_p),
        ("Dot11ExtSendNotification", ctypes.c_void_p),
        ("Dot11ExtSendPacket", ctypes.c_void_p),
        ("Dot11ExtSetEtherTypeHandling", ctypes.c_void_p),
        ("Dot11ExtSetAuthAlgorithm", ctypes.c_void_p),
        ("Dot11ExtSetUnicastCipherAlgorithm", ctypes.c_void_p),
        ("Dot11ExtSetMulticastCipherAlgorithm", ctypes.c_void_p),
        ("Dot11ExtSetDefaultKey", ctypes.c_void_p),
        ("Dot11ExtSetKeyMappingKey", ctypes.c_void_p),
        ("Dot11ExtSetDefaultKeyId", ctypes.c_void_p),
        ("Dot11ExtNicSpecificExtension", ctypes.c_void_p),
        ("Dot11ExtSetExcludeUnencrypted", ctypes.c_void_p),
        ("Dot11ExtStartOneX", ctypes.c_void_p),
        ("Dot11ExtStopOneX", ctypes.c_void_p),
        ("Dot11ExtProcessSecurityPacket", ctypes.c_void_p),
    ]
#[repr(C)]
pub struct DOT11EXT_APIS {
    pub Dot11ExtAllocateBuffer: *mut core::ffi::c_void,
    pub Dot11ExtFreeBuffer: *mut core::ffi::c_void,
    pub Dot11ExtSetProfileCustomUserData: *mut core::ffi::c_void,
    pub Dot11ExtGetProfileCustomUserData: *mut core::ffi::c_void,
    pub Dot11ExtSetCurrentProfile: *mut core::ffi::c_void,
    pub Dot11ExtSendUIRequest: *mut core::ffi::c_void,
    pub Dot11ExtPreAssociateCompletion: *mut core::ffi::c_void,
    pub Dot11ExtPostAssociateCompletion: *mut core::ffi::c_void,
    pub Dot11ExtSendNotification: *mut core::ffi::c_void,
    pub Dot11ExtSendPacket: *mut core::ffi::c_void,
    pub Dot11ExtSetEtherTypeHandling: *mut core::ffi::c_void,
    pub Dot11ExtSetAuthAlgorithm: *mut core::ffi::c_void,
    pub Dot11ExtSetUnicastCipherAlgorithm: *mut core::ffi::c_void,
    pub Dot11ExtSetMulticastCipherAlgorithm: *mut core::ffi::c_void,
    pub Dot11ExtSetDefaultKey: *mut core::ffi::c_void,
    pub Dot11ExtSetKeyMappingKey: *mut core::ffi::c_void,
    pub Dot11ExtSetDefaultKeyId: *mut core::ffi::c_void,
    pub Dot11ExtNicSpecificExtension: *mut core::ffi::c_void,
    pub Dot11ExtSetExcludeUnencrypted: *mut core::ffi::c_void,
    pub Dot11ExtStartOneX: *mut core::ffi::c_void,
    pub Dot11ExtStopOneX: *mut core::ffi::c_void,
    pub Dot11ExtProcessSecurityPacket: *mut core::ffi::c_void,
}
import "golang.org/x/sys/windows"

type DOT11EXT_APIS struct {
	Dot11ExtAllocateBuffer uintptr
	Dot11ExtFreeBuffer uintptr
	Dot11ExtSetProfileCustomUserData uintptr
	Dot11ExtGetProfileCustomUserData uintptr
	Dot11ExtSetCurrentProfile uintptr
	Dot11ExtSendUIRequest uintptr
	Dot11ExtPreAssociateCompletion uintptr
	Dot11ExtPostAssociateCompletion uintptr
	Dot11ExtSendNotification uintptr
	Dot11ExtSendPacket uintptr
	Dot11ExtSetEtherTypeHandling uintptr
	Dot11ExtSetAuthAlgorithm uintptr
	Dot11ExtSetUnicastCipherAlgorithm uintptr
	Dot11ExtSetMulticastCipherAlgorithm uintptr
	Dot11ExtSetDefaultKey uintptr
	Dot11ExtSetKeyMappingKey uintptr
	Dot11ExtSetDefaultKeyId uintptr
	Dot11ExtNicSpecificExtension uintptr
	Dot11ExtSetExcludeUnencrypted uintptr
	Dot11ExtStartOneX uintptr
	Dot11ExtStopOneX uintptr
	Dot11ExtProcessSecurityPacket uintptr
}
type
  DOT11EXT_APIS = record
    Dot11ExtAllocateBuffer: Pointer;
    Dot11ExtFreeBuffer: Pointer;
    Dot11ExtSetProfileCustomUserData: Pointer;
    Dot11ExtGetProfileCustomUserData: Pointer;
    Dot11ExtSetCurrentProfile: Pointer;
    Dot11ExtSendUIRequest: Pointer;
    Dot11ExtPreAssociateCompletion: Pointer;
    Dot11ExtPostAssociateCompletion: Pointer;
    Dot11ExtSendNotification: Pointer;
    Dot11ExtSendPacket: Pointer;
    Dot11ExtSetEtherTypeHandling: Pointer;
    Dot11ExtSetAuthAlgorithm: Pointer;
    Dot11ExtSetUnicastCipherAlgorithm: Pointer;
    Dot11ExtSetMulticastCipherAlgorithm: Pointer;
    Dot11ExtSetDefaultKey: Pointer;
    Dot11ExtSetKeyMappingKey: Pointer;
    Dot11ExtSetDefaultKeyId: Pointer;
    Dot11ExtNicSpecificExtension: Pointer;
    Dot11ExtSetExcludeUnencrypted: Pointer;
    Dot11ExtStartOneX: Pointer;
    Dot11ExtStopOneX: Pointer;
    Dot11ExtProcessSecurityPacket: Pointer;
  end;
const DOT11EXT_APIS = extern struct {
    Dot11ExtAllocateBuffer: ?*anyopaque,
    Dot11ExtFreeBuffer: ?*anyopaque,
    Dot11ExtSetProfileCustomUserData: ?*anyopaque,
    Dot11ExtGetProfileCustomUserData: ?*anyopaque,
    Dot11ExtSetCurrentProfile: ?*anyopaque,
    Dot11ExtSendUIRequest: ?*anyopaque,
    Dot11ExtPreAssociateCompletion: ?*anyopaque,
    Dot11ExtPostAssociateCompletion: ?*anyopaque,
    Dot11ExtSendNotification: ?*anyopaque,
    Dot11ExtSendPacket: ?*anyopaque,
    Dot11ExtSetEtherTypeHandling: ?*anyopaque,
    Dot11ExtSetAuthAlgorithm: ?*anyopaque,
    Dot11ExtSetUnicastCipherAlgorithm: ?*anyopaque,
    Dot11ExtSetMulticastCipherAlgorithm: ?*anyopaque,
    Dot11ExtSetDefaultKey: ?*anyopaque,
    Dot11ExtSetKeyMappingKey: ?*anyopaque,
    Dot11ExtSetDefaultKeyId: ?*anyopaque,
    Dot11ExtNicSpecificExtension: ?*anyopaque,
    Dot11ExtSetExcludeUnencrypted: ?*anyopaque,
    Dot11ExtStartOneX: ?*anyopaque,
    Dot11ExtStopOneX: ?*anyopaque,
    Dot11ExtProcessSecurityPacket: ?*anyopaque,
};
type
  DOT11EXT_APIS {.bycopy.} = object
    Dot11ExtAllocateBuffer: pointer
    Dot11ExtFreeBuffer: pointer
    Dot11ExtSetProfileCustomUserData: pointer
    Dot11ExtGetProfileCustomUserData: pointer
    Dot11ExtSetCurrentProfile: pointer
    Dot11ExtSendUIRequest: pointer
    Dot11ExtPreAssociateCompletion: pointer
    Dot11ExtPostAssociateCompletion: pointer
    Dot11ExtSendNotification: pointer
    Dot11ExtSendPacket: pointer
    Dot11ExtSetEtherTypeHandling: pointer
    Dot11ExtSetAuthAlgorithm: pointer
    Dot11ExtSetUnicastCipherAlgorithm: pointer
    Dot11ExtSetMulticastCipherAlgorithm: pointer
    Dot11ExtSetDefaultKey: pointer
    Dot11ExtSetKeyMappingKey: pointer
    Dot11ExtSetDefaultKeyId: pointer
    Dot11ExtNicSpecificExtension: pointer
    Dot11ExtSetExcludeUnencrypted: pointer
    Dot11ExtStartOneX: pointer
    Dot11ExtStopOneX: pointer
    Dot11ExtProcessSecurityPacket: pointer
struct DOT11EXT_APIS
{
    void* Dot11ExtAllocateBuffer;
    void* Dot11ExtFreeBuffer;
    void* Dot11ExtSetProfileCustomUserData;
    void* Dot11ExtGetProfileCustomUserData;
    void* Dot11ExtSetCurrentProfile;
    void* Dot11ExtSendUIRequest;
    void* Dot11ExtPreAssociateCompletion;
    void* Dot11ExtPostAssociateCompletion;
    void* Dot11ExtSendNotification;
    void* Dot11ExtSendPacket;
    void* Dot11ExtSetEtherTypeHandling;
    void* Dot11ExtSetAuthAlgorithm;
    void* Dot11ExtSetUnicastCipherAlgorithm;
    void* Dot11ExtSetMulticastCipherAlgorithm;
    void* Dot11ExtSetDefaultKey;
    void* Dot11ExtSetKeyMappingKey;
    void* Dot11ExtSetDefaultKeyId;
    void* Dot11ExtNicSpecificExtension;
    void* Dot11ExtSetExcludeUnencrypted;
    void* Dot11ExtStartOneX;
    void* Dot11ExtStopOneX;
    void* Dot11ExtProcessSecurityPacket;
}

HSP用 定義

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

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; DOT11EXT_APIS サイズ: 88 バイト(x86)
dim st, 22    ; 4byte整数×22(構造体サイズ 88 / 4 切り上げ)
; Dot11ExtAllocateBuffer : DOT11EXT_ALLOCATE_BUFFER (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; Dot11ExtFreeBuffer : DOT11EXT_FREE_BUFFER (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; Dot11ExtSetProfileCustomUserData : DOT11EXT_SET_PROFILE_CUSTOM_USER_DATA (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; Dot11ExtGetProfileCustomUserData : DOT11EXT_GET_PROFILE_CUSTOM_USER_DATA (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; Dot11ExtSetCurrentProfile : DOT11EXT_SET_CURRENT_PROFILE (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; Dot11ExtSendUIRequest : DOT11EXT_SEND_UI_REQUEST (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; Dot11ExtPreAssociateCompletion : DOT11EXT_PRE_ASSOCIATE_COMPLETION (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; Dot11ExtPostAssociateCompletion : DOT11EXT_POST_ASSOCIATE_COMPLETION (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; Dot11ExtSendNotification : DOT11EXT_SEND_NOTIFICATION (+32, 4byte)  st.8 = 値  /  値 = st.8   (lpoke/lpeek も可)
; Dot11ExtSendPacket : DOT11EXT_SEND_PACKET (+36, 4byte)  st.9 = 値  /  値 = st.9   (lpoke/lpeek も可)
; Dot11ExtSetEtherTypeHandling : DOT11EXT_SET_ETHERTYPE_HANDLING (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; Dot11ExtSetAuthAlgorithm : DOT11EXT_SET_AUTH_ALGORITHM (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; Dot11ExtSetUnicastCipherAlgorithm : DOT11EXT_SET_UNICAST_CIPHER_ALGORITHM (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; Dot11ExtSetMulticastCipherAlgorithm : DOT11EXT_SET_MULTICAST_CIPHER_ALGORITHM (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; Dot11ExtSetDefaultKey : DOT11EXT_SET_DEFAULT_KEY (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; Dot11ExtSetKeyMappingKey : DOT11EXT_SET_KEY_MAPPING_KEY (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; Dot11ExtSetDefaultKeyId : DOT11EXT_SET_DEFAULT_KEY_ID (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; Dot11ExtNicSpecificExtension : DOT11EXT_NIC_SPECIFIC_EXTENSION (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; Dot11ExtSetExcludeUnencrypted : DOT11EXT_SET_EXCLUDE_UNENCRYPTED (+72, 4byte)  st.18 = 値  /  値 = st.18   (lpoke/lpeek も可)
; Dot11ExtStartOneX : DOT11EXT_ONEX_START (+76, 4byte)  st.19 = 値  /  値 = st.19   (lpoke/lpeek も可)
; Dot11ExtStopOneX : DOT11EXT_ONEX_STOP (+80, 4byte)  st.20 = 値  /  値 = st.20   (lpoke/lpeek も可)
; Dot11ExtProcessSecurityPacket : DOT11EXT_PROCESS_ONEX_PACKET (+84, 4byte)  st.21 = 値  /  値 = st.21   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; DOT11EXT_APIS サイズ: 176 バイト(x64)
dim st, 44    ; 4byte整数×44(構造体サイズ 176 / 4 切り上げ)
; Dot11ExtAllocateBuffer : DOT11EXT_ALLOCATE_BUFFER (+0, 8byte)  qpoke st,0,値 / qpeek(st,0)  ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; Dot11ExtFreeBuffer : DOT11EXT_FREE_BUFFER (+8, 8byte)  qpoke st,8,値 / qpeek(st,8)  ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; Dot11ExtSetProfileCustomUserData : DOT11EXT_SET_PROFILE_CUSTOM_USER_DATA (+16, 8byte)  qpoke st,16,値 / qpeek(st,16)  ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; Dot11ExtGetProfileCustomUserData : DOT11EXT_GET_PROFILE_CUSTOM_USER_DATA (+24, 8byte)  qpoke st,24,値 / qpeek(st,24)  ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; Dot11ExtSetCurrentProfile : DOT11EXT_SET_CURRENT_PROFILE (+32, 8byte)  qpoke st,32,値 / qpeek(st,32)  ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; Dot11ExtSendUIRequest : DOT11EXT_SEND_UI_REQUEST (+40, 8byte)  qpoke st,40,値 / qpeek(st,40)  ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; Dot11ExtPreAssociateCompletion : DOT11EXT_PRE_ASSOCIATE_COMPLETION (+48, 8byte)  qpoke st,48,値 / qpeek(st,48)  ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; Dot11ExtPostAssociateCompletion : DOT11EXT_POST_ASSOCIATE_COMPLETION (+56, 8byte)  qpoke st,56,値 / qpeek(st,56)  ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; Dot11ExtSendNotification : DOT11EXT_SEND_NOTIFICATION (+64, 8byte)  qpoke st,64,値 / qpeek(st,64)  ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; Dot11ExtSendPacket : DOT11EXT_SEND_PACKET (+72, 8byte)  qpoke st,72,値 / qpeek(st,72)  ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; Dot11ExtSetEtherTypeHandling : DOT11EXT_SET_ETHERTYPE_HANDLING (+80, 8byte)  qpoke st,80,値 / qpeek(st,80)  ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; Dot11ExtSetAuthAlgorithm : DOT11EXT_SET_AUTH_ALGORITHM (+88, 8byte)  qpoke st,88,値 / qpeek(st,88)  ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; Dot11ExtSetUnicastCipherAlgorithm : DOT11EXT_SET_UNICAST_CIPHER_ALGORITHM (+96, 8byte)  qpoke st,96,値 / qpeek(st,96)  ※IronHSPのみ。3.7/3.8は lpoke st,96,下位 : lpoke st,100,上位
; Dot11ExtSetMulticastCipherAlgorithm : DOT11EXT_SET_MULTICAST_CIPHER_ALGORITHM (+104, 8byte)  qpoke st,104,値 / qpeek(st,104)  ※IronHSPのみ。3.7/3.8は lpoke st,104,下位 : lpoke st,108,上位
; Dot11ExtSetDefaultKey : DOT11EXT_SET_DEFAULT_KEY (+112, 8byte)  qpoke st,112,値 / qpeek(st,112)  ※IronHSPのみ。3.7/3.8は lpoke st,112,下位 : lpoke st,116,上位
; Dot11ExtSetKeyMappingKey : DOT11EXT_SET_KEY_MAPPING_KEY (+120, 8byte)  qpoke st,120,値 / qpeek(st,120)  ※IronHSPのみ。3.7/3.8は lpoke st,120,下位 : lpoke st,124,上位
; Dot11ExtSetDefaultKeyId : DOT11EXT_SET_DEFAULT_KEY_ID (+128, 8byte)  qpoke st,128,値 / qpeek(st,128)  ※IronHSPのみ。3.7/3.8は lpoke st,128,下位 : lpoke st,132,上位
; Dot11ExtNicSpecificExtension : DOT11EXT_NIC_SPECIFIC_EXTENSION (+136, 8byte)  qpoke st,136,値 / qpeek(st,136)  ※IronHSPのみ。3.7/3.8は lpoke st,136,下位 : lpoke st,140,上位
; Dot11ExtSetExcludeUnencrypted : DOT11EXT_SET_EXCLUDE_UNENCRYPTED (+144, 8byte)  qpoke st,144,値 / qpeek(st,144)  ※IronHSPのみ。3.7/3.8は lpoke st,144,下位 : lpoke st,148,上位
; Dot11ExtStartOneX : DOT11EXT_ONEX_START (+152, 8byte)  qpoke st,152,値 / qpeek(st,152)  ※IronHSPのみ。3.7/3.8は lpoke st,152,下位 : lpoke st,156,上位
; Dot11ExtStopOneX : DOT11EXT_ONEX_STOP (+160, 8byte)  qpoke st,160,値 / qpeek(st,160)  ※IronHSPのみ。3.7/3.8は lpoke st,160,下位 : lpoke st,164,上位
; Dot11ExtProcessSecurityPacket : DOT11EXT_PROCESS_ONEX_PACKET (+168, 8byte)  qpoke st,168,値 / qpeek(st,168)  ※IronHSPのみ。3.7/3.8は lpoke st,168,下位 : lpoke st,172,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global DOT11EXT_APIS
    #field intptr Dot11ExtAllocateBuffer
    #field intptr Dot11ExtFreeBuffer
    #field intptr Dot11ExtSetProfileCustomUserData
    #field intptr Dot11ExtGetProfileCustomUserData
    #field intptr Dot11ExtSetCurrentProfile
    #field intptr Dot11ExtSendUIRequest
    #field intptr Dot11ExtPreAssociateCompletion
    #field intptr Dot11ExtPostAssociateCompletion
    #field intptr Dot11ExtSendNotification
    #field intptr Dot11ExtSendPacket
    #field intptr Dot11ExtSetEtherTypeHandling
    #field intptr Dot11ExtSetAuthAlgorithm
    #field intptr Dot11ExtSetUnicastCipherAlgorithm
    #field intptr Dot11ExtSetMulticastCipherAlgorithm
    #field intptr Dot11ExtSetDefaultKey
    #field intptr Dot11ExtSetKeyMappingKey
    #field intptr Dot11ExtSetDefaultKeyId
    #field intptr Dot11ExtNicSpecificExtension
    #field intptr Dot11ExtSetExcludeUnencrypted
    #field intptr Dot11ExtStartOneX
    #field intptr Dot11ExtStopOneX
    #field intptr Dot11ExtProcessSecurityPacket
#endstruct

stdim st, DOT11EXT_APIS        ; NSTRUCT 変数を確保