Win32 API 日本語リファレンス
ホームSystem.RemoteDesktop › WRDS_SETTINGS

WRDS_SETTINGS

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

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

フィールド

フィールドサイズx64x86説明
WRdsSettingTypeWRDS_SETTING_TYPE4+0+0設定の種別を示す列挙値。WRDS_SETTING_TYPEで表す。
WRdsSettingLevelWRDS_SETTING_LEVEL4+4+4設定のレベルを示す列挙値。共用体の解釈を決める。
WRdsSettingWRDS_SETTING124+8+8レベルに応じた設定本体。WRDS_SETTING共用体。

各言語での定義

#include <windows.h>

// WRDS_SETTINGS_1  (x64 124 / x86 124 バイト)
typedef struct WRDS_SETTINGS_1 {
    WRDS_SETTING_STATUS WRdsDisableClipStatus;
    DWORD WRdsDisableClipValue;
    WRDS_SETTING_STATUS WRdsDisableLPTStatus;
    DWORD WRdsDisableLPTValue;
    WRDS_SETTING_STATUS WRdsDisableCcmStatus;
    DWORD WRdsDisableCcmValue;
    WRDS_SETTING_STATUS WRdsDisableCdmStatus;
    DWORD WRdsDisableCdmValue;
    WRDS_SETTING_STATUS WRdsDisableCpmStatus;
    DWORD WRdsDisableCpmValue;
    WRDS_SETTING_STATUS WRdsDisablePnpStatus;
    DWORD WRdsDisablePnpValue;
    WRDS_SETTING_STATUS WRdsEncryptionLevelStatus;
    DWORD WRdsEncryptionValue;
    WRDS_SETTING_STATUS WRdsColorDepthStatus;
    DWORD WRdsColorDepthValue;
    WRDS_SETTING_STATUS WRdsDisableAutoReconnecetStatus;
    DWORD WRdsDisableAutoReconnecetValue;
    WRDS_SETTING_STATUS WRdsDisableEncryptionStatus;
    DWORD WRdsDisableEncryptionValue;
    WRDS_SETTING_STATUS WRdsResetBrokenStatus;
    DWORD WRdsResetBrokenValue;
    WRDS_SETTING_STATUS WRdsMaxIdleTimeStatus;
    DWORD WRdsMaxIdleTimeValue;
    WRDS_SETTING_STATUS WRdsMaxDisconnectTimeStatus;
    DWORD WRdsMaxDisconnectTimeValue;
    WRDS_SETTING_STATUS WRdsMaxConnectTimeStatus;
    DWORD WRdsMaxConnectTimeValue;
    WRDS_SETTING_STATUS WRdsKeepAliveStatus;
    BOOLEAN WRdsKeepAliveStartValue;
    DWORD WRdsKeepAliveIntervalValue;
} WRDS_SETTINGS_1;

// WRDS_SETTING  (x64 124 / x86 124 バイト)
typedef struct WRDS_SETTING {
    WRDS_SETTINGS_1 WRdsSettings1;
} WRDS_SETTING;

