TYPEMACRO(LOGTIME,    ItemTimeStamp);
TYPEVMACRO(LOGADDR,   ItemULongX, " %%%d!08x!");
TYPEVMACRO(LOGPTR,    ItemPtr,    " %%%d!08x!");
TYPEVMACRO(LOGSTATUS, ItemNTSTATUS, " %%%d!s!");
TYPEVMACRO(LOGXLONG,  ItemULongX, " %%%d!08x!");
TYPEVMACRO(LOGLONG,   ItemLong,   " %%%d!d!");
TYPEVMACRO(LOGULONG,  ItemULong,  " %%%d!u!");
TYPEVMACRO(LOGUSHORT, ItemUShort, " %%%d!u!");
TYPEVMACRO(LOGUCHAR,  ItemUChar,  " %%%d!d!");
TYPEVMACRO(LOGBYTE,   ItemUChar,  " %%%d!d!");
TYPEVMACRO(LOGUBYTE,  ItemUChar,  " %%%d!u!");
TYPEMACRO(LOGBOOL,    ItemListLong(FALSE,TRUE) );
TYPEMACRO(LOGBOOLEAN, ItemListByte(FALSE,TRUE) );
TYPEVMACRO(LOGULONGLONG,  ItemULongLong, " %%%d!lu!");
TYPEVMACRO(LOGXSHORT,  ItemShort, " %%%d!x!");
TYPEVMACRO(LOGHANDLE, ItemPtr, " %%%d!03x!");
TYPEVMACRO(LOGIOCTL,  ItemULongX, " %%%d!06x!");
TYPEVMACRO(LOGGUID,   ItemGuid,   " %%%d!s!");
TYPEVMACRO(LOGSLONG,  ItemLong,   " %%%d!d!");

TYPEMACRO(LOGIRQL,    ItemListByte(Low,APC,DPC) );

TYPEMACRO(LOGARSTR, ItemRString);
TYPEMACRO(LOGASTR,  ItemString);
TYPEMACRO(LOGWSTR,  ItemWString);
TYPEMACRO(LOGUSTR,  ItemPWString);

USEPREFIX(*, "[%9!x!].%3!03x!::%4 [%1] ", Dummy );

TYPEMACRO(LOGIRQL,    ItemListByte(Low,APC,DPC) );

TYPEMACRO(LOGPNPMN,   ItemListByte(
			IRP_MN_START_DEVICE,
			IRP_MN_QUERY_REMOVE_DEVICE,
			IRP_MN_REMOVE_DEVICE,
			IRP_MN_CANCEL_REMOVE_DEVICE,
			IRP_MN_STOP_DEVICE,
			IRP_MN_QUERY_STOP_DEVICE,
			IRP_MN_CANCEL_STOP_DEVICE,
			IRP_MN_QUERY_DEVICE_RELATIONS,
			IRP_MN_QUERY_INTERFACE,
			IRP_MN_QUERY_CAPABILITIES,
			IRP_MN_QUERY_RESOURCES,
			IRP_MN_QUERY_RESOURCE_REQUIREMENTS,
			IRP_MN_QUERY_DEVICE_TEXT,
			IRP_MN_FILTER_RESOURCE_REQUIREMENTS,
			IRP_MN_PNP_14,
			IRP_MN_READ_CONFIG,
			IRP_MN_WRITE_CONFIG,
			IRP_MN_EJECT,
			IRP_MN_SET_LOCK,
			IRP_MN_QUERY_ID,
			IRP_MN_QUERY_PNP_DEVICE_STATE,
			IRP_MN_QUERY_BUS_INFORMATION,
			IRP_MN_DEVICE_USAGE_NOTIFICATION,
			IRP_MN_SURPRISE_REMOVAL) );

AUTOGEN(ItemListLong, LOGULONG);
AUTOGEN(ItemListShort, LOGUSHORT);
AUTOGEN(ItemListByte, LOGUBYTE);