ホーム › System.Wmi › MI_ContextFT
MI_ContextFT
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| PostResult | INT_PTR | 8/4 | +0 | +0 | プロバイダーは、要求への応答としてサーバーに戻りコードをポストするために、この関数を呼び出します。 MI_Context_PostResult を参照してください。 - PostTerminatingError要求への応答として、戻りコードとエラーメッセージをサーバーにポストします。 |
| PostInstance | INT_PTR | 8/4 | +8 | +4 | プロバイダーは、要求への応答としてサーバーにインスタンスをポストするために、この関数を呼び出します。 MI_Context_PostInstance を参照してください。 |
| PostIndication | INT_PTR | 8/4 | +16 | +8 | 要求への応答として、インディケーションをサーバーにポストします。 MI_Context_PostIndication を参照してください。 |
| ConstructInstance | INT_PTR | 8/4 | +24 | +12 | インスタンスを初期化します。 MI_Context_ConstructInstance を参照してください。 |
| ConstructParameters | INT_PTR | 8/4 | +32 | +16 | パラメーターインスタンスを初期化します。 MI_Context_ConstructParameters を参照してください。 |
| NewInstance | INT_PTR | 8/4 | +40 | +20 | classDecl パラメーターで指定されたクラスの新しいインスタンスを作成します。 MI_Context_NewInstance を参照してください。 |
| NewDynamicInstance | INT_PTR | 8/4 | +48 | +24 | className で名前が指定されたクラスの新しい動的インスタンスを作成します。 MI_Context_NewDynamicInstance を参照してください。 |
| NewParameters | INT_PTR | 8/4 | +56 | +28 | methodDecl で指定されたメソッドの新しいインスタンスを作成します。 MI_Context_NewParameters を参照してください。 |
| Canceled | INT_PTR | 8/4 | +64 | +32 | 操作がキャンセルされたかどうかを判定します。 MI_Context_Canceled を参照してください。 |
| GetLocale | INT_PTR | 8/4 | +72 | +36 | 指定された種類のロケールを返します。 MI_Context_GetLocale を参照してください。 |
| RegisterCancel | INT_PTR | 8/4 | +80 | +40 | 操作がキャンセルされたときに呼び出されるコールバックを登録します。 MI_Context_RegisterCancel を参照してください。 |
| RequestUnload | INT_PTR | 8/4 | +88 | +44 | モジュールまたはプロバイダーのアンロードを要求します (どちらになるかは呼び出し元の場所によって決まります)。 MI_Context_RequestUnload を参照してください。 |
| RefuseUnload | INT_PTR | 8/4 | +96 | +48 | プロバイダーをアンロードしないようにプロバイダーインフラストラクチャに指示します。 MI_Context_RefuseUnload を参照してください。 |
| GetLocalSession | INT_PTR | 8/4 | +104 | +52 | プロバイダーが CIM サーバーと通信できるようにするローカルセッションを取得します。 MI_Context_GetLocalSession を参照してください。 |
| SetStringOption | INT_PTR | 8/4 | +112 | +56 | コンテキスト固有のオプションを設定します。 MI_Context_SetStringOption を参照してください。 |
| GetStringOption | INT_PTR | 8/4 | +120 | +60 | 指定されたプロバイダーのカスタムオプションを取得します。 MI_Context_GetStringOption を参照してください。 |
| GetNumberOption | INT_PTR | 8/4 | +128 | +64 | 指定されたプロバイダーのカスタムオプションを取得します。 MI_Context_GetNumberOption を参照してください。 |
| GetCustomOption | INT_PTR | 8/4 | +136 | +68 | 指定されたプロバイダーのカスタムオプションを取得します。 MI_Context_GetCustomOption を参照してください。 |
| GetCustomOptionCount | INT_PTR | 8/4 | +144 | +72 | 定義されているプロバイダーのカスタムオプションの数を取得します。 MI_Context_GetCustomOptionCount を参照してください。 |
| GetCustomOptionAt | INT_PTR | 8/4 | +152 | +76 | 指定されたインデックスにあるプロバイダーのカスタムオプションを取得します。 MI_Context_GetCustomOptionAt を参照してください。 |
| WriteMessage | INT_PTR | 8/4 | +160 | +80 | 操作に関するメッセージをクライアントに送信します。 MI_Context_WriteMessage を参照してください。 |
| WriteProgress | INT_PTR | 8/4 | +168 | +84 | 進行状況メッセージをクライアントに送信します。 MI_Context_WriteProgress を参照してください。 |
| WriteStreamParameter | INT_PTR | 8/4 | +176 | +88 | ストリーミングされたパラメーターデータを要求元に送信します。 MI_Context_WriteStreamParameter を参照してください。 |
| WriteCimError | INT_PTR | 8/4 | +184 | +92 | CIM エラーインスタンスをクライアントに送信します。 MI_Context_WriteCimError を参照してください。 |
| PromptUser | INT_PTR | 8/4 | +192 | +96 | 操作を続行するかキャンセルするかを問い合わせるプロンプトメッセージをクライアントに送信します。 MI_Context_PromptUser を参照してください。 |
| ShouldProcess | INT_PTR | 8/4 | +200 | +100 | 操作を続行すべきかどうかを判断するために、クライアントに問い合わせます。 MI_Context_ShouldProcess を参照してください。 |
| ShouldContinue | INT_PTR | 8/4 | +208 | +104 | 操作を続行すべきかどうかを判断するために、クライアントに問い合わせます。 MI_Context_ShouldContinue を参照してください。 |
| PostError | INT_PTR | 8/4 | +216 | +108 | プロバイダーは、要求への応答としてクライアントに戻りコードをポストするために、この関数を呼び出します。 MI_Context_PostError を参照してください。 |
| PostCimError | INT_PTR | 8/4 | +224 | +112 | 要求への応答として、戻りコードとエラーメッセージをサーバーにポストします。 MI_Context_PostCimError を参照してください。 |
| WriteError | INT_PTR | 8/4 | +232 | +116 | この関数は非推奨です。代わりに MI_Context_WriteError を使用してください。 エラーコードとエラーメッセージをクライアントに送信します。 MI_Context_WriteError を参照してください。 |
公式ドキュメント
MI_Context 構造体で使用されるサポート構造体です。これらの構造体を操作するには、名前の先頭に "MI_Context_" が付く関数を使用します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
#include <windows.h>
// MI_ContextFT (x64 240 / x86 120 バイト)
typedef struct MI_ContextFT {
INT_PTR PostResult;
INT_PTR PostInstance;
INT_PTR PostIndication;
INT_PTR ConstructInstance;
INT_PTR ConstructParameters;
INT_PTR NewInstance;
INT_PTR NewDynamicInstance;
INT_PTR NewParameters;
INT_PTR Canceled;
INT_PTR GetLocale;
INT_PTR RegisterCancel;
INT_PTR RequestUnload;
INT_PTR RefuseUnload;
INT_PTR GetLocalSession;
INT_PTR SetStringOption;
INT_PTR GetStringOption;
INT_PTR GetNumberOption;
INT_PTR GetCustomOption;
INT_PTR GetCustomOptionCount;
INT_PTR GetCustomOptionAt;
INT_PTR WriteMessage;
INT_PTR WriteProgress;
INT_PTR WriteStreamParameter;
INT_PTR WriteCimError;
INT_PTR PromptUser;
INT_PTR ShouldProcess;
INT_PTR ShouldContinue;
INT_PTR PostError;
INT_PTR PostCimError;
INT_PTR WriteError;
} MI_ContextFT;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct MI_ContextFT
{
public IntPtr PostResult;
public IntPtr PostInstance;
public IntPtr PostIndication;
public IntPtr ConstructInstance;
public IntPtr ConstructParameters;
public IntPtr NewInstance;
public IntPtr NewDynamicInstance;
public IntPtr NewParameters;
public IntPtr Canceled;
public IntPtr GetLocale;
public IntPtr RegisterCancel;
public IntPtr RequestUnload;
public IntPtr RefuseUnload;
public IntPtr GetLocalSession;
public IntPtr SetStringOption;
public IntPtr GetStringOption;
public IntPtr GetNumberOption;
public IntPtr GetCustomOption;
public IntPtr GetCustomOptionCount;
public IntPtr GetCustomOptionAt;
public IntPtr WriteMessage;
public IntPtr WriteProgress;
public IntPtr WriteStreamParameter;
public IntPtr WriteCimError;
public IntPtr PromptUser;
public IntPtr ShouldProcess;
public IntPtr ShouldContinue;
public IntPtr PostError;
public IntPtr PostCimError;
public IntPtr WriteError;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure MI_ContextFT
Public PostResult As IntPtr
Public PostInstance As IntPtr
Public PostIndication As IntPtr
Public ConstructInstance As IntPtr
Public ConstructParameters As IntPtr
Public NewInstance As IntPtr
Public NewDynamicInstance As IntPtr
Public NewParameters As IntPtr
Public Canceled As IntPtr
Public GetLocale As IntPtr
Public RegisterCancel As IntPtr
Public RequestUnload As IntPtr
Public RefuseUnload As IntPtr
Public GetLocalSession As IntPtr
Public SetStringOption As IntPtr
Public GetStringOption As IntPtr
Public GetNumberOption As IntPtr
Public GetCustomOption As IntPtr
Public GetCustomOptionCount As IntPtr
Public GetCustomOptionAt As IntPtr
Public WriteMessage As IntPtr
Public WriteProgress As IntPtr
Public WriteStreamParameter As IntPtr
Public WriteCimError As IntPtr
Public PromptUser As IntPtr
Public ShouldProcess As IntPtr
Public ShouldContinue As IntPtr
Public PostError As IntPtr
Public PostCimError As IntPtr
Public WriteError As IntPtr
End Structureimport ctypes
from ctypes import wintypes
class MI_ContextFT(ctypes.Structure):
_fields_ = [
("PostResult", ctypes.c_ssize_t),
("PostInstance", ctypes.c_ssize_t),
("PostIndication", ctypes.c_ssize_t),
("ConstructInstance", ctypes.c_ssize_t),
("ConstructParameters", ctypes.c_ssize_t),
("NewInstance", ctypes.c_ssize_t),
("NewDynamicInstance", ctypes.c_ssize_t),
("NewParameters", ctypes.c_ssize_t),
("Canceled", ctypes.c_ssize_t),
("GetLocale", ctypes.c_ssize_t),
("RegisterCancel", ctypes.c_ssize_t),
("RequestUnload", ctypes.c_ssize_t),
("RefuseUnload", ctypes.c_ssize_t),
("GetLocalSession", ctypes.c_ssize_t),
("SetStringOption", ctypes.c_ssize_t),
("GetStringOption", ctypes.c_ssize_t),
("GetNumberOption", ctypes.c_ssize_t),
("GetCustomOption", ctypes.c_ssize_t),
("GetCustomOptionCount", ctypes.c_ssize_t),
("GetCustomOptionAt", ctypes.c_ssize_t),
("WriteMessage", ctypes.c_ssize_t),
("WriteProgress", ctypes.c_ssize_t),
("WriteStreamParameter", ctypes.c_ssize_t),
("WriteCimError", ctypes.c_ssize_t),
("PromptUser", ctypes.c_ssize_t),
("ShouldProcess", ctypes.c_ssize_t),
("ShouldContinue", ctypes.c_ssize_t),
("PostError", ctypes.c_ssize_t),
("PostCimError", ctypes.c_ssize_t),
("WriteError", ctypes.c_ssize_t),
]#[repr(C)]
pub struct MI_ContextFT {
pub PostResult: isize,
pub PostInstance: isize,
pub PostIndication: isize,
pub ConstructInstance: isize,
pub ConstructParameters: isize,
pub NewInstance: isize,
pub NewDynamicInstance: isize,
pub NewParameters: isize,
pub Canceled: isize,
pub GetLocale: isize,
pub RegisterCancel: isize,
pub RequestUnload: isize,
pub RefuseUnload: isize,
pub GetLocalSession: isize,
pub SetStringOption: isize,
pub GetStringOption: isize,
pub GetNumberOption: isize,
pub GetCustomOption: isize,
pub GetCustomOptionCount: isize,
pub GetCustomOptionAt: isize,
pub WriteMessage: isize,
pub WriteProgress: isize,
pub WriteStreamParameter: isize,
pub WriteCimError: isize,
pub PromptUser: isize,
pub ShouldProcess: isize,
pub ShouldContinue: isize,
pub PostError: isize,
pub PostCimError: isize,
pub WriteError: isize,
}import "golang.org/x/sys/windows"
type MI_ContextFT struct {
PostResult uintptr
PostInstance uintptr
PostIndication uintptr
ConstructInstance uintptr
ConstructParameters uintptr
NewInstance uintptr
NewDynamicInstance uintptr
NewParameters uintptr
Canceled uintptr
GetLocale uintptr
RegisterCancel uintptr
RequestUnload uintptr
RefuseUnload uintptr
GetLocalSession uintptr
SetStringOption uintptr
GetStringOption uintptr
GetNumberOption uintptr
GetCustomOption uintptr
GetCustomOptionCount uintptr
GetCustomOptionAt uintptr
WriteMessage uintptr
WriteProgress uintptr
WriteStreamParameter uintptr
WriteCimError uintptr
PromptUser uintptr
ShouldProcess uintptr
ShouldContinue uintptr
PostError uintptr
PostCimError uintptr
WriteError uintptr
}type
MI_ContextFT = record
PostResult: NativeInt;
PostInstance: NativeInt;
PostIndication: NativeInt;
ConstructInstance: NativeInt;
ConstructParameters: NativeInt;
NewInstance: NativeInt;
NewDynamicInstance: NativeInt;
NewParameters: NativeInt;
Canceled: NativeInt;
GetLocale: NativeInt;
RegisterCancel: NativeInt;
RequestUnload: NativeInt;
RefuseUnload: NativeInt;
GetLocalSession: NativeInt;
SetStringOption: NativeInt;
GetStringOption: NativeInt;
GetNumberOption: NativeInt;
GetCustomOption: NativeInt;
GetCustomOptionCount: NativeInt;
GetCustomOptionAt: NativeInt;
WriteMessage: NativeInt;
WriteProgress: NativeInt;
WriteStreamParameter: NativeInt;
WriteCimError: NativeInt;
PromptUser: NativeInt;
ShouldProcess: NativeInt;
ShouldContinue: NativeInt;
PostError: NativeInt;
PostCimError: NativeInt;
WriteError: NativeInt;
end;const MI_ContextFT = extern struct {
PostResult: isize,
PostInstance: isize,
PostIndication: isize,
ConstructInstance: isize,
ConstructParameters: isize,
NewInstance: isize,
NewDynamicInstance: isize,
NewParameters: isize,
Canceled: isize,
GetLocale: isize,
RegisterCancel: isize,
RequestUnload: isize,
RefuseUnload: isize,
GetLocalSession: isize,
SetStringOption: isize,
GetStringOption: isize,
GetNumberOption: isize,
GetCustomOption: isize,
GetCustomOptionCount: isize,
GetCustomOptionAt: isize,
WriteMessage: isize,
WriteProgress: isize,
WriteStreamParameter: isize,
WriteCimError: isize,
PromptUser: isize,
ShouldProcess: isize,
ShouldContinue: isize,
PostError: isize,
PostCimError: isize,
WriteError: isize,
};type
MI_ContextFT {.bycopy.} = object
PostResult: int
PostInstance: int
PostIndication: int
ConstructInstance: int
ConstructParameters: int
NewInstance: int
NewDynamicInstance: int
NewParameters: int
Canceled: int
GetLocale: int
RegisterCancel: int
RequestUnload: int
RefuseUnload: int
GetLocalSession: int
SetStringOption: int
GetStringOption: int
GetNumberOption: int
GetCustomOption: int
GetCustomOptionCount: int
GetCustomOptionAt: int
WriteMessage: int
WriteProgress: int
WriteStreamParameter: int
WriteCimError: int
PromptUser: int
ShouldProcess: int
ShouldContinue: int
PostError: int
PostCimError: int
WriteError: intstruct MI_ContextFT
{
ptrdiff_t PostResult;
ptrdiff_t PostInstance;
ptrdiff_t PostIndication;
ptrdiff_t ConstructInstance;
ptrdiff_t ConstructParameters;
ptrdiff_t NewInstance;
ptrdiff_t NewDynamicInstance;
ptrdiff_t NewParameters;
ptrdiff_t Canceled;
ptrdiff_t GetLocale;
ptrdiff_t RegisterCancel;
ptrdiff_t RequestUnload;
ptrdiff_t RefuseUnload;
ptrdiff_t GetLocalSession;
ptrdiff_t SetStringOption;
ptrdiff_t GetStringOption;
ptrdiff_t GetNumberOption;
ptrdiff_t GetCustomOption;
ptrdiff_t GetCustomOptionCount;
ptrdiff_t GetCustomOptionAt;
ptrdiff_t WriteMessage;
ptrdiff_t WriteProgress;
ptrdiff_t WriteStreamParameter;
ptrdiff_t WriteCimError;
ptrdiff_t PromptUser;
ptrdiff_t ShouldProcess;
ptrdiff_t ShouldContinue;
ptrdiff_t PostError;
ptrdiff_t PostCimError;
ptrdiff_t WriteError;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; MI_ContextFT サイズ: 120 バイト(x86)
dim st, 30 ; 4byte整数×30(構造体サイズ 120 / 4 切り上げ)
; PostResult : INT_PTR (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; PostInstance : INT_PTR (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; PostIndication : INT_PTR (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; ConstructInstance : INT_PTR (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; ConstructParameters : INT_PTR (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; NewInstance : INT_PTR (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; NewDynamicInstance : INT_PTR (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; NewParameters : INT_PTR (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; Canceled : INT_PTR (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; GetLocale : INT_PTR (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; RegisterCancel : INT_PTR (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; RequestUnload : INT_PTR (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; RefuseUnload : INT_PTR (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; GetLocalSession : INT_PTR (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; SetStringOption : INT_PTR (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; GetStringOption : INT_PTR (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; GetNumberOption : INT_PTR (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; GetCustomOption : INT_PTR (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; GetCustomOptionCount : INT_PTR (+72, 4byte) st.18 = 値 / 値 = st.18 (lpoke/lpeek も可)
; GetCustomOptionAt : INT_PTR (+76, 4byte) st.19 = 値 / 値 = st.19 (lpoke/lpeek も可)
; WriteMessage : INT_PTR (+80, 4byte) st.20 = 値 / 値 = st.20 (lpoke/lpeek も可)
; WriteProgress : INT_PTR (+84, 4byte) st.21 = 値 / 値 = st.21 (lpoke/lpeek も可)
; WriteStreamParameter : INT_PTR (+88, 4byte) st.22 = 値 / 値 = st.22 (lpoke/lpeek も可)
; WriteCimError : INT_PTR (+92, 4byte) st.23 = 値 / 値 = st.23 (lpoke/lpeek も可)
; PromptUser : INT_PTR (+96, 4byte) st.24 = 値 / 値 = st.24 (lpoke/lpeek も可)
; ShouldProcess : INT_PTR (+100, 4byte) st.25 = 値 / 値 = st.25 (lpoke/lpeek も可)
; ShouldContinue : INT_PTR (+104, 4byte) st.26 = 値 / 値 = st.26 (lpoke/lpeek も可)
; PostError : INT_PTR (+108, 4byte) st.27 = 値 / 値 = st.27 (lpoke/lpeek も可)
; PostCimError : INT_PTR (+112, 4byte) st.28 = 値 / 値 = st.28 (lpoke/lpeek も可)
; WriteError : INT_PTR (+116, 4byte) st.29 = 値 / 値 = st.29 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; MI_ContextFT サイズ: 240 バイト(x64)
dim st, 60 ; 4byte整数×60(構造体サイズ 240 / 4 切り上げ)
; PostResult : INT_PTR (+0, 8byte) qpoke st,0,値 / qpeek(st,0) ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; PostInstance : INT_PTR (+8, 8byte) qpoke st,8,値 / qpeek(st,8) ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; PostIndication : INT_PTR (+16, 8byte) qpoke st,16,値 / qpeek(st,16) ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; ConstructInstance : INT_PTR (+24, 8byte) qpoke st,24,値 / qpeek(st,24) ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; ConstructParameters : INT_PTR (+32, 8byte) qpoke st,32,値 / qpeek(st,32) ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; NewInstance : INT_PTR (+40, 8byte) qpoke st,40,値 / qpeek(st,40) ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; NewDynamicInstance : INT_PTR (+48, 8byte) qpoke st,48,値 / qpeek(st,48) ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; NewParameters : INT_PTR (+56, 8byte) qpoke st,56,値 / qpeek(st,56) ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; Canceled : INT_PTR (+64, 8byte) qpoke st,64,値 / qpeek(st,64) ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; GetLocale : INT_PTR (+72, 8byte) qpoke st,72,値 / qpeek(st,72) ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; RegisterCancel : INT_PTR (+80, 8byte) qpoke st,80,値 / qpeek(st,80) ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; RequestUnload : INT_PTR (+88, 8byte) qpoke st,88,値 / qpeek(st,88) ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; RefuseUnload : INT_PTR (+96, 8byte) qpoke st,96,値 / qpeek(st,96) ※IronHSPのみ。3.7/3.8は lpoke st,96,下位 : lpoke st,100,上位
; GetLocalSession : INT_PTR (+104, 8byte) qpoke st,104,値 / qpeek(st,104) ※IronHSPのみ。3.7/3.8は lpoke st,104,下位 : lpoke st,108,上位
; SetStringOption : INT_PTR (+112, 8byte) qpoke st,112,値 / qpeek(st,112) ※IronHSPのみ。3.7/3.8は lpoke st,112,下位 : lpoke st,116,上位
; GetStringOption : INT_PTR (+120, 8byte) qpoke st,120,値 / qpeek(st,120) ※IronHSPのみ。3.7/3.8は lpoke st,120,下位 : lpoke st,124,上位
; GetNumberOption : INT_PTR (+128, 8byte) qpoke st,128,値 / qpeek(st,128) ※IronHSPのみ。3.7/3.8は lpoke st,128,下位 : lpoke st,132,上位
; GetCustomOption : INT_PTR (+136, 8byte) qpoke st,136,値 / qpeek(st,136) ※IronHSPのみ。3.7/3.8は lpoke st,136,下位 : lpoke st,140,上位
; GetCustomOptionCount : INT_PTR (+144, 8byte) qpoke st,144,値 / qpeek(st,144) ※IronHSPのみ。3.7/3.8は lpoke st,144,下位 : lpoke st,148,上位
; GetCustomOptionAt : INT_PTR (+152, 8byte) qpoke st,152,値 / qpeek(st,152) ※IronHSPのみ。3.7/3.8は lpoke st,152,下位 : lpoke st,156,上位
; WriteMessage : INT_PTR (+160, 8byte) qpoke st,160,値 / qpeek(st,160) ※IronHSPのみ。3.7/3.8は lpoke st,160,下位 : lpoke st,164,上位
; WriteProgress : INT_PTR (+168, 8byte) qpoke st,168,値 / qpeek(st,168) ※IronHSPのみ。3.7/3.8は lpoke st,168,下位 : lpoke st,172,上位
; WriteStreamParameter : INT_PTR (+176, 8byte) qpoke st,176,値 / qpeek(st,176) ※IronHSPのみ。3.7/3.8は lpoke st,176,下位 : lpoke st,180,上位
; WriteCimError : INT_PTR (+184, 8byte) qpoke st,184,値 / qpeek(st,184) ※IronHSPのみ。3.7/3.8は lpoke st,184,下位 : lpoke st,188,上位
; PromptUser : INT_PTR (+192, 8byte) qpoke st,192,値 / qpeek(st,192) ※IronHSPのみ。3.7/3.8は lpoke st,192,下位 : lpoke st,196,上位
; ShouldProcess : INT_PTR (+200, 8byte) qpoke st,200,値 / qpeek(st,200) ※IronHSPのみ。3.7/3.8は lpoke st,200,下位 : lpoke st,204,上位
; ShouldContinue : INT_PTR (+208, 8byte) qpoke st,208,値 / qpeek(st,208) ※IronHSPのみ。3.7/3.8は lpoke st,208,下位 : lpoke st,212,上位
; PostError : INT_PTR (+216, 8byte) qpoke st,216,値 / qpeek(st,216) ※IronHSPのみ。3.7/3.8は lpoke st,216,下位 : lpoke st,220,上位
; PostCimError : INT_PTR (+224, 8byte) qpoke st,224,値 / qpeek(st,224) ※IronHSPのみ。3.7/3.8は lpoke st,224,下位 : lpoke st,228,上位
; WriteError : INT_PTR (+232, 8byte) qpoke st,232,値 / qpeek(st,232) ※IronHSPのみ。3.7/3.8は lpoke st,232,下位 : lpoke st,236,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global MI_ContextFT
#field intptr PostResult
#field intptr PostInstance
#field intptr PostIndication
#field intptr ConstructInstance
#field intptr ConstructParameters
#field intptr NewInstance
#field intptr NewDynamicInstance
#field intptr NewParameters
#field intptr Canceled
#field intptr GetLocale
#field intptr RegisterCancel
#field intptr RequestUnload
#field intptr RefuseUnload
#field intptr GetLocalSession
#field intptr SetStringOption
#field intptr GetStringOption
#field intptr GetNumberOption
#field intptr GetCustomOption
#field intptr GetCustomOptionCount
#field intptr GetCustomOptionAt
#field intptr WriteMessage
#field intptr WriteProgress
#field intptr WriteStreamParameter
#field intptr WriteCimError
#field intptr PromptUser
#field intptr ShouldProcess
#field intptr ShouldContinue
#field intptr PostError
#field intptr PostCimError
#field intptr WriteError
#endstruct
stdim st, MI_ContextFT ; NSTRUCT 変数を確保
st->PostResult = 100
mes "PostResult=" + st->PostResult