Win32 API 日本語リファレンス
ホームStorage.DistributedFileSystem › DFS_SUPPORTED_NAMESPACE_VERSION_INFO

DFS_SUPPORTED_NAMESPACE_VERSION_INFO

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

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

フィールド

フィールドサイズx64x86説明
DomainDfsMajorVersionDWORD4+0+0ドメインベースDFS名前空間のメジャーバージョン番号。
DomainDfsMinorVersionDWORD4+4+4ドメインベースDFS名前空間のマイナーバージョン番号。
DomainDfsCapabilitiesULONGLONG8+8+8ドメインベースDFSがサポートする機能を示すビットフラグ。64ビット。
StandaloneDfsMajorVersionDWORD4+16+16スタンドアロンDFS名前空間のメジャーバージョン番号。
StandaloneDfsMinorVersionDWORD4+20+20スタンドアロンDFS名前空間のマイナーバージョン番号。
StandaloneDfsCapabilitiesULONGLONG8+24+24スタンドアロンDFSがサポートする機能を示すビットフラグ。64ビット。

各言語での定義

#include <windows.h>

// DFS_SUPPORTED_NAMESPACE_VERSION_INFO  (x64 32 / x86 32 バイト)
typedef struct DFS_SUPPORTED_NAMESPACE_VERSION_INFO {
    DWORD DomainDfsMajorVersion;
    DWORD DomainDfsMinorVersion;
    ULONGLONG DomainDfsCapabilities;
    DWORD StandaloneDfsMajorVersion;
    DWORD StandaloneDfsMinorVersion;
    ULONGLONG StandaloneDfsCapabilities;
} DFS_SUPPORTED_NAMESPACE_VERSION_INFO;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DFS_SUPPORTED_NAMESPACE_VERSION_INFO
{
    public uint DomainDfsMajorVersion;
    public uint DomainDfsMinorVersion;
    public ulong DomainDfsCapabilities;
    public uint StandaloneDfsMajorVersion;
    public uint StandaloneDfsMinorVersion;
    public ulong StandaloneDfsCapabilities;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure DFS_SUPPORTED_NAMESPACE_VERSION_INFO
    Public DomainDfsMajorVersion As UInteger
    Public DomainDfsMinorVersion As UInteger
    Public DomainDfsCapabilities As ULong
    Public StandaloneDfsMajorVersion As UInteger
    Public StandaloneDfsMinorVersion As UInteger
    Public StandaloneDfsCapabilities As ULong
End Structure
import ctypes
from ctypes import wintypes

class DFS_SUPPORTED_NAMESPACE_VERSION_INFO(ctypes.Structure):
    _fields_ = [
        ("DomainDfsMajorVersion", wintypes.DWORD),
        ("DomainDfsMinorVersion", wintypes.DWORD),
        ("DomainDfsCapabilities", ctypes.c_ulonglong),
        ("StandaloneDfsMajorVersion", wintypes.DWORD),
        ("StandaloneDfsMinorVersion", wintypes.DWORD),
        ("StandaloneDfsCapabilities", ctypes.c_ulonglong),
    ]
#[repr(C)]
pub struct DFS_SUPPORTED_NAMESPACE_VERSION_INFO {
    pub DomainDfsMajorVersion: u32,
    pub DomainDfsMinorVersion: u32,
    pub DomainDfsCapabilities: u64,
    pub StandaloneDfsMajorVersion: u32,
    pub StandaloneDfsMinorVersion: u32,
    pub StandaloneDfsCapabilities: u64,
}
import "golang.org/x/sys/windows"

type DFS_SUPPORTED_NAMESPACE_VERSION_INFO struct {
	DomainDfsMajorVersion uint32
	DomainDfsMinorVersion uint32
	DomainDfsCapabilities uint64
	StandaloneDfsMajorVersion uint32
	StandaloneDfsMinorVersion uint32
	StandaloneDfsCapabilities uint64
}
type
  DFS_SUPPORTED_NAMESPACE_VERSION_INFO = record
    DomainDfsMajorVersion: DWORD;
    DomainDfsMinorVersion: DWORD;
    DomainDfsCapabilities: UInt64;
    StandaloneDfsMajorVersion: DWORD;
    StandaloneDfsMinorVersion: DWORD;
    StandaloneDfsCapabilities: UInt64;
  end;
const DFS_SUPPORTED_NAMESPACE_VERSION_INFO = extern struct {
    DomainDfsMajorVersion: u32,
    DomainDfsMinorVersion: u32,
    DomainDfsCapabilities: u64,
    StandaloneDfsMajorVersion: u32,
    StandaloneDfsMinorVersion: u32,
    StandaloneDfsCapabilities: u64,
};
type
  DFS_SUPPORTED_NAMESPACE_VERSION_INFO {.bycopy.} = object
    DomainDfsMajorVersion: uint32
    DomainDfsMinorVersion: uint32
    DomainDfsCapabilities: uint64
    StandaloneDfsMajorVersion: uint32
    StandaloneDfsMinorVersion: uint32
    StandaloneDfsCapabilities: uint64
struct DFS_SUPPORTED_NAMESPACE_VERSION_INFO
{
    uint DomainDfsMajorVersion;
    uint DomainDfsMinorVersion;
    ulong DomainDfsCapabilities;
    uint StandaloneDfsMajorVersion;
    uint StandaloneDfsMinorVersion;
    ulong StandaloneDfsCapabilities;
}

HSP用 定義

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

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; DFS_SUPPORTED_NAMESPACE_VERSION_INFO サイズ: 32 バイト(x64)
dim st, 8    ; 4byte整数×8(構造体サイズ 32 / 4 切り上げ)
; DomainDfsMajorVersion : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; DomainDfsMinorVersion : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; DomainDfsCapabilities : ULONGLONG (+8, 8byte)  qpoke st,8,値 / qpeek(st,8)  ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; StandaloneDfsMajorVersion : DWORD (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; StandaloneDfsMinorVersion : DWORD (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; StandaloneDfsCapabilities : ULONGLONG (+24, 8byte)  qpoke st,24,値 / qpeek(st,24)  ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global DFS_SUPPORTED_NAMESPACE_VERSION_INFO
    #field int DomainDfsMajorVersion
    #field int DomainDfsMinorVersion
    #field int64 DomainDfsCapabilities
    #field int StandaloneDfsMajorVersion
    #field int StandaloneDfsMinorVersion
    #field int64 StandaloneDfsCapabilities
#endstruct

stdim st, DFS_SUPPORTED_NAMESPACE_VERSION_INFO        ; NSTRUCT 変数を確保
st->DomainDfsMajorVersion = 100
mes "DomainDfsMajorVersion=" + st->DomainDfsMajorVersion