Does this alarm contain an "instance" variable for the snmp instance lookup? I don't think it does which is why I wrote my own minor/major/critical disk monitoring from scratch (Policy that applies Watches to Host_Resources models in a Global Collection, Event Procedure then generates alarms on the Parent device for the Host_Resources model)
What you have to check is the corrosponding hrStorageType.# instance of the disk on the "_Host Resources" model.
e.g. DummyHost_DeviceModel
DummyHost_Host Resources
hrStorageType attribute
This attribute is enumerated against the hrStorageTypes attribute (screenshot)
e.g. Instance 1 on the left maps to value 2, value 2 on the right maps to RAM.
I'd recommend setting your code to only generate alarms on Fixed Disks.
I attached a visio with code examples of what we have. This isn't the answer you were hoping for, but it has worked solid for us for several years.
I'm guessing with the default Spectrum method you're supposed to create a Global Collection for each set of disk types for all your servers. It scales very poorly though.
e.g. Servers with D as CDROM and C/E as Fixed Disk, Global Collection1
Servers with E as CDROM and C/D as Fixed Disk, Global Collection2
etc.