// pointofservicedriverinterface.h
typedef enum _PosPropertyId {
IsEnabled,
IsDisabledOnDataReceived,
PowerState,
BarcodeScannerIsDecodeDataEnabled,
BarcodeScannerCapabilities,
BarcodeScannerSupportedSymbologies,
BarcodeScannerActiveSymbologies,
BarcodeScannerSupportedProfiles,
BarcodeScannerActiveProfile,
MagneticStripeReaderIsDecodeDataEnabled,
MagneticStripeReaderCapabilities,
MagneticStripeReaderSupportedCardTypes,
MagneticStripeReaderDeviceAuthenticationProtocol,
MagneticStripeReaderErrorReportingType,
MagneticStripeReaderTracksToRead,
MagneticStripeReaderIsTransmitSentinelsEnabled,
MagneticStripeReaderIsDeviceAuthenticated,
MagneticStripeReaderDataEncryptionAlgorithm,
BarcodeScannerVideoDeviceId
} PosPropertyId;
View the official Windows Driver Kit DDI referenceNo description available.
This enumeration defines the property identifiers for the properties that device drivers need to handle to be considered a barcode scanner or a magnetic strip reader (MSR).
IsEnabledIndicates whether the device is enabled. An enabled device is expected to be powered on and fully functional. In a disabled state, the device is not expected to generate input and can be powered down. (Read/Write).
IsDisabledOnDataReceivedIndicates whether to disable the device after each scan event. This allows the hardware to enter an idle power-saving mode as frequently as possible. (Read/Write).
PowerStateReports the current power state of the device.
BarcodeScannerIsDecodeDataEnabledWhen set to TRUE, the driver must return decoded bar code data in the form of ScanDataLabel in addition to ScanData when raising a data received event. Decoded barcode data typically only contains data from the scanner with header information, scanner generated symbol character, and length identification removed. (Read/Write).
BarcodeScannerCapabilitiesContains information about what functionality the barcode scanner supports. For example, a barcode scanner may support imaging and standard power reporting but not statistics updating and reporting. For more information about the values for barcode capabilities, see PosBarcodeScannerCapabilitiesType. (Read-only).
BarcodeScannerSupportedSymbologiesContains an array representing the complete list of symbologies that the barcode scanner is capable of reading. Also returns the number of bytes required for the array of symbologies. For symbology definitions, see BarcodeSymbology. (Read-only).
BarcodeScannerActiveSymbologiesIndicates the symbologies that the barcode scanner is actively handling. (Write-only). For symbology definitions, see BarcodeSymbology.
BarcodeScannerSupportedProfilesReturns the list of supported driver-defined device configuration profiles. (Read-only).
BarcodeScannerActiveProfileSets the active device configuration profile. Configure the driver using one of the driver- or manufacturer-defined profiles in the list returned by the BarcodeScannerSupportedProfiles property. (Write-Only). For example, you may have one profile for warehouse staff and another profile for the sales department. Each profile is expected to configure the device based on the driver or manufacturer definition.
MagneticStripeReaderIsDecodeDataEnabledIndicates whether to provide raw or decoded data from the most recently swiped card. If decoded data is provided to the application, set to true; otherwise, set to false. (Read/write).
MagneticStripeReaderCapabilitiesReturns a PosMagneticStripeReaderCapabilitiesType that describes the capabilities of the MSR. (Read-Only).
MagneticStripeReaderSupportedCardTypesReturns an array of MsrCardTypes supported by the MSR. (Read-only).
MagneticStripeReaderDeviceAuthenticationProtocolThe driver must return a MsrAuthenticationProtocolType that describes the device authentication protocol supported by the MSR. (Read-only).
MagneticStripeReaderErrorReportingTypeSpecifies the level of error reporting that the MSR supports. For more information about the values for error reporting levels, see MsrErrorReportingType. (Read/write).
MagneticStripeReaderTracksToReadSpecifies which tracks the application will receive following a card swipe. Does not indicate the capability of the device hardware; instead, it is an application-configurable property representing the tracks to be read. For more information about track values, see MsrTrackIds. (Read/write).
MagneticStripeReaderIsTransmitSentinelsEnabledIndicates whether the track data contains start and end sentinel values. (Read/write).
MagneticStripeReaderIsDeviceAuthenticatedIndicates whether the device is authenticated. (Read-only).
MagneticStripeReaderDataEncryptionAlgorithmSpecifies the MsrDataEncryption that will be used to encrypt the track data. (Read/write).
BarcodeScannerVideoDeviceIdDefines the BarcodeScannerVideoDeviceId constant.
IOCTL_POINT_OF_SERVICE_GET_PROPERTY
IOCTL_POINT_OF_SERVICE_SET_PROPERTY