ホーム › Storage.Nvme › NVME_CDW11_FEATURES
NVME_CDW11_FEATURES
共用体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| NumberOfQueues | NVME_CDW11_FEATURE_NUMBER_OF_QUEUES | 4 | +0 | +0 | キュー数Featureとして解釈したCDW11。 |
| InterruptCoalescing | NVME_CDW11_FEATURE_INTERRUPT_COALESCING | 4 | +0 | +0 | 割り込み合体Featureとして解釈したCDW11。 |
| InterruptVectorConfig | NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG | 4 | +0 | +0 | 割り込みベクタ設定Featureとして解釈したCDW11。 |
| LbaRangeType | NVME_CDW11_FEATURE_LBA_RANGE_TYPE | 4 | +0 | +0 | LBA範囲タイプFeatureとして解釈したCDW11。 |
| Arbitration | NVME_CDW11_FEATURE_ARBITRATION | 4 | +0 | +0 | アービトレーションFeatureとして解釈したCDW11。 |
| VolatileWriteCache | NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE | 4 | +0 | +0 | 揮発性書き込みキャッシュFeatureとして解釈したCDW11。 |
| AsyncEventConfig | NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG | 4 | +0 | +0 | 非同期イベント設定Featureとして解釈したCDW11。 |
| PowerManagement | NVME_CDW11_FEATURE_POWER_MANAGEMENT | 4 | +0 | +0 | 電源管理Featureとして解釈したCDW11。 |
| AutoPowerStateTransition | NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION | 4 | +0 | +0 | 自動電源状態遷移Featureとして解釈したCDW11。 |
| TemperatureThreshold | NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD | 4 | +0 | +0 | 温度しきい値Featureとして解釈したCDW11。 |
| ErrorRecovery | NVME_CDW11_FEATURE_ERROR_RECOVERY | 4 | +0 | +0 | エラー回復Featureとして解釈したCDW11。 |
| HostMemoryBuffer | NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER | 4 | +0 | +0 | ホストメモリバッファFeatureとして解釈したCDW11。 |
| WriteAtomicityNormal | NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL | 4 | +0 | +0 | 書き込みアトミック性Featureとして解釈したCDW11。 |
| NonOperationalPowerState | NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE | 4 | +0 | +0 | 非動作電源状態Featureとして解釈したCDW11。 |
| IoCommandSetProfile | NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE | 4 | +0 | +0 | I/Oコマンドセットプロファイルとして解釈したCDW11。 |
| ErrorInjection | NVME_CDW0_FEATURE_ERROR_INJECTION | 4 | +0 | +0 | エラーインジェクションFeatureとして解釈したCDW11。 |
| HostIdentifier | NVME_CDW11_FEATURE_HOST_IDENTIFIER | 4 | +0 | +0 | ホスト識別子Featureとして解釈したCDW11。 |
| ReservationPersistence | NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE | 4 | +0 | +0 | 予約持続Featureとして解釈したCDW11。 |
| ReservationNotificationMask | NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK | 4 | +0 | +0 | 予約通知マスクFeatureとして解釈したCDW11。 |
| GetHostMetadata | NVME_CDW11_FEATURE_GET_HOST_METADATA | 4 | +0 | +0 | ホストメタデータ取得Featureとして解釈したCDW11。 |
| SetHostMetadata | NVME_CDW11_FEATURE_SET_HOST_METADATA | 4 | +0 | +0 | ホストメタデータ設定Featureとして解釈したCDW11。 |
| AsUlong | DWORD | 4 | +0 | +0 | CDW11全体を32ビット整数としてアクセスするための値。 |
各言語での定義
#include <windows.h>
// NVME_CDW11_FEATURE_NUMBER_OF_QUEUES (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_NUMBER_OF_QUEUES {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_NUMBER_OF_QUEUES;
// NVME_CDW11_FEATURE_INTERRUPT_COALESCING (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_INTERRUPT_COALESCING {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_INTERRUPT_COALESCING;
// NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG;
// NVME_CDW11_FEATURE_LBA_RANGE_TYPE (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_LBA_RANGE_TYPE {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_LBA_RANGE_TYPE;
// NVME_CDW11_FEATURE_ARBITRATION (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_ARBITRATION {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_ARBITRATION;
// NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE;
// NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG;
// NVME_CDW11_FEATURE_POWER_MANAGEMENT (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_POWER_MANAGEMENT {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_POWER_MANAGEMENT;
// NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION;
// NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD;
// NVME_CDW11_FEATURE_ERROR_RECOVERY (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_ERROR_RECOVERY {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_ERROR_RECOVERY;
// NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER;
// NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL;
// NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE;
// NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE;
// NVME_CDW0_FEATURE_ERROR_INJECTION (x64 4 / x86 4 バイト)
typedef struct NVME_CDW0_FEATURE_ERROR_INJECTION {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW0_FEATURE_ERROR_INJECTION;
// NVME_CDW11_FEATURE_HOST_IDENTIFIER (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_HOST_IDENTIFIER {
DWORD _bitfield;
} NVME_CDW11_FEATURE_HOST_IDENTIFIER;
// NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE {
DWORD _bitfield;
} NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE;
// NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK {
DWORD _bitfield;
} NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK;
// NVME_CDW11_FEATURE_GET_HOST_METADATA (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_GET_HOST_METADATA {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_GET_HOST_METADATA;
// NVME_CDW11_FEATURE_SET_HOST_METADATA (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURE_SET_HOST_METADATA {
_Anonymous_e__Struct Anonymous;
DWORD AsUlong;
} NVME_CDW11_FEATURE_SET_HOST_METADATA;
// NVME_CDW11_FEATURES (x64 4 / x86 4 バイト)
typedef struct NVME_CDW11_FEATURES {
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
NVME_CDW11_FEATURE_ARBITRATION Arbitration;
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
NVME_CDW0_FEATURE_ERROR_INJECTION ErrorInjection;
NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
DWORD AsUlong;
} NVME_CDW11_FEATURES;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_NUMBER_OF_QUEUES
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_INTERRUPT_COALESCING
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_LBA_RANGE_TYPE
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_ARBITRATION
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_POWER_MANAGEMENT
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_ERROR_RECOVERY
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW0_FEATURE_ERROR_INJECTION
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_HOST_IDENTIFIER
{
public uint _bitfield;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
{
public uint _bitfield;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
{
public uint _bitfield;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_GET_HOST_METADATA
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURE_SET_HOST_METADATA
{
public _Anonymous_e__Struct Anonymous;
public uint AsUlong;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct NVME_CDW11_FEATURES
{
public NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
public NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
public NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
public NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
public NVME_CDW11_FEATURE_ARBITRATION Arbitration;
public NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
public NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
public NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
public NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
public NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
public NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
public NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
public NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
public NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
public NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
public NVME_CDW0_FEATURE_ERROR_INJECTION ErrorInjection;
public NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
public NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
public NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
public NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
public NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
public uint AsUlong;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_NUMBER_OF_QUEUES
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_INTERRUPT_COALESCING
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_LBA_RANGE_TYPE
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_ARBITRATION
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_POWER_MANAGEMENT
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_ERROR_RECOVERY
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW0_FEATURE_ERROR_INJECTION
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_HOST_IDENTIFIER
Public _bitfield As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
Public _bitfield As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
Public _bitfield As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_GET_HOST_METADATA
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURE_SET_HOST_METADATA
Public Anonymous As _Anonymous_e__Struct
Public AsUlong As UInteger
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure NVME_CDW11_FEATURES
Public NumberOfQueues As NVME_CDW11_FEATURE_NUMBER_OF_QUEUES
Public InterruptCoalescing As NVME_CDW11_FEATURE_INTERRUPT_COALESCING
Public InterruptVectorConfig As NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG
Public LbaRangeType As NVME_CDW11_FEATURE_LBA_RANGE_TYPE
Public Arbitration As NVME_CDW11_FEATURE_ARBITRATION
Public VolatileWriteCache As NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE
Public AsyncEventConfig As NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG
Public PowerManagement As NVME_CDW11_FEATURE_POWER_MANAGEMENT
Public AutoPowerStateTransition As NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION
Public TemperatureThreshold As NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD
Public ErrorRecovery As NVME_CDW11_FEATURE_ERROR_RECOVERY
Public HostMemoryBuffer As NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER
Public WriteAtomicityNormal As NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL
Public NonOperationalPowerState As NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE
Public IoCommandSetProfile As NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE
Public ErrorInjection As NVME_CDW0_FEATURE_ERROR_INJECTION
Public HostIdentifier As NVME_CDW11_FEATURE_HOST_IDENTIFIER
Public ReservationPersistence As NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
Public ReservationNotificationMask As NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
Public GetHostMetadata As NVME_CDW11_FEATURE_GET_HOST_METADATA
Public SetHostMetadata As NVME_CDW11_FEATURE_SET_HOST_METADATA
Public AsUlong As UInteger
End Structureimport ctypes
from ctypes import wintypes
class NVME_CDW11_FEATURE_NUMBER_OF_QUEUES(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_INTERRUPT_COALESCING(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_LBA_RANGE_TYPE(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_ARBITRATION(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_POWER_MANAGEMENT(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_ERROR_RECOVERY(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW0_FEATURE_ERROR_INJECTION(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_HOST_IDENTIFIER(ctypes.Structure):
_fields_ = [
("_bitfield", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE(ctypes.Structure):
_fields_ = [
("_bitfield", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK(ctypes.Structure):
_fields_ = [
("_bitfield", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_GET_HOST_METADATA(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURE_SET_HOST_METADATA(ctypes.Structure):
_fields_ = [
("Anonymous", _Anonymous_e__Struct),
("AsUlong", wintypes.DWORD),
]
class NVME_CDW11_FEATURES(ctypes.Structure):
_fields_ = [
("NumberOfQueues", NVME_CDW11_FEATURE_NUMBER_OF_QUEUES),
("InterruptCoalescing", NVME_CDW11_FEATURE_INTERRUPT_COALESCING),
("InterruptVectorConfig", NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG),
("LbaRangeType", NVME_CDW11_FEATURE_LBA_RANGE_TYPE),
("Arbitration", NVME_CDW11_FEATURE_ARBITRATION),
("VolatileWriteCache", NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE),
("AsyncEventConfig", NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG),
("PowerManagement", NVME_CDW11_FEATURE_POWER_MANAGEMENT),
("AutoPowerStateTransition", NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION),
("TemperatureThreshold", NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD),
("ErrorRecovery", NVME_CDW11_FEATURE_ERROR_RECOVERY),
("HostMemoryBuffer", NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER),
("WriteAtomicityNormal", NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL),
("NonOperationalPowerState", NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE),
("IoCommandSetProfile", NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE),
("ErrorInjection", NVME_CDW0_FEATURE_ERROR_INJECTION),
("HostIdentifier", NVME_CDW11_FEATURE_HOST_IDENTIFIER),
("ReservationPersistence", NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE),
("ReservationNotificationMask", NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK),
("GetHostMetadata", NVME_CDW11_FEATURE_GET_HOST_METADATA),
("SetHostMetadata", NVME_CDW11_FEATURE_SET_HOST_METADATA),
("AsUlong", wintypes.DWORD),
]#[repr(C)]
pub struct NVME_CDW11_FEATURE_NUMBER_OF_QUEUES {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_INTERRUPT_COALESCING {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_LBA_RANGE_TYPE {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_ARBITRATION {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_POWER_MANAGEMENT {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_ERROR_RECOVERY {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW0_FEATURE_ERROR_INJECTION {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_HOST_IDENTIFIER {
pub _bitfield: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE {
pub _bitfield: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK {
pub _bitfield: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_GET_HOST_METADATA {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURE_SET_HOST_METADATA {
pub Anonymous: _Anonymous_e__Struct,
pub AsUlong: u32,
}
#[repr(C)]
pub struct NVME_CDW11_FEATURES {
pub NumberOfQueues: NVME_CDW11_FEATURE_NUMBER_OF_QUEUES,
pub InterruptCoalescing: NVME_CDW11_FEATURE_INTERRUPT_COALESCING,
pub InterruptVectorConfig: NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG,
pub LbaRangeType: NVME_CDW11_FEATURE_LBA_RANGE_TYPE,
pub Arbitration: NVME_CDW11_FEATURE_ARBITRATION,
pub VolatileWriteCache: NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE,
pub AsyncEventConfig: NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG,
pub PowerManagement: NVME_CDW11_FEATURE_POWER_MANAGEMENT,
pub AutoPowerStateTransition: NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION,
pub TemperatureThreshold: NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD,
pub ErrorRecovery: NVME_CDW11_FEATURE_ERROR_RECOVERY,
pub HostMemoryBuffer: NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER,
pub WriteAtomicityNormal: NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL,
pub NonOperationalPowerState: NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE,
pub IoCommandSetProfile: NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE,
pub ErrorInjection: NVME_CDW0_FEATURE_ERROR_INJECTION,
pub HostIdentifier: NVME_CDW11_FEATURE_HOST_IDENTIFIER,
pub ReservationPersistence: NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE,
pub ReservationNotificationMask: NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK,
pub GetHostMetadata: NVME_CDW11_FEATURE_GET_HOST_METADATA,
pub SetHostMetadata: NVME_CDW11_FEATURE_SET_HOST_METADATA,
pub AsUlong: u32,
}import "golang.org/x/sys/windows"
type NVME_CDW11_FEATURE_NUMBER_OF_QUEUES struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_INTERRUPT_COALESCING struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_LBA_RANGE_TYPE struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_ARBITRATION struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_POWER_MANAGEMENT struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_ERROR_RECOVERY struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW0_FEATURE_ERROR_INJECTION struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_HOST_IDENTIFIER struct {
_bitfield uint32
}
type NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE struct {
_bitfield uint32
}
type NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK struct {
_bitfield uint32
}
type NVME_CDW11_FEATURE_GET_HOST_METADATA struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURE_SET_HOST_METADATA struct {
Anonymous _Anonymous_e__Struct
AsUlong uint32
}
type NVME_CDW11_FEATURES struct {
NumberOfQueues NVME_CDW11_FEATURE_NUMBER_OF_QUEUES
InterruptCoalescing NVME_CDW11_FEATURE_INTERRUPT_COALESCING
InterruptVectorConfig NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG
LbaRangeType NVME_CDW11_FEATURE_LBA_RANGE_TYPE
Arbitration NVME_CDW11_FEATURE_ARBITRATION
VolatileWriteCache NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE
AsyncEventConfig NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG
PowerManagement NVME_CDW11_FEATURE_POWER_MANAGEMENT
AutoPowerStateTransition NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION
TemperatureThreshold NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD
ErrorRecovery NVME_CDW11_FEATURE_ERROR_RECOVERY
HostMemoryBuffer NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER
WriteAtomicityNormal NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL
NonOperationalPowerState NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE
IoCommandSetProfile NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE
ErrorInjection NVME_CDW0_FEATURE_ERROR_INJECTION
HostIdentifier NVME_CDW11_FEATURE_HOST_IDENTIFIER
ReservationPersistence NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
ReservationNotificationMask NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
GetHostMetadata NVME_CDW11_FEATURE_GET_HOST_METADATA
SetHostMetadata NVME_CDW11_FEATURE_SET_HOST_METADATA
AsUlong uint32
}type
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_INTERRUPT_COALESCING = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_LBA_RANGE_TYPE = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_ARBITRATION = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_POWER_MANAGEMENT = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_ERROR_RECOVERY = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW0_FEATURE_ERROR_INJECTION = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_HOST_IDENTIFIER = record
_bitfield: DWORD;
end;
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE = record
_bitfield: DWORD;
end;
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK = record
_bitfield: DWORD;
end;
NVME_CDW11_FEATURE_GET_HOST_METADATA = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURE_SET_HOST_METADATA = record
Anonymous: _Anonymous_e__Struct;
AsUlong: DWORD;
end;
NVME_CDW11_FEATURES = record
NumberOfQueues: NVME_CDW11_FEATURE_NUMBER_OF_QUEUES;
InterruptCoalescing: NVME_CDW11_FEATURE_INTERRUPT_COALESCING;
InterruptVectorConfig: NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG;
LbaRangeType: NVME_CDW11_FEATURE_LBA_RANGE_TYPE;
Arbitration: NVME_CDW11_FEATURE_ARBITRATION;
VolatileWriteCache: NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE;
AsyncEventConfig: NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG;
PowerManagement: NVME_CDW11_FEATURE_POWER_MANAGEMENT;
AutoPowerStateTransition: NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION;
TemperatureThreshold: NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD;
ErrorRecovery: NVME_CDW11_FEATURE_ERROR_RECOVERY;
HostMemoryBuffer: NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER;
WriteAtomicityNormal: NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL;
NonOperationalPowerState: NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE;
IoCommandSetProfile: NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE;
ErrorInjection: NVME_CDW0_FEATURE_ERROR_INJECTION;
HostIdentifier: NVME_CDW11_FEATURE_HOST_IDENTIFIER;
ReservationPersistence: NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE;
ReservationNotificationMask: NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK;
GetHostMetadata: NVME_CDW11_FEATURE_GET_HOST_METADATA;
SetHostMetadata: NVME_CDW11_FEATURE_SET_HOST_METADATA;
AsUlong: DWORD;
end;const NVME_CDW11_FEATURE_NUMBER_OF_QUEUES = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_INTERRUPT_COALESCING = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_LBA_RANGE_TYPE = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_ARBITRATION = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_POWER_MANAGEMENT = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_ERROR_RECOVERY = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW0_FEATURE_ERROR_INJECTION = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_HOST_IDENTIFIER = extern struct {
_bitfield: u32,
};
const NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE = extern struct {
_bitfield: u32,
};
const NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK = extern struct {
_bitfield: u32,
};
const NVME_CDW11_FEATURE_GET_HOST_METADATA = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURE_SET_HOST_METADATA = extern struct {
Anonymous: _Anonymous_e__Struct,
AsUlong: u32,
};
const NVME_CDW11_FEATURES = extern struct {
NumberOfQueues: NVME_CDW11_FEATURE_NUMBER_OF_QUEUES,
InterruptCoalescing: NVME_CDW11_FEATURE_INTERRUPT_COALESCING,
InterruptVectorConfig: NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG,
LbaRangeType: NVME_CDW11_FEATURE_LBA_RANGE_TYPE,
Arbitration: NVME_CDW11_FEATURE_ARBITRATION,
VolatileWriteCache: NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE,
AsyncEventConfig: NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG,
PowerManagement: NVME_CDW11_FEATURE_POWER_MANAGEMENT,
AutoPowerStateTransition: NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION,
TemperatureThreshold: NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD,
ErrorRecovery: NVME_CDW11_FEATURE_ERROR_RECOVERY,
HostMemoryBuffer: NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER,
WriteAtomicityNormal: NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL,
NonOperationalPowerState: NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE,
IoCommandSetProfile: NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE,
ErrorInjection: NVME_CDW0_FEATURE_ERROR_INJECTION,
HostIdentifier: NVME_CDW11_FEATURE_HOST_IDENTIFIER,
ReservationPersistence: NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE,
ReservationNotificationMask: NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK,
GetHostMetadata: NVME_CDW11_FEATURE_GET_HOST_METADATA,
SetHostMetadata: NVME_CDW11_FEATURE_SET_HOST_METADATA,
AsUlong: u32,
};type
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_INTERRUPT_COALESCING {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_LBA_RANGE_TYPE {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_ARBITRATION {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_POWER_MANAGEMENT {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_ERROR_RECOVERY {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW0_FEATURE_ERROR_INJECTION {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_HOST_IDENTIFIER {.bycopy.} = object
_bitfield: uint32
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE {.bycopy.} = object
_bitfield: uint32
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK {.bycopy.} = object
_bitfield: uint32
NVME_CDW11_FEATURE_GET_HOST_METADATA {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURE_SET_HOST_METADATA {.bycopy.} = object
Anonymous: _Anonymous_e__Struct
AsUlong: uint32
NVME_CDW11_FEATURES {.bycopy.} = object
NumberOfQueues: NVME_CDW11_FEATURE_NUMBER_OF_QUEUES
InterruptCoalescing: NVME_CDW11_FEATURE_INTERRUPT_COALESCING
InterruptVectorConfig: NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG
LbaRangeType: NVME_CDW11_FEATURE_LBA_RANGE_TYPE
Arbitration: NVME_CDW11_FEATURE_ARBITRATION
VolatileWriteCache: NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE
AsyncEventConfig: NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG
PowerManagement: NVME_CDW11_FEATURE_POWER_MANAGEMENT
AutoPowerStateTransition: NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION
TemperatureThreshold: NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD
ErrorRecovery: NVME_CDW11_FEATURE_ERROR_RECOVERY
HostMemoryBuffer: NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER
WriteAtomicityNormal: NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL
NonOperationalPowerState: NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE
IoCommandSetProfile: NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE
ErrorInjection: NVME_CDW0_FEATURE_ERROR_INJECTION
HostIdentifier: NVME_CDW11_FEATURE_HOST_IDENTIFIER
ReservationPersistence: NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
ReservationNotificationMask: NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
GetHostMetadata: NVME_CDW11_FEATURE_GET_HOST_METADATA
SetHostMetadata: NVME_CDW11_FEATURE_SET_HOST_METADATA
AsUlong: uint32struct NVME_CDW11_FEATURE_NUMBER_OF_QUEUES
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_INTERRUPT_COALESCING
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_LBA_RANGE_TYPE
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_ARBITRATION
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_POWER_MANAGEMENT
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_ERROR_RECOVERY
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW0_FEATURE_ERROR_INJECTION
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_HOST_IDENTIFIER
{
uint _bitfield;
}
struct NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
{
uint _bitfield;
}
struct NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
{
uint _bitfield;
}
struct NVME_CDW11_FEATURE_GET_HOST_METADATA
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURE_SET_HOST_METADATA
{
_Anonymous_e__Struct Anonymous;
uint AsUlong;
}
struct NVME_CDW11_FEATURES
{
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
NVME_CDW11_FEATURE_ARBITRATION Arbitration;
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
NVME_CDW0_FEATURE_ERROR_INJECTION ErrorInjection;
NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
uint AsUlong;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; NVME_CDW11_FEATURES サイズ: 4 バイト(x64)
dim st, 1 ; 4byte整数×1(構造体サイズ 4 / 4 切り上げ)
; NumberOfQueues : NVME_CDW11_FEATURE_NUMBER_OF_QUEUES (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; InterruptCoalescing : NVME_CDW11_FEATURE_INTERRUPT_COALESCING (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; InterruptVectorConfig : NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; LbaRangeType : NVME_CDW11_FEATURE_LBA_RANGE_TYPE (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; Arbitration : NVME_CDW11_FEATURE_ARBITRATION (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; VolatileWriteCache : NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; AsyncEventConfig : NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; PowerManagement : NVME_CDW11_FEATURE_POWER_MANAGEMENT (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; AutoPowerStateTransition : NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; TemperatureThreshold : NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; ErrorRecovery : NVME_CDW11_FEATURE_ERROR_RECOVERY (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; HostMemoryBuffer : NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; WriteAtomicityNormal : NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; NonOperationalPowerState : NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; IoCommandSetProfile : NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; ErrorInjection : NVME_CDW0_FEATURE_ERROR_INJECTION (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; HostIdentifier : NVME_CDW11_FEATURE_HOST_IDENTIFIER (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; ReservationPersistence : NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; ReservationNotificationMask : NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; GetHostMetadata : NVME_CDW11_FEATURE_GET_HOST_METADATA (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; SetHostMetadata : NVME_CDW11_FEATURE_SET_HOST_METADATA (+0, 4byte) varptr(st)+0 を基点に操作(4byte:入れ子/配列)
; AsUlong : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global NVME_CDW11_FEATURE_HOST_IDENTIFIER
#field int _bitfield
#endstruct
#defstruct global NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE
#field int _bitfield
#endstruct
#defstruct global NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK
#field int _bitfield
#endstruct
#defstruct global NVME_CDW11_FEATURES
#field byte NumberOfQueues 4
#field byte InterruptCoalescing 4
#field byte InterruptVectorConfig 4
#field byte LbaRangeType 4
#field byte Arbitration 4
#field byte VolatileWriteCache 4
#field byte AsyncEventConfig 4
#field byte PowerManagement 4
#field byte AutoPowerStateTransition 4
#field byte TemperatureThreshold 4
#field byte ErrorRecovery 4
#field byte HostMemoryBuffer 4
#field byte WriteAtomicityNormal 4
#field byte NonOperationalPowerState 4
#field byte IoCommandSetProfile 4
#field byte ErrorInjection 4
#field NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier
#field NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence
#field NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask
#field byte GetHostMetadata 4
#field byte SetHostMetadata 4
#field int AsUlong
#endstruct
stdim st, NVME_CDW11_FEATURES ; NSTRUCT 変数を確保
st->AsUlong = 100
mes "AsUlong=" + st->AsUlong
; ※union フィールドは byte 列で確保(NSTRUCT は union 非対応)。必要に応じ手動でアクセス。