ホーム › Graphics.Direct3D10 › D3D10_INFO_QUEUE_FILTER
D3D10_INFO_QUEUE_FILTER
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| AllowList | D3D10_INFO_QUEUE_FILTER_DESC | 48/24 | +0 | +0 | 通過を許可するメッセージ条件を定義するフィルタ記述。 |
| DenyList | D3D10_INFO_QUEUE_FILTER_DESC | 48/24 | +48 | +24 | 拒否するメッセージ条件を定義するフィルタ記述。 |
各言語での定義
#include <windows.h>
// D3D10_INFO_QUEUE_FILTER_DESC (x64 48 / x86 24 バイト)
typedef struct D3D10_INFO_QUEUE_FILTER_DESC {
DWORD NumCategories;
D3D10_MESSAGE_CATEGORY* pCategoryList;
DWORD NumSeverities;
D3D10_MESSAGE_SEVERITY* pSeverityList;
DWORD NumIDs;
D3D10_MESSAGE_ID* pIDList;
} D3D10_INFO_QUEUE_FILTER_DESC;
// D3D10_INFO_QUEUE_FILTER (x64 96 / x86 48 バイト)
typedef struct D3D10_INFO_QUEUE_FILTER {
D3D10_INFO_QUEUE_FILTER_DESC AllowList;
D3D10_INFO_QUEUE_FILTER_DESC DenyList;
} D3D10_INFO_QUEUE_FILTER;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3D10_INFO_QUEUE_FILTER_DESC
{
public uint NumCategories;
public IntPtr pCategoryList;
public uint NumSeverities;
public IntPtr pSeverityList;
public uint NumIDs;
public IntPtr pIDList;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3D10_INFO_QUEUE_FILTER
{
public D3D10_INFO_QUEUE_FILTER_DESC AllowList;
public D3D10_INFO_QUEUE_FILTER_DESC DenyList;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3D10_INFO_QUEUE_FILTER_DESC
Public NumCategories As UInteger
Public pCategoryList As IntPtr
Public NumSeverities As UInteger
Public pSeverityList As IntPtr
Public NumIDs As UInteger
Public pIDList As IntPtr
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3D10_INFO_QUEUE_FILTER
Public AllowList As D3D10_INFO_QUEUE_FILTER_DESC
Public DenyList As D3D10_INFO_QUEUE_FILTER_DESC
End Structureimport ctypes
from ctypes import wintypes
class D3D10_INFO_QUEUE_FILTER_DESC(ctypes.Structure):
_fields_ = [
("NumCategories", wintypes.DWORD),
("pCategoryList", ctypes.c_void_p),
("NumSeverities", wintypes.DWORD),
("pSeverityList", ctypes.c_void_p),
("NumIDs", wintypes.DWORD),
("pIDList", ctypes.c_void_p),
]
class D3D10_INFO_QUEUE_FILTER(ctypes.Structure):
_fields_ = [
("AllowList", D3D10_INFO_QUEUE_FILTER_DESC),
("DenyList", D3D10_INFO_QUEUE_FILTER_DESC),
]#[repr(C)]
pub struct D3D10_INFO_QUEUE_FILTER_DESC {
pub NumCategories: u32,
pub pCategoryList: *mut core::ffi::c_void,
pub NumSeverities: u32,
pub pSeverityList: *mut core::ffi::c_void,
pub NumIDs: u32,
pub pIDList: *mut core::ffi::c_void,
}
#[repr(C)]
pub struct D3D10_INFO_QUEUE_FILTER {
pub AllowList: D3D10_INFO_QUEUE_FILTER_DESC,
pub DenyList: D3D10_INFO_QUEUE_FILTER_DESC,
}import "golang.org/x/sys/windows"
type D3D10_INFO_QUEUE_FILTER_DESC struct {
NumCategories uint32
pCategoryList uintptr
NumSeverities uint32
pSeverityList uintptr
NumIDs uint32
pIDList uintptr
}
type D3D10_INFO_QUEUE_FILTER struct {
AllowList D3D10_INFO_QUEUE_FILTER_DESC
DenyList D3D10_INFO_QUEUE_FILTER_DESC
}type
D3D10_INFO_QUEUE_FILTER_DESC = record
NumCategories: DWORD;
pCategoryList: Pointer;
NumSeverities: DWORD;
pSeverityList: Pointer;
NumIDs: DWORD;
pIDList: Pointer;
end;
D3D10_INFO_QUEUE_FILTER = record
AllowList: D3D10_INFO_QUEUE_FILTER_DESC;
DenyList: D3D10_INFO_QUEUE_FILTER_DESC;
end;const D3D10_INFO_QUEUE_FILTER_DESC = extern struct {
NumCategories: u32,
pCategoryList: ?*anyopaque,
NumSeverities: u32,
pSeverityList: ?*anyopaque,
NumIDs: u32,
pIDList: ?*anyopaque,
};
const D3D10_INFO_QUEUE_FILTER = extern struct {
AllowList: D3D10_INFO_QUEUE_FILTER_DESC,
DenyList: D3D10_INFO_QUEUE_FILTER_DESC,
};type
D3D10_INFO_QUEUE_FILTER_DESC {.bycopy.} = object
NumCategories: uint32
pCategoryList: pointer
NumSeverities: uint32
pSeverityList: pointer
NumIDs: uint32
pIDList: pointer
D3D10_INFO_QUEUE_FILTER {.bycopy.} = object
AllowList: D3D10_INFO_QUEUE_FILTER_DESC
DenyList: D3D10_INFO_QUEUE_FILTER_DESCstruct D3D10_INFO_QUEUE_FILTER_DESC
{
uint NumCategories;
void* pCategoryList;
uint NumSeverities;
void* pSeverityList;
uint NumIDs;
void* pIDList;
}
struct D3D10_INFO_QUEUE_FILTER
{
D3D10_INFO_QUEUE_FILTER_DESC AllowList;
D3D10_INFO_QUEUE_FILTER_DESC DenyList;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; D3D10_INFO_QUEUE_FILTER サイズ: 48 バイト(x86)
dim st, 12 ; 4byte整数×12(構造体サイズ 48 / 4 切り上げ)
; AllowList : D3D10_INFO_QUEUE_FILTER_DESC (+0, 24byte) varptr(st)+0 を基点に操作(24byte:入れ子/配列)
; DenyList : D3D10_INFO_QUEUE_FILTER_DESC (+24, 24byte) varptr(st)+24 を基点に操作(24byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; D3D10_INFO_QUEUE_FILTER サイズ: 96 バイト(x64)
dim st, 24 ; 4byte整数×24(構造体サイズ 96 / 4 切り上げ)
; AllowList : D3D10_INFO_QUEUE_FILTER_DESC (+0, 48byte) varptr(st)+0 を基点に操作(48byte:入れ子/配列)
; DenyList : D3D10_INFO_QUEUE_FILTER_DESC (+48, 48byte) varptr(st)+48 を基点に操作(48byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global D3D10_INFO_QUEUE_FILTER_DESC
#field int NumCategories
#field intptr pCategoryList
#field int NumSeverities
#field intptr pSeverityList
#field int NumIDs
#field intptr pIDList
#endstruct
#defstruct global D3D10_INFO_QUEUE_FILTER
#field D3D10_INFO_QUEUE_FILTER_DESC AllowList
#field D3D10_INFO_QUEUE_FILTER_DESC DenyList
#endstruct
stdim st, D3D10_INFO_QUEUE_FILTER ; NSTRUCT 変数を確保