ホーム › System.Wmi › MI_SubscriptionDeliveryOptionsFT
MI_SubscriptionDeliveryOptionsFT
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| SetString | INT_PTR | 8/4 | +0 | +0 | 指定した名前の文字列オプションの値を設定します。MI_SubscriptionDeliveryOptions_SetString を参照してください。 |
| SetNumber | INT_PTR | 8/4 | +8 | +4 | 指定した名前の数値オプションの値を設定します。MI_SubscriptionDeliveryOptions_SetNumber を参照してください。 |
| SetDateTime | INT_PTR | 8/4 | +16 | +8 | 指定した名前の DateTime オプションの値を設定します。MI_SubscriptionDeliveryOptions_SetDateTime を参照してください。 |
| SetInterval | INT_PTR | 8/4 | +24 | +12 | 指定した名前の間隔オプションの値を設定します。MI_SubscriptionDeliveryOptions_SetInterval を参照してください。 |
| AddCredentials | INT_PTR | 8/4 | +32 | +16 | 内部的に使用されます。 |
| Delete | INT_PTR | 8/4 | +40 | +20 | 指定されたサブスクリプション配信オプション構造体を削除します。MI_SubscriptionDeliveryOptions_Delete を参照してください。 |
| GetString | INT_PTR | 8/4 | +48 | +24 | 指定した名前の文字列オプションの値を取得します。MI_SubscriptionDeliveryOptions_GetString を参照してください。 |
| GetNumber | INT_PTR | 8/4 | +56 | +28 | 指定した名前の数値オプションの値を取得します。MI_SubscriptionDeliveryOptions_GetNumber を参照してください。 |
| GetDateTime | INT_PTR | 8/4 | +64 | +32 | 以前に設定された DateTime オプションを取得します。MI_SubscriptionDeliveryOptions_GetDateTime を参照してください。 |
| GetInterval | INT_PTR | 8/4 | +72 | +36 | 指定されたオプションの配信間隔を取得します。MI_SubscriptionDeliveryOptions_GetInterval を参照してください。 |
| GetOptionCount | INT_PTR | 8/4 | +80 | +40 | 以前に設定されたオプションの数を取得します。MI_SubscriptionDeliveryOptions_GetOptionCount を参照してください。 |
| GetOptionAt | INT_PTR | 8/4 | +88 | +44 | 指定されたインデックスにあるオプションを取得します。MI_SubscriptionDeliveryOptions_GetOptionAt を参照してください。 |
| GetOption | INT_PTR | 8/4 | +96 | +48 | 指定した名前のオプションの値を取得します。MI_SubscriptionDeliveryOptions_GetOption を参照してください。 |
| GetCredentialsCount | INT_PTR | 8/4 | +104 | +52 | 以前に追加された資格情報の数を取得します。MI_SubscriptionDeliveryOptions_GetCredentialsCount を参照してください。 |
| GetCredentialsAt | INT_PTR | 8/4 | +112 | +56 | 指定されたインデックスに基づいて、以前に追加された資格情報を取得します。MI_SubscriptionDeliveryOptions_GetCredentialsAt を参照してください。 |
| GetCredentialsPasswordAt | INT_PTR | 8/4 | +120 | +60 | 指定されたインデックスに基づいて、以前に追加された資格情報のパスワードを取得します。MI_SubscriptionDeliveryOptions_GetCredentialsPasswordAt を参照してください。 |
| Clone | INT_PTR | 8/4 | +128 | +64 | MI_SubscriptionDeliveryOptions 構造体のコピーを作成します。MI_SubscriptionDeliveryOptions_Clone を参照してください。 |
公式ドキュメント
MI_SubscriptionDeliveryOptions 構造体で使用されるサポート用の構造体です。これらの構造体を操作するには、名前が "MI_SubscriptionDeliveryOptions_" で始まる関数を使用します。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_SubscriptionDeliveryOptionsFT (x64 136 / x86 68 バイト)
typedef struct MI_SubscriptionDeliveryOptionsFT {
INT_PTR SetString;
INT_PTR SetNumber;
INT_PTR SetDateTime;
INT_PTR SetInterval;
INT_PTR AddCredentials;
INT_PTR Delete;
INT_PTR GetString;
INT_PTR GetNumber;
INT_PTR GetDateTime;
INT_PTR GetInterval;
INT_PTR GetOptionCount;
INT_PTR GetOptionAt;
INT_PTR GetOption;
INT_PTR GetCredentialsCount;
INT_PTR GetCredentialsAt;
INT_PTR GetCredentialsPasswordAt;
INT_PTR Clone;
} MI_SubscriptionDeliveryOptionsFT;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct MI_SubscriptionDeliveryOptionsFT
{
public IntPtr SetString;
public IntPtr SetNumber;
public IntPtr SetDateTime;
public IntPtr SetInterval;
public IntPtr AddCredentials;
public IntPtr Delete;
public IntPtr GetString;
public IntPtr GetNumber;
public IntPtr GetDateTime;
public IntPtr GetInterval;
public IntPtr GetOptionCount;
public IntPtr GetOptionAt;
public IntPtr GetOption;
public IntPtr GetCredentialsCount;
public IntPtr GetCredentialsAt;
public IntPtr GetCredentialsPasswordAt;
public IntPtr Clone;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure MI_SubscriptionDeliveryOptionsFT
Public SetString As IntPtr
Public SetNumber As IntPtr
Public SetDateTime As IntPtr
Public SetInterval As IntPtr
Public AddCredentials As IntPtr
Public Delete As IntPtr
Public GetString As IntPtr
Public GetNumber As IntPtr
Public GetDateTime As IntPtr
Public GetInterval As IntPtr
Public GetOptionCount As IntPtr
Public GetOptionAt As IntPtr
Public GetOption As IntPtr
Public GetCredentialsCount As IntPtr
Public GetCredentialsAt As IntPtr
Public GetCredentialsPasswordAt As IntPtr
Public Clone As IntPtr
End Structureimport ctypes
from ctypes import wintypes
class MI_SubscriptionDeliveryOptionsFT(ctypes.Structure):
_fields_ = [
("SetString", ctypes.c_ssize_t),
("SetNumber", ctypes.c_ssize_t),
("SetDateTime", ctypes.c_ssize_t),
("SetInterval", ctypes.c_ssize_t),
("AddCredentials", ctypes.c_ssize_t),
("Delete", ctypes.c_ssize_t),
("GetString", ctypes.c_ssize_t),
("GetNumber", ctypes.c_ssize_t),
("GetDateTime", ctypes.c_ssize_t),
("GetInterval", ctypes.c_ssize_t),
("GetOptionCount", ctypes.c_ssize_t),
("GetOptionAt", ctypes.c_ssize_t),
("GetOption", ctypes.c_ssize_t),
("GetCredentialsCount", ctypes.c_ssize_t),
("GetCredentialsAt", ctypes.c_ssize_t),
("GetCredentialsPasswordAt", ctypes.c_ssize_t),
("Clone", ctypes.c_ssize_t),
]#[repr(C)]
pub struct MI_SubscriptionDeliveryOptionsFT {
pub SetString: isize,
pub SetNumber: isize,
pub SetDateTime: isize,
pub SetInterval: isize,
pub AddCredentials: isize,
pub Delete: isize,
pub GetString: isize,
pub GetNumber: isize,
pub GetDateTime: isize,
pub GetInterval: isize,
pub GetOptionCount: isize,
pub GetOptionAt: isize,
pub GetOption: isize,
pub GetCredentialsCount: isize,
pub GetCredentialsAt: isize,
pub GetCredentialsPasswordAt: isize,
pub Clone: isize,
}import "golang.org/x/sys/windows"
type MI_SubscriptionDeliveryOptionsFT struct {
SetString uintptr
SetNumber uintptr
SetDateTime uintptr
SetInterval uintptr
AddCredentials uintptr
Delete uintptr
GetString uintptr
GetNumber uintptr
GetDateTime uintptr
GetInterval uintptr
GetOptionCount uintptr
GetOptionAt uintptr
GetOption uintptr
GetCredentialsCount uintptr
GetCredentialsAt uintptr
GetCredentialsPasswordAt uintptr
Clone uintptr
}type
MI_SubscriptionDeliveryOptionsFT = record
SetString: NativeInt;
SetNumber: NativeInt;
SetDateTime: NativeInt;
SetInterval: NativeInt;
AddCredentials: NativeInt;
Delete: NativeInt;
GetString: NativeInt;
GetNumber: NativeInt;
GetDateTime: NativeInt;
GetInterval: NativeInt;
GetOptionCount: NativeInt;
GetOptionAt: NativeInt;
GetOption: NativeInt;
GetCredentialsCount: NativeInt;
GetCredentialsAt: NativeInt;
GetCredentialsPasswordAt: NativeInt;
Clone: NativeInt;
end;const MI_SubscriptionDeliveryOptionsFT = extern struct {
SetString: isize,
SetNumber: isize,
SetDateTime: isize,
SetInterval: isize,
AddCredentials: isize,
Delete: isize,
GetString: isize,
GetNumber: isize,
GetDateTime: isize,
GetInterval: isize,
GetOptionCount: isize,
GetOptionAt: isize,
GetOption: isize,
GetCredentialsCount: isize,
GetCredentialsAt: isize,
GetCredentialsPasswordAt: isize,
Clone: isize,
};type
MI_SubscriptionDeliveryOptionsFT {.bycopy.} = object
SetString: int
SetNumber: int
SetDateTime: int
SetInterval: int
AddCredentials: int
Delete: int
GetString: int
GetNumber: int
GetDateTime: int
GetInterval: int
GetOptionCount: int
GetOptionAt: int
GetOption: int
GetCredentialsCount: int
GetCredentialsAt: int
GetCredentialsPasswordAt: int
Clone: intstruct MI_SubscriptionDeliveryOptionsFT
{
ptrdiff_t SetString;
ptrdiff_t SetNumber;
ptrdiff_t SetDateTime;
ptrdiff_t SetInterval;
ptrdiff_t AddCredentials;
ptrdiff_t Delete;
ptrdiff_t GetString;
ptrdiff_t GetNumber;
ptrdiff_t GetDateTime;
ptrdiff_t GetInterval;
ptrdiff_t GetOptionCount;
ptrdiff_t GetOptionAt;
ptrdiff_t GetOption;
ptrdiff_t GetCredentialsCount;
ptrdiff_t GetCredentialsAt;
ptrdiff_t GetCredentialsPasswordAt;
ptrdiff_t Clone;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; MI_SubscriptionDeliveryOptionsFT サイズ: 68 バイト(x86)
dim st, 17 ; 4byte整数×17(構造体サイズ 68 / 4 切り上げ)
; SetString : INT_PTR (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; SetNumber : INT_PTR (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; SetDateTime : INT_PTR (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; SetInterval : INT_PTR (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; AddCredentials : INT_PTR (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; Delete : INT_PTR (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; GetString : INT_PTR (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; GetNumber : INT_PTR (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; GetDateTime : INT_PTR (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; GetInterval : INT_PTR (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; GetOptionCount : INT_PTR (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; GetOptionAt : INT_PTR (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; GetOption : INT_PTR (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; GetCredentialsCount : INT_PTR (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; GetCredentialsAt : INT_PTR (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; GetCredentialsPasswordAt : INT_PTR (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; Clone : INT_PTR (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; MI_SubscriptionDeliveryOptionsFT サイズ: 136 バイト(x64)
dim st, 34 ; 4byte整数×34(構造体サイズ 136 / 4 切り上げ)
; SetString : INT_PTR (+0, 8byte) qpoke st,0,値 / qpeek(st,0) ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; SetNumber : INT_PTR (+8, 8byte) qpoke st,8,値 / qpeek(st,8) ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; SetDateTime : INT_PTR (+16, 8byte) qpoke st,16,値 / qpeek(st,16) ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; SetInterval : INT_PTR (+24, 8byte) qpoke st,24,値 / qpeek(st,24) ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; AddCredentials : INT_PTR (+32, 8byte) qpoke st,32,値 / qpeek(st,32) ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; Delete : INT_PTR (+40, 8byte) qpoke st,40,値 / qpeek(st,40) ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; GetString : INT_PTR (+48, 8byte) qpoke st,48,値 / qpeek(st,48) ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; GetNumber : INT_PTR (+56, 8byte) qpoke st,56,値 / qpeek(st,56) ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; GetDateTime : INT_PTR (+64, 8byte) qpoke st,64,値 / qpeek(st,64) ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; GetInterval : INT_PTR (+72, 8byte) qpoke st,72,値 / qpeek(st,72) ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; GetOptionCount : INT_PTR (+80, 8byte) qpoke st,80,値 / qpeek(st,80) ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; GetOptionAt : INT_PTR (+88, 8byte) qpoke st,88,値 / qpeek(st,88) ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; GetOption : INT_PTR (+96, 8byte) qpoke st,96,値 / qpeek(st,96) ※IronHSPのみ。3.7/3.8は lpoke st,96,下位 : lpoke st,100,上位
; GetCredentialsCount : INT_PTR (+104, 8byte) qpoke st,104,値 / qpeek(st,104) ※IronHSPのみ。3.7/3.8は lpoke st,104,下位 : lpoke st,108,上位
; GetCredentialsAt : INT_PTR (+112, 8byte) qpoke st,112,値 / qpeek(st,112) ※IronHSPのみ。3.7/3.8は lpoke st,112,下位 : lpoke st,116,上位
; GetCredentialsPasswordAt : INT_PTR (+120, 8byte) qpoke st,120,値 / qpeek(st,120) ※IronHSPのみ。3.7/3.8は lpoke st,120,下位 : lpoke st,124,上位
; Clone : INT_PTR (+128, 8byte) qpoke st,128,値 / qpeek(st,128) ※IronHSPのみ。3.7/3.8は lpoke st,128,下位 : lpoke st,132,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global MI_SubscriptionDeliveryOptionsFT
#field intptr SetString
#field intptr SetNumber
#field intptr SetDateTime
#field intptr SetInterval
#field intptr AddCredentials
#field intptr Delete
#field intptr GetString
#field intptr GetNumber
#field intptr GetDateTime
#field intptr GetInterval
#field intptr GetOptionCount
#field intptr GetOptionAt
#field intptr GetOption
#field intptr GetCredentialsCount
#field intptr GetCredentialsAt
#field intptr GetCredentialsPasswordAt
#field intptr Clone
#endstruct
stdim st, MI_SubscriptionDeliveryOptionsFT ; NSTRUCT 変数を確保
st->SetString = 100
mes "SetString=" + st->SetString