// WRDS_SETTINGS  (x64 132 / x86 132 バイト)
typedef struct WRDS_SETTINGS {
    WRDS_SETTING_TYPE WRdsSettingType;
    WRDS_SETTING_LEVEL WRdsSettingLevel;
    WRDS_SETTING WRdsSetting;
} WRDS_SETTINGS;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct WRDS_SETTINGS_1
{
    public int WRdsDisableClipStatus;
    public uint WRdsDisableClipValue;
    public int WRdsDisableLPTStatus;
    public uint WRdsDisableLPTValue;
    public int WRdsDisableCcmStatus;
    public uint WRdsDisableCcmValue;
    public int WRdsDisableCdmStatus;
    public uint WRdsDisableCdmValue;
    public int WRdsDisableCpmStatus;
    public uint WRdsDisableCpmValue;
    public int WRdsDisablePnpStatus;
    public uint WRdsDisablePnpValue;
    public int WRdsEncryptionLevelStatus;
    public uint WRdsEncryptionValue;
    public int WRdsColorDepthStatus;
    public uint WRdsColorDepthValue;
    public int WRdsDisableAutoReconnecetStatus;
    public uint WRdsDisableAutoReconnecetValue;
    public int WRdsDisableEncryptionStatus;
    public uint WRdsDisableEncryptionValue;
    public int WRdsResetBrokenStatus;
    public uint WRdsResetBrokenValue;
    public int WRdsMaxIdleTimeStatus;
    public uint WRdsMaxIdleTimeValue;
    public int WRdsMaxDisconnectTimeStatus;
    public uint WRdsMaxDisconnectTimeValue;
    public int WRdsMaxConnectTimeStatus;
    public uint WRdsMaxConnectTimeValue;
    public int WRdsKeepAliveStatus;
    [MarshalAs(UnmanagedType.U1)] public bool WRdsKeepAliveStartValue;
    public uint WRdsKeepAliveIntervalValue;
}

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct WRDS_SETTING
{
    public WRDS_SETTINGS_1 WRdsSettings1;
}

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct WRDS_SETTINGS
{
    public int WRdsSettingType;
    public int WRdsSettingLevel;
    public WRDS_SETTING WRdsSetting;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure WRDS_SETTINGS_1
    Public WRdsDisableClipStatus As Integer
    Public WRdsDisableClipValue As UInteger
    Public WRdsDisableLPTStatus As Integer
    Public WRdsDisableLPTValue As UInteger
    Public WRdsDisableCcmStatus As Integer
    Public WRdsDisableCcmValue As UInteger
    Public WRdsDisableCdmStatus As Integer
    Public WRdsDisableCdmValue As UInteger
    Public WRdsDisableCpmStatus As Integer
    Public WRdsDisableCpmValue As UInteger
    Public WRdsDisablePnpStatus As Integer
    Public WRdsDisablePnpValue As UInteger
    Public WRdsEncryptionLevelStatus As Integer
    Public WRdsEncryptionValue As UInteger
    Public WRdsColorDepthStatus As Integer
    Public WRdsColorDepthValue As UInteger
    Public WRdsDisableAutoReconnecetStatus As Integer
    Public WRdsDisableAutoReconnecetValue As UInteger
    Public WRdsDisableEncryptionStatus As Integer
    Public WRdsDisableEncryptionValue As UInteger
    Public WRdsResetBrokenStatus As Integer
    Public WRdsResetBrokenValue As UInteger
    Public WRdsMaxIdleTimeStatus As Integer
    Public WRdsMaxIdleTimeValue As UInteger
    Public WRdsMaxDisconnectTimeStatus As Integer
    Public WRdsMaxDisconnectTimeValue As UInteger
    Public WRdsMaxConnectTimeStatus As Integer
    Public WRdsMaxConnectTimeValue As UInteger
    Public WRdsKeepAliveStatus As Integer
    <MarshalAs(UnmanagedType.U1)> Public WRdsKeepAliveStartValue As Boolean
    Public WRdsKeepAliveIntervalValue As UInteger
End Structure

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure WRDS_SETTING
    Public WRdsSettings1 As WRDS_SETTINGS_1
End Structure

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure WRDS_SETTINGS
    Public WRdsSettingType As Integer
    Public WRdsSettingLevel As Integer
    Public WRdsSetting As WRDS_SETTING
End Structure
import ctypes
from ctypes import wintypes

class WRDS_SETTINGS_1(ctypes.Structure):
    _fields_ = [
        ("WRdsDisableClipStatus", ctypes.c_int),
        ("WRdsDisableClipValue", wintypes.DWORD),
        ("WRdsDisableLPTStatus", ctypes.c_int),
        ("WRdsDisableLPTValue", wintypes.DWORD),
        ("WRdsDisableCcmStatus", ctypes.c_int),
        ("WRdsDisableCcmValue", wintypes.DWORD),
        ("WRdsDisableCdmStatus", ctypes.c_int),
        ("WRdsDisableCdmValue", wintypes.DWORD),
        ("WRdsDisableCpmStatus", ctypes.c_int),
        ("WRdsDisableCpmValue", wintypes.DWORD),
        ("WRdsDisablePnpStatus", ctypes.c_int),
        ("WRdsDisablePnpValue", wintypes.DWORD),
        ("WRdsEncryptionLevelStatus", ctypes.c_int),
        ("WRdsEncryptionValue", wintypes.DWORD),
        ("WRdsColorDepthStatus", ctypes.c_int),
        ("WRdsColorDepthValue", wintypes.DWORD),
        ("WRdsDisableAutoReconnecetStatus", ctypes.c_int),
        ("WRdsDisableAutoReconnecetValue", wintypes.DWORD),
        ("WRdsDisableEncryptionStatus", ctypes.c_int),
        ("WRdsDisableEncryptionValue", wintypes.DWORD),
        ("WRdsResetBrokenStatus", ctypes.c_int),
        ("WRdsResetBrokenValue", wintypes.DWORD),
        ("WRdsMaxIdleTimeStatus", ctypes.c_int),
        ("WRdsMaxIdleTimeValue", wintypes.DWORD),
        ("WRdsMaxDisconnectTimeStatus", ctypes.c_int),
        ("WRdsMaxDisconnectTimeValue", wintypes.DWORD),
        ("WRdsMaxConnectTimeStatus", ctypes.c_int),
        ("WRdsMaxConnectTimeValue", wintypes.DWORD),
        ("WRdsKeepAliveStatus", ctypes.c_int),
        ("WRdsKeepAliveStartValue", ctypes.c_byte),
        ("WRdsKeepAliveIntervalValue", wintypes.DWORD),
    ]

class WRDS_SETTING(ctypes.Structure):
    _fields_ = [
        ("WRdsSettings1", WRDS_SETTINGS_1),
    ]

class WRDS_SETTINGS(ctypes.Structure):
    _fields_ = [
        ("WRdsSettingType", ctypes.c_int),
        ("WRdsSettingLevel", ctypes.c_int),
        ("WRdsSetting", WRDS_SETTING),
    ]
#[repr(C)]
pub struct WRDS_SETTINGS_1 {
    pub WRdsDisableClipStatus: i32,
    pub WRdsDisableClipValue: u32,
    pub WRdsDisableLPTStatus: i32,
    pub WRdsDisableLPTValue: u32,
    pub WRdsDisableCcmStatus: i32,
    pub WRdsDisableCcmValue: u32,
    pub WRdsDisableCdmStatus: i32,
    pub WRdsDisableCdmValue: u32,
    pub WRdsDisableCpmStatus: i32,
    pub WRdsDisableCpmValue: u32,
    pub WRdsDisablePnpStatus: i32,
    pub WRdsDisablePnpValue: u32,
    pub WRdsEncryptionLevelStatus: i32,
    pub WRdsEncryptionValue: u32,
    pub WRdsColorDepthStatus: i32,
    pub WRdsColorDepthValue: u32,
    pub WRdsDisableAutoReconnecetStatus: i32,
    pub WRdsDisableAutoReconnecetValue: u32,
    pub WRdsDisableEncryptionStatus: i32,
    pub WRdsDisableEncryptionValue: u32,
    pub WRdsResetBrokenStatus: i32,
    pub WRdsResetBrokenValue: u32,
    pub WRdsMaxIdleTimeStatus: i32,
    pub WRdsMaxIdleTimeValue: u32,
    pub WRdsMaxDisconnectTimeStatus: i32,
    pub WRdsMaxDisconnectTimeValue: u32,
    pub WRdsMaxConnectTimeStatus: i32,
    pub WRdsMaxConnectTimeValue: u32,
    pub WRdsKeepAliveStatus: i32,
    pub WRdsKeepAliveStartValue: u8,
    pub WRdsKeepAliveIntervalValue: u32,
}

#[repr(C)]
pub struct WRDS_SETTING {
    pub WRdsSettings1: WRDS_SETTINGS_1,
}

#[repr(C)]
pub struct WRDS_SETTINGS {
    pub WRdsSettingType: i32,
    pub WRdsSettingLevel: i32,
    pub WRdsSetting: WRDS_SETTING,
}
import "golang.org/x/sys/windows"

type WRDS_SETTINGS_1 struct {
	WRdsDisableClipStatus int32
	WRdsDisableClipValue uint32
	WRdsDisableLPTStatus int32
	WRdsDisableLPTValue uint32
	WRdsDisableCcmStatus int32
	WRdsDisableCcmValue uint32
	WRdsDisableCdmStatus int32
	WRdsDisableCdmValue uint32
	WRdsDisableCpmStatus int32
	WRdsDisableCpmValue uint32
	WRdsDisablePnpStatus int32
	WRdsDisablePnpValue uint32
	WRdsEncryptionLevelStatus int32
	WRdsEncryptionValue uint32
	WRdsColorDepthStatus int32
	WRdsColorDepthValue uint32
	WRdsDisableAutoReconnecetStatus int32
	WRdsDisableAutoReconnecetValue uint32
	WRdsDisableEncryptionStatus int32
	WRdsDisableEncryptionValue uint32
	WRdsResetBrokenStatus int32
	WRdsResetBrokenValue uint32
	WRdsMaxIdleTimeStatus int32
	WRdsMaxIdleTimeValue uint32
	WRdsMaxDisconnectTimeStatus int32
	WRdsMaxDisconnectTimeValue uint32
	WRdsMaxConnectTimeStatus int32
	WRdsMaxConnectTimeValue uint32
	WRdsKeepAliveStatus int32
	WRdsKeepAliveStartValue byte
	WRdsKeepAliveIntervalValue uint32
}

type WRDS_SETTING struct {
	WRdsSettings1 WRDS_SETTINGS_1
}

type WRDS_SETTINGS struct {
	WRdsSettingType int32
	WRdsSettingLevel int32
	WRdsSetting WRDS_SETTING
}
type
  WRDS_SETTINGS_1 = record
    WRdsDisableClipStatus: Integer;
    WRdsDisableClipValue: DWORD;
    WRdsDisableLPTStatus: Integer;
    WRdsDisableLPTValue: DWORD;
    WRdsDisableCcmStatus: Integer;
    WRdsDisableCcmValue: DWORD;
    WRdsDisableCdmStatus: Integer;
    WRdsDisableCdmValue: DWORD;
    WRdsDisableCpmStatus: Integer;
    WRdsDisableCpmValue: DWORD;
    WRdsDisablePnpStatus: Integer;
    WRdsDisablePnpValue: DWORD;
    WRdsEncryptionLevelStatus: Integer;
    WRdsEncryptionValue: DWORD;
    WRdsColorDepthStatus: Integer;
    WRdsColorDepthValue: DWORD;
    WRdsDisableAutoReconnecetStatus: Integer;
    WRdsDisableAutoReconnecetValue: DWORD;
    WRdsDisableEncryptionStatus: Integer;
    WRdsDisableEncryptionValue: DWORD;
    WRdsResetBrokenStatus: Integer;
    WRdsResetBrokenValue: DWORD;
    WRdsMaxIdleTimeStatus: Integer;
    WRdsMaxIdleTimeValue: DWORD;
    WRdsMaxDisconnectTimeStatus: Integer;
    WRdsMaxDisconnectTimeValue: DWORD;
    WRdsMaxConnectTimeStatus: Integer;
    WRdsMaxConnectTimeValue: DWORD;
    WRdsKeepAliveStatus: Integer;
    WRdsKeepAliveStartValue: ByteBool;
    WRdsKeepAliveIntervalValue: DWORD;
  end;

  WRDS_SETTING = record
    WRdsSettings1: WRDS_SETTINGS_1;
  end;

  WRDS_SETTINGS = record
    WRdsSettingType: Integer;
    WRdsSettingLevel: Integer;
    WRdsSetting: WRDS_SETTING;
  end;
const WRDS_SETTINGS_1 = extern struct {
    WRdsDisableClipStatus: i32,
    WRdsDisableClipValue: u32,
    WRdsDisableLPTStatus: i32,
    WRdsDisableLPTValue: u32,
    WRdsDisableCcmStatus: i32,
    WRdsDisableCcmValue: u32,
    WRdsDisableCdmStatus: i32,
    WRdsDisableCdmValue: u32,
    WRdsDisableCpmStatus: i32,
    WRdsDisableCpmValue: u32,
    WRdsDisablePnpStatus: i32,
    WRdsDisablePnpValue: u32,
    WRdsEncryptionLevelStatus: i32,
    WRdsEncryptionValue: u32,
    WRdsColorDepthStatus: i32,
    WRdsColorDepthValue: u32,
    WRdsDisableAutoReconnecetStatus: i32,
    WRdsDisableAutoReconnecetValue: u32,
    WRdsDisableEncryptionStatus: i32,
    WRdsDisableEncryptionValue: u32,
    WRdsResetBrokenStatus: i32,
    WRdsResetBrokenValue: u32,
    WRdsMaxIdleTimeStatus: i32,
    WRdsMaxIdleTimeValue: u32,
    WRdsMaxDisconnectTimeStatus: i32,
    WRdsMaxDisconnectTimeValue: u32,
    WRdsMaxConnectTimeStatus: i32,
    WRdsMaxConnectTimeValue: u32,
    WRdsKeepAliveStatus: i32,
    WRdsKeepAliveStartValue: u8,
    WRdsKeepAliveIntervalValue: u32,
};

const WRDS_SETTING = extern struct {
    WRdsSettings1: WRDS_SETTINGS_1,
};

const WRDS_SETTINGS = extern struct {
    WRdsSettingType: i32,
    WRdsSettingLevel: i32,
    WRdsSetting: WRDS_SETTING,
};
type
  WRDS_SETTINGS_1 {.bycopy.} = object
    WRdsDisableClipStatus: int32
    WRdsDisableClipValue: uint32
    WRdsDisableLPTStatus: int32
    WRdsDisableLPTValue: uint32
    WRdsDisableCcmStatus: int32
    WRdsDisableCcmValue: uint32
    WRdsDisableCdmStatus: int32
    WRdsDisableCdmValue: uint32
    WRdsDisableCpmStatus: int32
    WRdsDisableCpmValue: uint32
    WRdsDisablePnpStatus: int32
    WRdsDisablePnpValue: uint32
    WRdsEncryptionLevelStatus: int32
    WRdsEncryptionValue: uint32
    WRdsColorDepthStatus: int32
    WRdsColorDepthValue: uint32
    WRdsDisableAutoReconnecetStatus: int32
    WRdsDisableAutoReconnecetValue: uint32
    WRdsDisableEncryptionStatus: int32
    WRdsDisableEncryptionValue: uint32
    WRdsResetBrokenStatus: int32
    WRdsResetBrokenValue: uint32
    WRdsMaxIdleTimeStatus: int32
    WRdsMaxIdleTimeValue: uint32
    WRdsMaxDisconnectTimeStatus: int32
    WRdsMaxDisconnectTimeValue: uint32
    WRdsMaxConnectTimeStatus: int32
    WRdsMaxConnectTimeValue: uint32
    WRdsKeepAliveStatus: int32
    WRdsKeepAliveStartValue: uint8
    WRdsKeepAliveIntervalValue: uint32

  WRDS_SETTING {.bycopy.} = object
    WRdsSettings1: WRDS_SETTINGS_1

  WRDS_SETTINGS {.bycopy.} = object
    WRdsSettingType: int32
    WRdsSettingLevel: int32
    WRdsSetting: WRDS_SETTING
struct WRDS_SETTINGS_1
{
    int WRdsDisableClipStatus;
    uint WRdsDisableClipValue;
    int WRdsDisableLPTStatus;
    uint WRdsDisableLPTValue;
    int WRdsDisableCcmStatus;
    uint WRdsDisableCcmValue;
    int WRdsDisableCdmStatus;
    uint WRdsDisableCdmValue;
    int WRdsDisableCpmStatus;
    uint WRdsDisableCpmValue;
    int WRdsDisablePnpStatus;
    uint WRdsDisablePnpValue;
    int WRdsEncryptionLevelStatus;
    uint WRdsEncryptionValue;
    int WRdsColorDepthStatus;
    uint WRdsColorDepthValue;
    int WRdsDisableAutoReconnecetStatus;
    uint WRdsDisableAutoReconnecetValue;
    int WRdsDisableEncryptionStatus;
    uint WRdsDisableEncryptionValue;
    int WRdsResetBrokenStatus;
    uint WRdsResetBrokenValue;
    int WRdsMaxIdleTimeStatus;
    uint WRdsMaxIdleTimeValue;
    int WRdsMaxDisconnectTimeStatus;
    uint WRdsMaxDisconnectTimeValue;
    int WRdsMaxConnectTimeStatus;
    uint WRdsMaxConnectTimeValue;
    int WRdsKeepAliveStatus;
    ubyte WRdsKeepAliveStartValue;
    uint WRdsKeepAliveIntervalValue;
}

struct WRDS_SETTING
{
    WRDS_SETTINGS_1 WRdsSettings1;
}

struct WRDS_SETTINGS
{
    int WRdsSettingType;
    int WRdsSettingLevel;
    WRDS_SETTING WRdsSetting;
}

HSP用 定義

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

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; WRDS_SETTINGS サイズ: 132 バイト(x64)
dim st, 33    ; 4byte整数×33(構造体サイズ 132 / 4 切り上げ)
; WRdsSettingType : WRDS_SETTING_TYPE (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; WRdsSettingLevel : WRDS_SETTING_LEVEL (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; WRdsSetting : WRDS_SETTING (+8, 124byte)  varptr(st)+8 を基点に操作(124byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global WRDS_SETTINGS
    #field int WRdsSettingType
    #field int WRdsSettingLevel
    #field byte WRdsSetting 124
#endstruct

stdim st, WRDS_SETTINGS        ; NSTRUCT 変数を確保
st->WRdsSettingType = 100
mes "WRdsSettingType=" + st->WRdsSettingType
; ※union フィールドは byte 列で確保(NSTRUCT は union 非対応)。必要に応じ手動でアクセス。