COD_FORMAT_MASK = $000003;
COD_MINOR_DEVICE_CLASS_MASK = $0000FC;
COD_MAJOR_DEVICE_CLASS_MASK = $001F00;
COD_SERVICE_CLASS_MASK = $FFE000;
COD_DEVICE_CLASS_MASK = COD_MAJOR_DEVICE_CLASS_MASK or COD_MINOR_DEVICE_CLASS_MASK;
COD_SRVCLS_LIMITED = $002000;
COD_SRVCLS_POSITION = $010000;
COD_SRVCLS_NETWORK = $020000;
COD_SRVCLS_RENDER = $040000;
COD_SRVCLS_CAPTURE = $080000;
COD_SRVCLS_OBJECT = $100000;
COD_SRVCLS_AUDIO = $200000;
COD_SRVCLS_TELEPHONE = $400000;
COD_SRVCLS_INFOR = $800000;
COD_DEVCLS_MISC = $000000;
COD_DEVCLS_COMPUTER = $000100;
COD_DEVCLS_PHONE = $000200;
COD_DEVCLS_LAP = $000300;
COD_DEVCLS_AUDIO = $000400;
COD_DEVCLS_PERIPHERAL = $000500;
COD_DEVCLS_IMAGE = $000600;
COD_DEVCLS_UNCLASSIFIED = $001F00;
COD_COMPCLS_UNCLASSIFIED = COD_DEVCLS_COMPUTER or $000000;
COD_COMPCLS_DESKTOP = COD_DEVCLS_COMPUTER or $000004;
COD_COMPCLS_SERVER = COD_DEVCLS_COMPUTER or $000008;
COD_COMPCLS_LAPTOP = COD_DEVCLS_COMPUTER or $00000C;
COD_COMPCLS_HANDHELD = COD_DEVCLS_COMPUTER or $000010;
COD_COMPCLS_PALMSIZED = COD_DEVCLS_COMPUTER or $000014;
COD_COMPCLS_WEARABLE = COD_DEVCLS_COMPUTER or $000018;
COD_PHONECLS_UNCLASSIFIED = COD_DEVCLS_PHONE or $000000;
COD_PHONECLS_CELLULAR = COD_DEVCLS_PHONE or $000004;
COD_PHONECLS_CORDLESS = COD_DEVCLS_PHONE or $000008;
COD_PHONECLS_SMARTPHONE = COD_DEVCLS_PHONE or $00000C;
COD_PHONECLS_WIREDMODEM = COD_DEVCLS_PHONE or $000010;
COD_PHONECLS_COMMONISDNACCESS = COD_DEVCLS_PHONE or $000014;
COD_PHONECLS_SIMCARDREADER = COD_DEVCLS_PHONE or $000018;
COD_LAP_FULL = COD_DEVCLS_LAP or $000000;
COD_LAP_17 = COD_DEVCLS_LAP or $000002;
COD_LAP_33 = COD_DEVCLS_LAP or $000004;
COD_LAP_50 = COD_DEVCLS_LAP or $000006;
COD_LAP_67 = COD_DEVCLS_LAP or $000008;
COD_LAP_83 = COD_DEVCLS_LAP or $00000A;
COD_LAP_99 = COD_DEVCLS_LAP or $00000C;
COD_LAP_NOSRV = COD_DEVCLS_LAP or $00000D;
COD_AV_UNCLASSIFIED = COD_DEVCLS_AUDIO or $000000;
COD_AV_HEADSET = COD_DEVCLS_AUDIO or $000004;
COD_AV_HANDSFREE = COD_DEVCLS_AUDIO or $000008;
COD_AV_HEADANDHAND = COD_DEVCLS_AUDIO or $00000C;
COD_AV_MICROPHONE = COD_DEVCLS_AUDIO or $000010;
COD_AV_LOUDSPEAKER = COD_DEVCLS_AUDIO or $000014;
COD_AV_HEADPHONES = COD_DEVCLS_AUDIO or $000018;
COD_AV_PORTABLEAUDIO = COD_DEVCLS_AUDIO or $00001C;
COD_AV_CARAUDIO = COD_DEVCLS_AUDIO or $000020;
COD_AV_SETTOPBOX = COD_DEVCLS_AUDIO or $000024;
COD_AV_HIFIAUDIO = COD_DEVCLS_AUDIO or $000028;
COD_AV_VCR = COD_DEVCLS_AUDIO or $00002C;
COD_AV_VIDEOCAMERA = COD_DEVCLS_AUDIO or $000030;
COD_AV_CAMCORDER = COD_DEVCLS_AUDIO or $000034;
COD_AV_VIDEOMONITOR = COD_DEVCLS_AUDIO or $000038;
COD_AV_VIDEODISPANDLOUDSPK = COD_DEVCLS_AUDIO or $00003C;
COD_AV_VIDEOCONFERENCE = COD_DEVCLS_AUDIO or $000040;
COD_AV_GAMEORTOY = COD_DEVCLS_AUDIO or $000048;
COD_PERIPHERAL_KEYBOARD = COD_DEVCLS_PERIPHERAL or $000040;
COD_PERIPHERAL_POINT = COD_DEVCLS_PERIPHERAL or $000080;
COD_PERIPHERAL_KEYORPOINT = COD_DEVCLS_PERIPHERAL or $0000C0;
COD_PERIPHERAL_UNCLASSIFIED = COD_DEVCLS_PERIPHERAL or $000000;
COD_PERIPHERAL_JOYSTICK = COD_DEVCLS_PERIPHERAL or $000004;
COD_PERIPHERAL_GAMEPAD = COD_DEVCLS_PERIPHERAL or $000008;
COD_PERIPHERAL_REMCONTROL = COD_DEVCLS_PERIPHERAL or $00000C;
COD_PERIPHERAL_SENSE = COD_DEVCLS_PERIPHERAL or $000010;
COD_IMAGE_DISPLAY = COD_DEVCLS_IMAGE or $000010;
COD_IMAGE_CAMERA = COD_DEVCLS_IMAGE or $000020;
COD_IMAGE_SCANNER = COD_DEVCLS_IMAGE or $000040;
COD_IMAGE_PRINTER = COD_DEVCLS_IMAGE or $000080;
How to use:
case ClassOfDevice and COD_DEVICE_CLASS_MASK of
COD_COMPCLS_UNCLASSIFIED: Result := Format(StrCODComputer, [StrCODUnclissified]);
COD_COMPCLS_DESKTOP: Result := Format(StrCODComputer, [StrCODComputerDesktop]);
COD_COMPCLS_SERVER: Result := Format(StrCODComputer, [StrCODComputerServer]);
COD_COMPCLS_LAPTOP: Result := Format(StrCODComputer, [StrCODComputerLapTop]);
COD_COMPCLS_HANDHELD: Result := Format(StrCODComputer, [StrCODComputerHanddeld]);
COD_COMPCLS_PALMSIZED: Result := Format(StrCODComputer, [StrCODComputerPalmSized]);
COD_COMPCLS_WEARABLE: Result := Format(StrCODComputer, [StrCODComputerWearable]);
COD_PHONECLS_UNCLASSIFIED: Result := Format(StrCODPhone, [StrCODUnclissified]);
COD_PHONECLS_CELLULAR: Result := Format(StrCODPhone, [StrCODPhoneCellurar]);
COD_PHONECLS_CORDLESS: Result := Format(StrCODPhone, [StrCODPhoneCordless]);
COD_PHONECLS_SMARTPHONE: Result := Format(StrCODPhone, [StrCODPhoneSmartphone]);
COD_PHONECLS_WIREDMODEM: Result := Format(StrCODPhone, [StrCODPhoneWiredmodem]);
COD_PHONECLS_COMMONISDNACCESS: Result := Format(StrCODPhone, [StrCODPhoneCommonISDNAccess]);
COD_PHONECLS_SIMCARDREADER: Result := Format(StrCODPhone, [StrCODPhoneSIMCatdReader]);
COD_LAP_FULL: Result := Format(StrCODLAP, [StrCODLAPFull]);
COD_LAP_17: Result := Format(StrCODLAP, [StrCODLAP17]);
COD_LAP_33: Result := Format(StrCODLAP, [StrCODLAP33]);
COD_LAP_50: Result := Format(StrCODLAP, [StrCODLAP50]);
COD_LAP_67: Result := Format(StrCODLAP, [StrCODLAP67]);
COD_LAP_83: Result := Format(StrCODLAP, [StrCODLAP83]);
COD_LAP_99: Result := Format(StrCODLAP, [StrCODLAP99]);
COD_LAP_NOSRV: Result := Format(StrCODLAP, [StrCODLAPNoSrv]);
COD_AV_UNCLASSIFIED: Result := Format(StrCODAV, [StrCODUnclissified]);
COD_AV_HEADSET: Result := Format(StrCODAV, [StrCODAVHeadset]);
COD_AV_HANDSFREE: Result := Format(StrCODAV, [StrCODAVHandsFree]);
COD_AV_HEADANDHAND: Result := Format(StrCODAV, [StrCODAVHeadAndHand]);
COD_AV_MICROPHONE: Result := Format(StrCODAV, [StrCODAVMicrophone]);
COD_AV_LOUDSPEAKER: Result := Format(StrCODAV, [StrCODAVLoudspeaker]);
COD_AV_HEADPHONES: Result := Format(StrCODAV, [StrCODAVHeadphones]);
COD_AV_PORTABLEAUDIO: Result := Format(StrCODAV, [StrCODAVPortableAudio]);
COD_AV_CARAUDIO: Result := Format(StrCODAV, [StrCODAVCarAudio]);
COD_AV_SETTOPBOX: Result := Format(StrCODAV, [StrCODAVSetTopBox]);
COD_AV_HIFIAUDIO: Result := Format(StrCODAV, [StrCODAVHiFiAudio]);
COD_AV_VCR: Result := Format(StrCODAV, [StrCODAVVCR]);
COD_AV_VIDEOCAMERA: Result := Format(StrCODAV, [StrCODAVVideoCamera]);
COD_AV_CAMCORDER: Result := Format(StrCODAV, [StrCODAVCamCoder]);
COD_AV_VIDEOMONITOR: Result := Format(StrCODAV, [StrCODAVVideoMonitor]);
COD_AV_VIDEODISPANDLOUDSPK: Result := Format(StrCODAV, [StrCODAVVideoDispAndLoudSpk]);
COD_AV_VIDEOCONFERENCE: Result := Format(StrCODAV, [StrCODAVVideoConference]);
COD_AV_GAMEORTOY : Result := Format(StrCODAV, [StrCODAVGameOrToy]);
COD_PERIPHERAL_KEYBOARD: Result := Format(StrCODPeripheral, [StrCODPeripheralKeyborad]);
COD_PERIPHERAL_POINT: Result := Format(StrCODPeripheral, [StrCODPeripheralPoint]);
COD_PERIPHERAL_KEYORPOINT: Result := Format(StrCODPeripheral, [StrCODPeripheralKeyOrPoint]);
COD_PERIPHERAL_UNCLASSIFIED: Result := Format(StrCODPeripheral, [StrCODUnclissified]);
COD_PERIPHERAL_JOYSTICK: Result := Format(StrCODPeripheral, [StrCODPeripheralJoystick]);
COD_PERIPHERAL_GAMEPAD: Result := Format(StrCODPeripheral, [StrCODPeripheralGamepad]);
COD_PERIPHERAL_REMCONTROL: Result := Format(StrCODPeripheral, [StrCODPeripheralRemControl]);
COD_PERIPHERAL_SENSE: Result := Format(StrCODPeripheral, [StrCODPeripheralSense]);
COD_IMAGE_DISPLAY: Result := Format(StrCODImage, [StrCODImageDisplay]);
COD_IMAGE_CAMERA: Result := Format(StrCODImage, [StrCODImageCamera]);
COD_IMAGE_SCANNER: Result := Format(StrCODImage, [StrCODImageScanner]);
COD_IMAGE_PRINTER: Result := Format(StrCODImage, [StrCODImagePrinter]);
else
Result := Format(StrCODUnknown, [StrUnknown]);
end;