EAP_AUTHENTICATOR_METHOD_ROUTINES
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| dwSizeInBytes | DWORD | 4 | +0 | +0 | 実装者が定義する構造体のバージョンです。 注意 このフィールドの値は Microsoft によって定義されていません。
|
| pEapType | EAP_METHOD_TYPE* | 8/4 | +8 | +4 | この構造体のメンバーが指す API の実装者に関するベンダー情報を格納する EAP_METHOD_TYPE 構造体へのポインターです。 |
| EapMethodAuthenticatorInitialize | INT_PTR | 8/4 | +16 | +8 | EapMethodAuthenticatorInitialize への関数ポインターです。 pEapTypeこのセッションで使用する EAP 認証の種類を指定する EAP_METHOD_TYPE 列挙値です。 ppEapErrorこの関数呼び出しの実行中に EAPHost が発生させたエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapPeerFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorBeginSession | INT_PTR | 8/4 | +24 | +12 | EapMethodAuthenticatorBeginSession への関数ポインターです。 dwFlagsEAP 認証セッションの動作を表す EAP フラグ の組み合わせです。 pwszIdentity認証するユーザーの ID を格納する、0 で終わる Unicode 文字列です。 pAttributeArray認証するエンティティの EAP 属性を指定する EapAttributes 配列構造体へのポインターです。 dwSizeOfConnectionDatapConnectionData で指定された接続データ バッファーのサイズをバイト単位で指定します。 pConnectionData不透明な構成データ BLOB を格納するバイト バッファーへのポインターです。 dwMaxSendPacketSizeセッション中に送信される EAP パケットの最大サイズをバイト単位で指定します。 pSessionHandleサーバー EAPHost 上の新しい EAP 認証セッションの一意の ID を格納する EAP_SESSION_HANDLE 構造体へのポインターを受け取ります。 ppEapErrorこの関数呼び出しの実行中に EAPHost が発生させたエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapPeerFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorUpdateInnerMethodParams | INT_PTR | 8/4 | +32 | +16 | EapMethodAuthenticatorUpdateInnerMethodParams への関数ポインターです。 sessionHandleサーバー EAPHost 上の EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 dwFlagsEAP 認証セッションの動作を表す EAP フラグ の組み合わせです。 pwszIdentity認証するユーザーの更新された ID を格納する、0 で終わる Unicode 文字列です。 pAttributeArray認証するエンティティの更新された EAP 属性を指定する EapAttributes 配列構造体へのポインターです。 ppEapErrorこの関数呼び出しの実行中に発生したエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorReceivePacket | INT_PTR | 8/4 | +40 | +20 | EapMethodAuthenticatorReceivePacket への関数ポインターです。 sessionHandleサーバー EAPHost 上の EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 cbReceivePacketpReceivePacket のサイズ (バイト単位) です。 pReceivePacketサーバー EAPHost がサプリカントから受信した EAP 認証セッション パケットを格納する EapPacket 構造体へのポインターです。 pEapOutputEAP 認証セッションでサプリカントが次に実行する必要があるアクションを示す EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION 列挙値へのポインターを受け取ります。 ppEapErrorこの関数呼び出しの実行中に EAPHost が発生させたエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorSendPacket | INT_PTR | 8/4 | +48 | +24 | EapMethodAuthenticatorSendPacket への関数ポインターです。 sessionHandleサーバー EAPHost 上の EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 bPacketId送信するパケットの数値 ID 値を指定します。 pcbSendPacket送信するパケットの最大サイズをバイト単位で指定します。戻り時には、このパラメーターは pEapPacket で返されたパケットのサイズをバイト単位で受け取ります。 pSendPacketサプリカントに送信するパケットを格納する EapPacket 構造体へのポインターを受け取ります。 pTimeoutパケットのタイムアウトを指定する EAP_AUTHENTICATOR_SEND_TIMEOUT 値へのポインターを受け取ります。 ppEapErrorこの関数呼び出しの実行中に発生したエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorGetAttributes | INT_PTR | 8/4 | +56 | +28 | EapMethodAuthenticatorGetAttributes への関数ポインターです。 sessionHandleサーバー EAPHost 上の EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 pAttribsサプリカントの EAP 認証応答属性の配列を格納する EapAttributes 構造体へのポインターを受け取ります。 ppEapErrorこの関数呼び出しの実行中に発生したエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorSetAttributes | INT_PTR | 8/4 | +64 | +32 | EapMethodAuthenticatorSetAttributes への関数ポインターです。 sessionHandleサーバー EAPHost 上の EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 pAttribsEAPHost 上のサプリカントに設定する新しい EAP 認証応答属性の配列を格納する EapAttributes 構造体へのポインターです。 pEapOutput更新された属性への応答としてサプリカントが実行すべき推奨アクションを指定する EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION 列挙値へのポインターを受け取ります。 ppEapErrorこの関数呼び出しの実行中に発生したエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorGetResult | INT_PTR | 8/4 | +72 | +36 | EapMethodAuthenticatorGetResult への関数ポインターです。 sessionHandleサーバー EAPHost 上の EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 pResult認証結果を格納する EAP_METHOD_AUTHENTICATOR_RESULT 構造体へのポインターを受け取ります。 ppEapErrorこの関数呼び出しの実行中に EAPHost が発生させたエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorEndSession | INT_PTR | 8/4 | +80 | +40 | EapMethodAuthenticatorEndSession への関数ポインターです。 sessionHandleサーバー EAPHost 上で終了する EAP 認証セッションに対する固有のハンドルを格納する EAP_SESSION_HANDLE 値です。このハンドルは、事前に EapMethodAuthenticatorBeginSession を呼び出すことで取得します。 ppEapErrorこの関数呼び出しの実行中に EAPHost が発生させたエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
| EapMethodAuthenticatorShutdown | INT_PTR | 8/4 | +88 | +44 | EapMethodAuthenticatorShutdown への関数ポインターです。 pEapTypeセッションで使用された EAP 認証の種類を指定する EAP_METHOD_TYPE 列挙値です。 ppEapErrorこの関数呼び出しの実行中に発生したエラーを格納する EAP_ERROR 構造体のアドレスへのポインターです。エラー データを使用した後は、エラー データへのポインターを EapMethodAuthenticatorFreeErrorMemory に渡してこのメモリを解放する必要があります。 |
公式ドキュメント
EAPHost オーセンティケーター メソッド API への関数ポインターのセットを格納します。
解説(Remarks)
すべての EAP オーセンティケーター メソッド DLL は、次の API のパブリックな実装を備えている必要があります。
- EapMethodAuthenticatorInitialize
- EapMethodAuthenticatorBeginSession
- EapMethodAuthenticatorUpdateInnerMethodParams
- EapMethodAuthenticatorReceivePacket
- EapMethodAuthenticatorSendPacket
- EapMethodAuthenticatorGetAttributes
- EapMethodAuthenticatorSetAttributes
- EapMethodAuthenticatorGetResult
- EapMethodAuthenticatorEndSession
- EapMethodAuthenticatorShutdown
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
#include <windows.h>
// EAP_AUTHENTICATOR_METHOD_ROUTINES (x64 96 / x86 48 バイト)
typedef struct EAP_AUTHENTICATOR_METHOD_ROUTINES {
DWORD dwSizeInBytes;
EAP_METHOD_TYPE* pEapType;
INT_PTR EapMethodAuthenticatorInitialize;
INT_PTR EapMethodAuthenticatorBeginSession;
INT_PTR EapMethodAuthenticatorUpdateInnerMethodParams;
INT_PTR EapMethodAuthenticatorReceivePacket;
INT_PTR EapMethodAuthenticatorSendPacket;
INT_PTR EapMethodAuthenticatorGetAttributes;
INT_PTR EapMethodAuthenticatorSetAttributes;
INT_PTR EapMethodAuthenticatorGetResult;
INT_PTR EapMethodAuthenticatorEndSession;
INT_PTR EapMethodAuthenticatorShutdown;
} EAP_AUTHENTICATOR_METHOD_ROUTINES;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct EAP_AUTHENTICATOR_METHOD_ROUTINES
{
public uint dwSizeInBytes;
public IntPtr pEapType;
public IntPtr EapMethodAuthenticatorInitialize;
public IntPtr EapMethodAuthenticatorBeginSession;
public IntPtr EapMethodAuthenticatorUpdateInnerMethodParams;
public IntPtr EapMethodAuthenticatorReceivePacket;
public IntPtr EapMethodAuthenticatorSendPacket;
public IntPtr EapMethodAuthenticatorGetAttributes;
public IntPtr EapMethodAuthenticatorSetAttributes;
public IntPtr EapMethodAuthenticatorGetResult;
public IntPtr EapMethodAuthenticatorEndSession;
public IntPtr EapMethodAuthenticatorShutdown;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure EAP_AUTHENTICATOR_METHOD_ROUTINES
Public dwSizeInBytes As UInteger
Public pEapType As IntPtr
Public EapMethodAuthenticatorInitialize As IntPtr
Public EapMethodAuthenticatorBeginSession As IntPtr
Public EapMethodAuthenticatorUpdateInnerMethodParams As IntPtr
Public EapMethodAuthenticatorReceivePacket As IntPtr
Public EapMethodAuthenticatorSendPacket As IntPtr
Public EapMethodAuthenticatorGetAttributes As IntPtr
Public EapMethodAuthenticatorSetAttributes As IntPtr
Public EapMethodAuthenticatorGetResult As IntPtr
Public EapMethodAuthenticatorEndSession As IntPtr
Public EapMethodAuthenticatorShutdown As IntPtr
End Structureimport ctypes
from ctypes import wintypes
class EAP_AUTHENTICATOR_METHOD_ROUTINES(ctypes.Structure):
_fields_ = [
("dwSizeInBytes", wintypes.DWORD),
("pEapType", ctypes.c_void_p),
("EapMethodAuthenticatorInitialize", ctypes.c_ssize_t),
("EapMethodAuthenticatorBeginSession", ctypes.c_ssize_t),
("EapMethodAuthenticatorUpdateInnerMethodParams", ctypes.c_ssize_t),
("EapMethodAuthenticatorReceivePacket", ctypes.c_ssize_t),
("EapMethodAuthenticatorSendPacket", ctypes.c_ssize_t),
("EapMethodAuthenticatorGetAttributes", ctypes.c_ssize_t),
("EapMethodAuthenticatorSetAttributes", ctypes.c_ssize_t),
("EapMethodAuthenticatorGetResult", ctypes.c_ssize_t),
("EapMethodAuthenticatorEndSession", ctypes.c_ssize_t),
("EapMethodAuthenticatorShutdown", ctypes.c_ssize_t),
]#[repr(C)]
pub struct EAP_AUTHENTICATOR_METHOD_ROUTINES {
pub dwSizeInBytes: u32,
pub pEapType: *mut core::ffi::c_void,
pub EapMethodAuthenticatorInitialize: isize,
pub EapMethodAuthenticatorBeginSession: isize,
pub EapMethodAuthenticatorUpdateInnerMethodParams: isize,
pub EapMethodAuthenticatorReceivePacket: isize,
pub EapMethodAuthenticatorSendPacket: isize,
pub EapMethodAuthenticatorGetAttributes: isize,
pub EapMethodAuthenticatorSetAttributes: isize,
pub EapMethodAuthenticatorGetResult: isize,
pub EapMethodAuthenticatorEndSession: isize,
pub EapMethodAuthenticatorShutdown: isize,
}import "golang.org/x/sys/windows"
type EAP_AUTHENTICATOR_METHOD_ROUTINES struct {
dwSizeInBytes uint32
pEapType uintptr
EapMethodAuthenticatorInitialize uintptr
EapMethodAuthenticatorBeginSession uintptr
EapMethodAuthenticatorUpdateInnerMethodParams uintptr
EapMethodAuthenticatorReceivePacket uintptr
EapMethodAuthenticatorSendPacket uintptr
EapMethodAuthenticatorGetAttributes uintptr
EapMethodAuthenticatorSetAttributes uintptr
EapMethodAuthenticatorGetResult uintptr
EapMethodAuthenticatorEndSession uintptr
EapMethodAuthenticatorShutdown uintptr
}type
EAP_AUTHENTICATOR_METHOD_ROUTINES = record
dwSizeInBytes: DWORD;
pEapType: Pointer;
EapMethodAuthenticatorInitialize: NativeInt;
EapMethodAuthenticatorBeginSession: NativeInt;
EapMethodAuthenticatorUpdateInnerMethodParams: NativeInt;
EapMethodAuthenticatorReceivePacket: NativeInt;
EapMethodAuthenticatorSendPacket: NativeInt;
EapMethodAuthenticatorGetAttributes: NativeInt;
EapMethodAuthenticatorSetAttributes: NativeInt;
EapMethodAuthenticatorGetResult: NativeInt;
EapMethodAuthenticatorEndSession: NativeInt;
EapMethodAuthenticatorShutdown: NativeInt;
end;const EAP_AUTHENTICATOR_METHOD_ROUTINES = extern struct {
dwSizeInBytes: u32,
pEapType: ?*anyopaque,
EapMethodAuthenticatorInitialize: isize,
EapMethodAuthenticatorBeginSession: isize,
EapMethodAuthenticatorUpdateInnerMethodParams: isize,
EapMethodAuthenticatorReceivePacket: isize,
EapMethodAuthenticatorSendPacket: isize,
EapMethodAuthenticatorGetAttributes: isize,
EapMethodAuthenticatorSetAttributes: isize,
EapMethodAuthenticatorGetResult: isize,
EapMethodAuthenticatorEndSession: isize,
EapMethodAuthenticatorShutdown: isize,
};type
EAP_AUTHENTICATOR_METHOD_ROUTINES {.bycopy.} = object
dwSizeInBytes: uint32
pEapType: pointer
EapMethodAuthenticatorInitialize: int
EapMethodAuthenticatorBeginSession: int
EapMethodAuthenticatorUpdateInnerMethodParams: int
EapMethodAuthenticatorReceivePacket: int
EapMethodAuthenticatorSendPacket: int
EapMethodAuthenticatorGetAttributes: int
EapMethodAuthenticatorSetAttributes: int
EapMethodAuthenticatorGetResult: int
EapMethodAuthenticatorEndSession: int
EapMethodAuthenticatorShutdown: intstruct EAP_AUTHENTICATOR_METHOD_ROUTINES
{
uint dwSizeInBytes;
void* pEapType;
ptrdiff_t EapMethodAuthenticatorInitialize;
ptrdiff_t EapMethodAuthenticatorBeginSession;
ptrdiff_t EapMethodAuthenticatorUpdateInnerMethodParams;
ptrdiff_t EapMethodAuthenticatorReceivePacket;
ptrdiff_t EapMethodAuthenticatorSendPacket;
ptrdiff_t EapMethodAuthenticatorGetAttributes;
ptrdiff_t EapMethodAuthenticatorSetAttributes;
ptrdiff_t EapMethodAuthenticatorGetResult;
ptrdiff_t EapMethodAuthenticatorEndSession;
ptrdiff_t EapMethodAuthenticatorShutdown;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; EAP_AUTHENTICATOR_METHOD_ROUTINES サイズ: 48 バイト(x86)
dim st, 12 ; 4byte整数×12(構造体サイズ 48 / 4 切り上げ)
; dwSizeInBytes : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; pEapType : EAP_METHOD_TYPE* (+4, 4byte) varptr(st)+4 を基点に操作(4byte:入れ子/配列)
; EapMethodAuthenticatorInitialize : INT_PTR (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; EapMethodAuthenticatorBeginSession : INT_PTR (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; EapMethodAuthenticatorUpdateInnerMethodParams : INT_PTR (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; EapMethodAuthenticatorReceivePacket : INT_PTR (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; EapMethodAuthenticatorSendPacket : INT_PTR (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; EapMethodAuthenticatorGetAttributes : INT_PTR (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; EapMethodAuthenticatorSetAttributes : INT_PTR (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; EapMethodAuthenticatorGetResult : INT_PTR (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; EapMethodAuthenticatorEndSession : INT_PTR (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; EapMethodAuthenticatorShutdown : INT_PTR (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; EAP_AUTHENTICATOR_METHOD_ROUTINES サイズ: 96 バイト(x64)
dim st, 24 ; 4byte整数×24(構造体サイズ 96 / 4 切り上げ)
; dwSizeInBytes : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; pEapType : EAP_METHOD_TYPE* (+8, 8byte) varptr(st)+8 を基点に操作(8byte:入れ子/配列)
; EapMethodAuthenticatorInitialize : INT_PTR (+16, 8byte) qpoke st,16,値 / qpeek(st,16) ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; EapMethodAuthenticatorBeginSession : INT_PTR (+24, 8byte) qpoke st,24,値 / qpeek(st,24) ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; EapMethodAuthenticatorUpdateInnerMethodParams : INT_PTR (+32, 8byte) qpoke st,32,値 / qpeek(st,32) ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; EapMethodAuthenticatorReceivePacket : INT_PTR (+40, 8byte) qpoke st,40,値 / qpeek(st,40) ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; EapMethodAuthenticatorSendPacket : INT_PTR (+48, 8byte) qpoke st,48,値 / qpeek(st,48) ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; EapMethodAuthenticatorGetAttributes : INT_PTR (+56, 8byte) qpoke st,56,値 / qpeek(st,56) ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; EapMethodAuthenticatorSetAttributes : INT_PTR (+64, 8byte) qpoke st,64,値 / qpeek(st,64) ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; EapMethodAuthenticatorGetResult : INT_PTR (+72, 8byte) qpoke st,72,値 / qpeek(st,72) ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; EapMethodAuthenticatorEndSession : INT_PTR (+80, 8byte) qpoke st,80,値 / qpeek(st,80) ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; EapMethodAuthenticatorShutdown : INT_PTR (+88, 8byte) qpoke st,88,値 / qpeek(st,88) ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global EAP_AUTHENTICATOR_METHOD_ROUTINES
#field int dwSizeInBytes
#field intptr pEapType
#field intptr EapMethodAuthenticatorInitialize
#field intptr EapMethodAuthenticatorBeginSession
#field intptr EapMethodAuthenticatorUpdateInnerMethodParams
#field intptr EapMethodAuthenticatorReceivePacket
#field intptr EapMethodAuthenticatorSendPacket
#field intptr EapMethodAuthenticatorGetAttributes
#field intptr EapMethodAuthenticatorSetAttributes
#field intptr EapMethodAuthenticatorGetResult
#field intptr EapMethodAuthenticatorEndSession
#field intptr EapMethodAuthenticatorShutdown
#endstruct
stdim st, EAP_AUTHENTICATOR_METHOD_ROUTINES ; NSTRUCT 変数を確保
st->dwSizeInBytes = 100
mes "dwSizeInBytes=" + st->dwSizeInBytes