#include "iop.h"
Go to the source code of this file.
Classes | |
struct | _FIRMWARE_CONFIGURATION |
struct | _DEVICE_EXTENSION |
struct | _FIRMWARE_IDENT_TO_PNP_ID |
struct | _MAPPER_SEED |
struct | _KEY_SEED |
Defines | |
#define | OPTIONS_NONE 0x00000000 |
#define | OPTIONS_INSERT_PNP_ID 0x00000001 |
#define | OPTIONS_INSERT_DEVICEDESC 0x00000002 |
#define | OPTIONS_INSERT_COMPATIBLE_IDS 0x00000004 |
#define | OPTIONS_INSERT_PHANTOM_MARKER 0x00000008 |
#define | KEY_SEED_REQUIRED 0x00000000 |
#define | KEY_SEED_DEVICE_PARAMETERS 0x00000001 |
#define | PS2_KEYBOARD_COMPATIBLE_ID L"PS2_KEYBOARD" |
#define | PS2_MOUSE_COMPATIBLE_ID L"PS2_MOUSE" |
#define | DebugPrint(X) |
#define | CONTROLLER_TYPES_COUNT (sizeof(controllerTypes) / sizeof(controllerTypes[0])) |
#define | SEED_BUFFER_SIZE (512 * sizeof(WCHAR)) |
#define | ENUM_KEY_BUFFER_SIZE (1024 * sizeof(WCHAR)) |
#define | INSTANCE_BUFFER_SIZE (256 * sizeof(WCHAR)) |
#define | COMPORT_DB_MERGE_SIZE 32 |
Typedefs | |
typedef _FIRMWARE_CONFIGURATION | FIRMWARE_CONFIGURATION |
typedef _FIRMWARE_CONFIGURATION * | PFIRMWARE_CONFIGURATION |
typedef _DEVICE_EXTENSION | DEVICE_EXTENSION |
typedef _DEVICE_EXTENSION * | PDEVICE_EXTENSION |
typedef _FIRMWARE_IDENT_TO_PNP_ID | FIRMWARE_IDENT_TO_PNP_ID |
typedef _FIRMWARE_IDENT_TO_PNP_ID * | PFIRMWARE_IDENT_TO_PNP_ID |
typedef _MAPPER_SEED | MAPPER_SEED |
typedef _MAPPER_SEED * | PMAPPER_SEED |
typedef _KEY_SEED | KEY_SEED |
typedef _KEY_SEED * | PKEY_SEED |
Functions | |
PFIRMWARE_IDENT_TO_PNP_ID | MapperFindIdentMatch (PFIRMWARE_IDENT_TO_PNP_ID IdentTable, PWCHAR String) |
PWSTR | MapperTranslatePnPId (CONFIGURATION_TYPE PeripheralType, PKEY_VALUE_FULL_INFORMATION Identifier) |
NTSTATUS | MapperPeripheralCallback (IN PVOID Context, IN PUNICODE_STRING PathName, IN INTERFACE_TYPE BusType, IN ULONG BusNumber, IN PKEY_VALUE_FULL_INFORMATION *BusInformation, IN CONFIGURATION_TYPE ControllerType, IN ULONG ControllerNumber, IN PKEY_VALUE_FULL_INFORMATION *ControllerInformation, IN CONFIGURATION_TYPE PeripheralType, IN ULONG PeripheralNumber, IN PKEY_VALUE_FULL_INFORMATION *PeripheralInformation) |
NTSTATUS | MapperCallback (IN PVOID Context, IN PUNICODE_STRING PathName, IN INTERFACE_TYPE BusType, IN ULONG BusNumber, IN PKEY_VALUE_FULL_INFORMATION *BusInformation, IN CONFIGURATION_TYPE ControllerType, IN ULONG ControllerNumber, IN PKEY_VALUE_FULL_INFORMATION *ControllerInformation, IN CONFIGURATION_TYPE PeripheralType, IN ULONG PeripheralNumber, IN PKEY_VALUE_FULL_INFORMATION *PeripheralInformation) |
VOID | MapperMarkKey (IN HANDLE Handle, IN PUNICODE_STRING PathName, IN PFIRMWARE_CONFIGURATION FirmwareEntry) |
VOID | MapperSeedKey (IN HANDLE Handle, IN PUNICODE_STRING PathName, IN PFIRMWARE_CONFIGURATION FirmwareEntry, IN BOOLEAN DeviceIsPhantom) |
PCM_RESOURCE_LIST | MapperAdjustResourceList (IN PCM_RESOURCE_LIST ResourceList, IN PWCHAR PnPId, IN OUT PULONG Size) |
NTSTATUS | ComPortDBAdd (IN HANDLE DeviceParamKey, IN PWSTR PortName) |
VOID | MapperProcessFirmwareTree (IN BOOLEAN OnlyProcessSerialPorts) |
VOID | MapperFreeList (VOID) |
VOID | MapperConstructRootEnumTree (IN BOOLEAN CreatePhantomDevices) |
VOID | MapperPhantomizeDetectedComPorts (VOID) |
Variables | |
DEVICE_EXTENSION | MapperDeviceExtension |
FIRMWARE_IDENT_TO_PNP_ID | KeyboardMap [] |
FIRMWARE_IDENT_TO_PNP_ID | PointerMap [] |
MAPPER_SEED | MapperValueSeed [] |
KEY_SEED | MapperKeySeed [] |
PWSTR | SerialId = L"*PNP0501" |
PWSTR | SerialIdNEC [] |
PWSTR | ParallelId = L"*PNP0400" |
PWSTR | ParallelIdNEC = L"*nEC1401" |
PWSTR | FloppyId = L"*PNP0700" |
PWSTR | ATAId = L"*PNP0600" |
|
Referenced by ComPortDBAdd(). |
|
Referenced by MapperProcessFirmwareTree(). |
|
|
|
Referenced by MapperConstructRootEnumTree(), and MapperPhantomizeDetectedComPorts(). |
|
Referenced by MapperConstructRootEnumTree(), and MapperPhantomizeDetectedComPorts(). |
|
Definition at line 106 of file mapper.c. Referenced by MapperSeedKey(). |
|
|
|
Definition at line 91 of file mapper.c. Referenced by MapperSeedKey(). |
|
Definition at line 90 of file mapper.c. Referenced by MapperSeedKey(). |
|
Definition at line 92 of file mapper.c. Referenced by MapperSeedKey(). |
|
Definition at line 89 of file mapper.c. Referenced by MapperSeedKey(). |
|
|
|
Definition at line 148 of file mapper.c. Referenced by MapperSeedKey(). |
|
Definition at line 149 of file mapper.c. Referenced by MapperSeedKey(). |
|
Referenced by MapperSeedKey(). |
|
|
|
Referenced by MapperCallback(). |
|
|
|
|
|
|
|
|
|
Referenced by MapperCallback(), MapperConstructRootEnumTree(), MapperFreeList(), MapperPeripheralCallback(), and MapperPhantomizeDetectedComPorts(). |
|
Referenced by MapperFindIdentMatch(), and MapperTranslatePnPId(). |
|
Referenced by MapperSeedKey(). |
|
Referenced by MapperSeedKey(). |
|
Definition at line 1955 of file mapper.c. References ASSERT, COMPORT_DB_MERGE_SIZE, ExAllocatePool, ExFreePool(), IopCreateRegistryKeyEx(), L, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, PortName, RtlCompareUnicodeString(), RtlInitUnicodeString(), and TRUE.
|
|
Definition at line 1803 of file mapper.c. References ExAllocatePool, ExFreePool(), FloppyId, KeI386MachineType, NonPagedPool, NULL, and Size. Referenced by MapperMarkKey().
|
|
Definition at line 658 of file mapper.c. References BusNumber, _FIRMWARE_CONFIGURATION::BusNumber, _FIRMWARE_CONFIGURATION::BusType, CONFIGURATION_TYPE, _FIRMWARE_CONFIGURATION::ControllerNumber, ControllerType, _FIRMWARE_CONFIGURATION::ControllerType, DebugPrint, DiskController, ExAllocatePool, ExFreePool(), FIRMWARE_CONFIGURATION, _DEVICE_EXTENSION::FirmwareList, FloppyDiskPeripheral, _FIRMWARE_CONFIGURATION::Identifier, _FIRMWARE_CONFIGURATION::IdentifierLength, _FIRMWARE_CONFIGURATION::IdentifierType, IoQueryDeviceConfigurationData, IoQueryDeviceDescription(), IoQueryDeviceIdentifier, KeyboardController, KeyboardPeripheral, L, MapperPeripheralCallback(), MapperTranslatePnPId(), _FIRMWARE_CONFIGURATION::Next, NonPagedPool, NULL, ParallelController, ParallelIdNEC, PDEVICE_EXTENSION, _FIRMWARE_CONFIGURATION::PeripheralNumber, _FIRMWARE_CONFIGURATION::PeripheralType, PFIRMWARE_CONFIGURATION, _FIRMWARE_CONFIGURATION::PnPId, PointerController, PointerPeripheral, _FIRMWARE_CONFIGURATION::ResourceDescriptor, _FIRMWARE_CONFIGURATION::ResourceDescriptorSize, SerialController, SerialIdNEC, and USHORT. Referenced by MapperProcessFirmwareTree().
|
|
Definition at line 1600 of file mapper.c. References _FIRMWARE_CONFIGURATION::BusNumber, _FIRMWARE_CONFIGURATION::BusType, _FIRMWARE_CONFIGURATION::ControllerNumber, _FIRMWARE_CONFIGURATION::ControllerType, DebugPrint, ENUM_KEY_BUFFER_SIZE, ExAllocatePool, ExFreePool(), FALSE, _DEVICE_EXTENSION::FirmwareList, _FIRMWARE_CONFIGURATION::Identifier, INSTANCE_BUFFER_SIZE, L, MapperDeviceExtension, MapperFreeList(), MapperMarkKey(), MapperSeedKey(), _FIRMWARE_CONFIGURATION::NewlyCreated, _FIRMWARE_CONFIGURATION::Next, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PDEVICE_EXTENSION, _FIRMWARE_CONFIGURATION::PeripheralNumber, _FIRMWARE_CONFIGURATION::PeripheralType, PFIRMWARE_CONFIGURATION, _FIRMWARE_CONFIGURATION::PnPId, _FIRMWARE_CONFIGURATION::ResourceDescriptor, RtlAppendUnicodeToString(), RtlInitUnicodeString(), and TRUE. Referenced by IopInitializePlugPlayServices().
|
|
Definition at line 367 of file mapper.c. References _FIRMWARE_IDENT_TO_PNP_ID::FirmwareName, NULL, PFIRMWARE_IDENT_TO_PNP_ID, and String. Referenced by MapperTranslatePnPId().
|
|
Definition at line 1549 of file mapper.c. References ExFreePool(), _DEVICE_EXTENSION::FirmwareList, _FIRMWARE_CONFIGURATION::Identifier, MapperDeviceExtension, _FIRMWARE_CONFIGURATION::Next, PDEVICE_EXTENSION, PFIRMWARE_CONFIGURATION, and _FIRMWARE_CONFIGURATION::ResourceDescriptor. Referenced by IopInitializePlugPlayServices(), and MapperConstructRootEnumTree().
|
|
Definition at line 1091 of file mapper.c. References DebugPrint, ExAllocatePool, ExFreePool(), Handle, IopCmResourcesToIoResources(), L, MapperAdjustResourceList(), NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, RtlAppendUnicodeToString(), RtlInitUnicodeString(), and USHORT. Referenced by MapperConstructRootEnumTree().
|
|
Definition at line 535 of file mapper.c. References DebugPrint, ExAllocatePool, ExFreePool(), _FIRMWARE_CONFIGURATION::Identifier, _FIRMWARE_CONFIGURATION::IdentifierLength, _FIRMWARE_CONFIGURATION::IdentifierType, IoQueryDeviceIdentifier, MapperTranslatePnPId(), NonPagedPool, _FIRMWARE_CONFIGURATION::PeripheralNumber, _FIRMWARE_CONFIGURATION::PeripheralType, PeripheralType, PFIRMWARE_CONFIGURATION, and _FIRMWARE_CONFIGURATION::PnPId. Referenced by MapperCallback().
|
|
Definition at line 2060 of file mapper.c. References _FIRMWARE_CONFIGURATION::BusNumber, _FIRMWARE_CONFIGURATION::BusType, _FIRMWARE_CONFIGURATION::ControllerNumber, _FIRMWARE_CONFIGURATION::ControllerType, DebugPrint, ENUM_KEY_BUFFER_SIZE, ExAllocatePool, ExFreePool(), _DEVICE_EXTENSION::FirmwareList, INSTANCE_BUFFER_SIZE, L, MapperDeviceExtension, _FIRMWARE_CONFIGURATION::NewlyCreated, _FIRMWARE_CONFIGURATION::Next, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PDEVICE_EXTENSION, _FIRMWARE_CONFIGURATION::PeripheralNumber, _FIRMWARE_CONFIGURATION::PeripheralType, PFIRMWARE_CONFIGURATION, _FIRMWARE_CONFIGURATION::PnPId, regValue(), RtlAppendUnicodeToString(), RtlInitUnicodeString(), and SerialController. Referenced by IopInitializePlugPlayServices().
|
|
Definition at line 1009 of file mapper.c. References CONFIGURATION_TYPE, CONTROLLER_TYPES_COUNT, DebugPrint, DiskController, FloppyDiskPeripheral, IoQueryDeviceDescription(), KeyboardController, MapperCallback(), MapperDeviceExtension, NULL, ParallelController, PointerController, and SerialController. Referenced by IopInitializePlugPlayServices().
|
|
Definition at line 1298 of file mapper.c. References ASSERT, _KEY_SEED::Attribute, ComPortDBAdd(), DebugPrint, _MAPPER_SEED::DwordValueContent, ExAllocatePool, ExFreePool(), FALSE, Handle, IopOpenDeviceParametersSubkey(), KEY_SEED_DEVICE_PARAMETERS, KeyboardPeripheral, _KEY_SEED::KeyName, L, MapperKeySeed, MapperValueSeed, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, _MAPPER_SEED::Options, _KEY_SEED::Options, OPTIONS_INSERT_COMPATIBLE_IDS, OPTIONS_INSERT_DEVICEDESC, OPTIONS_INSERT_PHANTOM_MARKER, OPTIONS_INSERT_PNP_ID, ParallelController, PKEY_SEED, PMAPPER_SEED, PointerPeripheral, PS2_KEYBOARD_COMPATIBLE_ID, PS2_MOUSE_COMPATIBLE_ID, RtlAppendUnicodeToString(), RtlInitUnicodeString(), SEED_BUFFER_SIZE, SerialController, USHORT, _MAPPER_SEED::ValueName, and _MAPPER_SEED::ValueType. Referenced by MapperConstructRootEnumTree().
|
|
Definition at line 402 of file mapper.c. References DebugPrint, DiskController, DiskPeripheral, FloppyDiskPeripheral, FloppyId, KeyboardController, KeyboardMap, KeyboardPeripheral, MapperFindIdentMatch(), NULL, ParallelController, ParallelId, PeripheralType, PFIRMWARE_IDENT_TO_PNP_ID, _FIRMWARE_IDENT_TO_PNP_ID::PnPId, PointerController, PointerMap, PointerPeripheral, SerialController, and SerialId. Referenced by MapperCallback(), and MapperPeripheralCallback().
|
|
|
|
Definition at line 231 of file mapper.c. Referenced by MapperAdjustResourceList(), and MapperTranslatePnPId(). |
|
Initial value:
Definition at line 129 of file mapper.c. Referenced by MapperTranslatePnPId(). |
|
Definition at line 122 of file mapper.c. Referenced by MapperConstructRootEnumTree(), MapperFreeList(), MapperPhantomizeDetectedComPorts(), and MapperProcessFirmwareTree(). |
|
Initial value:
Definition at line 194 of file mapper.c. Referenced by MapperSeedKey(). |
|
Initial value:
Definition at line 176 of file mapper.c. Referenced by MapperSeedKey(). |
|
Definition at line 223 of file mapper.c. Referenced by MapperTranslatePnPId(). |
|
Definition at line 225 of file mapper.c. Referenced by MapperCallback(). |
|
Initial value:
Definition at line 156 of file mapper.c. Referenced by MapperTranslatePnPId(). |
|
Definition at line 206 of file mapper.c. Referenced by MapperTranslatePnPId(), and UdfSerial32(). |
|
Initial value: Definition at line 208 of file mapper.c. Referenced by MapperCallback(). |