RMNode
RM_NODE struct
{
ULONG VersionInfo;
ULONG NodeType;
RMHANDLE DriverHandle;
union
{
PADAPTERSTRUCT pAdapterNode;
PDEVICESTRUCT pDeviceNode;
PLDEVSTRUCT pLDevNode;
PSYSNAMESTRUCT pSysNameNode;
PDRIVERSTRUCT pDriver;
};
PRESOURCELIST pResourceList;
}
VersionInfo (ULONG)
┌────────────────────┬────────────────────┬────────────────────┐ │NodeType │Structure Pointer │Service │├────────────────────┼────────────────────┼────────────────────┤ │RMTYPE_ADAPTER │pAdapterNode │RMCreateAdapter │ ├────────────────────┼────────────────────┼────────────────────┤ │RMTYPE_DEVICE │pDeviceNode │RMCreateDevice │ ├────────────────────┼────────────────────┼────────────────────┤ │RMTYPE_LDEV │pLDevNode │RMCreateLDev │ ├────────────────────┼────────────────────┼────────────────────┤ │RMTYPE_SYSNAME │pSysNameNode │RMCreateSysName │ ├────────────────────┼────────────────────┼────────────────────┤ │RMTYPE_DRIVER │pDriver │RMCreateDriver │ └────────────────────┴────────────────────┴────────────────────┘
pResourceList (PRESOURCELIST)
PRESOURCELIST struct
{
ULONG Count;
RESOURCESTRUCT Resource[1];
}
Count (ULONG)