1#ifndef _NODETYPE_INCLUDED_
2#define _NODETYPE_INCLUDED_
10#define NodeType(Ptr) (*((PNODE_TYPE_CODE)(Ptr)))
25#define ZeroAndInitializeNodeType(Node, Type, Size) \
27 RtlZeroMemory(Node, Size); \
28 ((NODE_TYPE_CODE_AND_SIZE *)(Node))->NodeTypeCode = Type; \
29 ((NODE_TYPE_CODE_AND_SIZE *)(Node))->NodeByteSize = (CSHORT)Size; \
32#define RDBSS_STORAGE_NTC(x) (0xec00 + (x))
41#define RDBSS_NTC_STORAGE_TYPE_UNKNOWN ((NODE_TYPE_CODE)0xec00)
42#define RDBSS_NTC_STORAGE_TYPE_DIRECTORY ((NODE_TYPE_CODE)0xec02)
43#define RDBSS_NTC_STORAGE_TYPE_FILE ((NODE_TYPE_CODE)0xec03)
44#define RDBSS_NTC_OPENTARGETDIR_FCB ((NODE_TYPE_CODE)0xecff)
45#define RDBSS_NTC_IPC_SHARE ((NODE_TYPE_CODE)0xecfe)
46#define RDBSS_NTC_MAILSLOT ((NODE_TYPE_CODE)0xecfd)
47#define RDBSS_NTC_SPOOLFILE ((NODE_TYPE_CODE)0xecfc)
48#define RDBSS_NTC_SRVCALL ((NODE_TYPE_CODE)0xeb10)
49#define RDBSS_NTC_NETROOT ((NODE_TYPE_CODE)0xeb11)
50#define RDBSS_NTC_V_NETROOT ((NODE_TYPE_CODE)0xeb12)
51#define RDBSS_NTC_VOLUME_FCB ((NODE_TYPE_CODE)0xeb1f)
52#define RDBSS_NTC_SRVOPEN ((NODE_TYPE_CODE)0xeb1c)
53#define RDBSS_NTC_INTERNAL_SRVOPEN ((NODE_TYPE_CODE)0xeb1d)
54#define RDBSS_NTC_DEVICE_FCB ((NODE_TYPE_CODE)0xeb9a)
55#define RDBSS_NTC_DATA_HEADER ((NODE_TYPE_CODE)0xeb00)
56#define RDBSS_NTC_VCB ((NODE_TYPE_CODE)0xeb01)
57#define RDBSS_NTC_FOBX ((NODE_TYPE_CODE)0xeb07)
58#define RDBSS_NTC_RX_CONTEXT ((NODE_TYPE_CODE)0xeb08)
59#define RDBSS_NTC_PREFIX_TABLE ((NODE_TYPE_CODE)0xeb0d)
60#define RDBSS_NTC_PREFIX_ENTRY ((NODE_TYPE_CODE)0xeb0e)
61#define RDBSS_NTC_FCB_TABLE ((NODE_TYPE_CODE)0xeb09)
62#define RDBSS_NTC_FCB_TABLE_ENTRY ((NODE_TYPE_CODE)0xeb0a)
63#define RDBSS_NTC_NONPAGED_FCB ((NODE_TYPE_CODE)0xebfd)
64#define RDBSS_NTC_MINIRDR_DISPATCH ((NODE_TYPE_CODE)0xebff)
66#define RDBSS_NTC_FCB RDBSS_NTC_STORAGE_TYPE_FILE
68#define NodeTypeIsFcb(FCB) ((((NodeType(FCB) & 0xff00) == RDBSS_NTC_STORAGE_TYPE_UNKNOWN)) || ((NodeType(FCB) & 0xfff0) == 0xeb90))
70#define RX_SCAVENGER_MASK (0x1000)
80 RDBSS_BUG_CHECK_ASSERT = 0xa55a0000,
84#define RDBSS_FILE_SYSTEM RDR_FILE_SYSTEM
86#define RxBugCheck(A, B, C) KeBugCheckEx(RDBSS_FILE_SYSTEM, BugCheckFileId | ((ULONG)(__LINE__)), A, B, C)
NODE_TYPE_CODE * PNODE_TYPE_CODE
struct _NODE_TYPE_CODE_AND_SIZE_NO_REFCOUNT NODE_TYPE_CODE_AND_SIZE_NO_REFCOUNT
struct _NODE_TYPE_CODE_AND_SIZE * PNODE_TYPE_AND_SIZE
@ RDBSS_BUG_CHECK_NTEXCEPT
@ RDBSS_BUG_CHECK_CACHESUP
@ RDBSS_BUG_CHECK_FCBSTRUC
@ RDBSS_BUG_CHECK_CLEANUP
enum _RDBSS_BUG_CHECK_CODES RDBSS_BUG_CHECK_CODES
enum _RX_FILE_TYPE RX_FILE_TYPE
struct _NODE_TYPE_CODE_AND_SIZE NODE_TYPE_CODE_AND_SIZE
NODE_BYTE_SIZE NodeByteSize
NODE_TYPE_CODE NodeTypeCode
NODE_TYPE_CODE_AND_SIZE_NO_REFCOUNT
volatile ULONG NodeReferenceCount