#include "iop.h"
#include "pnpcvrt.h"
#include "pbios.h"
Go to the source code of this file.
Classes | |
struct | _EXCLUDED_PNPNODE |
struct | _CLASSDATA |
struct | _CLASS_DESCRIPTIONS_LIST |
struct | _BIOS_DEVNODE_INFO |
Defines | |
#define | DebugPrint(X) |
#define | MULTIFUNCTION_KEY_NAME L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter" |
#define | ENUMROOT_KEY_NAME L"\\Registry\\Machine\\System\\CurrentControlSet\\Enum\\Root" |
#define | BIOSINFO_KEY_NAME L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Biosinfo\\PNPBios" |
#define | BIOSINFO_VALUE_NAME L"DisableNodes" |
#define | DECODEINFO_VALUE_NAME L"FullDecodeChipsetOverride" |
#define | INSTANCE_ID_PREFIX L"PnPBIOS_" |
#define | DEFAULT_STRING_SIZE 80 |
#define | DEFAULT_VALUE_SIZE 80 |
#define | DEFAULT_DEVICE_DESCRIPTION L"Unknown device class" |
#define | EXCLUSION_ENTRY(a) { a, sizeof(a) - sizeof(UNICODE_NULL) } |
#define | EXCLUDED_DEVICES_COUNT (sizeof(ExcludedDevices) / sizeof(ExcludedDevices[0])) |
#define | EXCLUDE_DISABLED_COUNT (sizeof(ExcludeIfDisabled) / sizeof(ExcludeIfDisabled[0])) |
#define | CLASSLIST_ENTRY(a) { a, sizeof(a) / sizeof(a[0]) } |
#define | CLASSLIST_COUNT ( sizeof(ClassDescriptionsList) / sizeof(ClassDescriptionsList[0]) ) |
#define | DECODE_FLAGS |
Typedefs | |
typedef _EXCLUDED_PNPNODE | EXCLUDED_PNPNODE |
typedef _EXCLUDED_PNPNODE * | PEXCLUDED_PNPNODE |
typedef _CLASSDATA | CLASSDATA |
typedef _BIOS_DEVNODE_INFO | BIOS_DEVNODE_INFO |
typedef _BIOS_DEVNODE_INFO * | PBIOS_DEVNODE_INFO |
Functions | |
NTSTATUS | PbBiosResourcesToNtResources (IN ULONG BusNumber, IN ULONG SlotNumber, IN OUT PUCHAR *BiosData, OUT PIO_RESOURCE_REQUIREMENTS_LIST *ReturnedList, OUT PULONG ReturnedLength) |
VOID | PnPBiosExpandProductId (PUCHAR CompressedId, PWCHAR ProductIDStr) |
NTSTATUS | PnPBiosIoResourceListToCmResourceList (IN PIO_RESOURCE_REQUIREMENTS_LIST IoResourceList, OUT PCM_RESOURCE_LIST *CmResourceList, OUT ULONG *CmResourceListSize) |
NTSTATUS | PnPBiosExtractCompatibleIDs (IN PUCHAR *DevNodeData, IN ULONG DevNodeDataLength, OUT PWSTR *CompatibleIDs, OUT ULONG *CompatibleIDsLength) |
NTSTATUS | PnPBiosTranslateInfo (IN VOID *BiosInfo, IN ULONG BiosInfoLength, OUT PBIOS_DEVNODE_INFO *DevNodeInfoList, OUT ULONG *NumberNodes) |
LONG | PnPBiosFindMatchingDevNode (IN PWCHAR MapperName, IN PCM_RESOURCE_LIST ResourceList, IN PBIOS_DEVNODE_INFO DevNodeInfoList, IN ULONG NumberNodes) |
NTSTATUS | PnPBiosEliminateDupes (IN PBIOS_DEVNODE_INFO DevNodeInfoList, IN ULONG NumberNodes) |
PWCHAR | PnPBiosGetDescription (IN PBIOS_DEVNODE_INFO DevNodeInfoEntry) |
NTSTATUS | PnPBiosWriteInfo (IN PBIOS_DEVNODE_INFO DevNodeInfoList, IN ULONG NumberNodes) |
VOID | PnPBiosCopyIoDecode (IN HANDLE EnumRootKey, IN PBIOS_DEVNODE_INFO DevNodeInfo) |
NTSTATUS | PnPBiosFreeDevNodeInfo (IN PBIOS_DEVNODE_INFO DevNodeInfoList, IN ULONG NumberNodes) |
NTSTATUS | PnPBiosCheckForHardwareDisabled (IN PIO_RESOURCE_REQUIREMENTS_LIST IoResourceList, IN OUT PBOOLEAN Disabled) |
BOOLEAN | PnPBiosCheckForExclusion (IN PEXCLUDED_PNPNODE ExclusionArray, IN ULONG ExclusionCount, IN PWCHAR PnpDeviceName, IN PWCHAR PnpCompatIds) |
NTSTATUS | PnPBiosMapper (VOID) |
VOID | PpFilterNtResource (IN PWCHAR PnpDeviceName, PIO_RESOURCE_REQUIREMENTS_LIST ResReqList) |
NTSTATUS | ComPortDBAdd (IN HANDLE DeviceParamKey, IN PWSTR PortName) |
NTSTATUS | PnPBiosGetBiosInfo (OUT PVOID *BiosInfo, OUT ULONG *BiosInfoLength) |
BOOLEAN | PnPBiosIgnoreNode (PWCHAR PnpID, PWCHAR excludeNodes) |
VOID | PnPGetDevnodeExcludeList (OUT PKEY_VALUE_FULL_INFORMATION *ExcludeList) |
BOOLEAN | PnPCheckFixedIoOverrideDecodes (VOID) |
BOOLEAN | PnPBiosCheckForExclusion (IN EXCLUDED_PNPNODE *Exclusions, IN ULONG ExclusionCount, IN PWCHAR PnpDeviceName, IN PWCHAR PnpCompatIds) |
NTSTATUS | PnPBiosCopyDeviceParamKey (IN HANDLE EnumRootKey, IN PWCHAR SourcePath, IN PWCHAR DestinationPath) |
NTSTATUS | PnPBiosMapper () |
Variables | |
EXCLUDED_PNPNODE | ExcludedDevices [] |
EXCLUDED_PNPNODE | ExcludeIfDisabled [] |
CLASSDATA | Class1Descriptions [] |
CLASSDATA | Class2Descriptions [] |
CLASSDATA | Class3Descriptions [] |
CLASSDATA | Class4Descriptions [] |
CLASSDATA | Class5Descriptions [] |
CLASSDATA | Class6Descriptions [] |
CLASSDATA | Class7Descriptions [] |
CLASSDATA | Class8Descriptions [] |
CLASSDATA | Class9Descriptions [] |
CLASSDATA | Class10Descriptions [] |
CLASSDATA | Class11Descriptions [] |
CLASSDATA | Class12Descriptions [] |
_CLASS_DESCRIPTIONS_LIST | ClassDescriptionsList [] |
|
Definition at line 86 of file pnpmap.c. Referenced by PnPCheckFixedIoOverrideDecodes(), and PnPGetDevnodeExcludeList(). |
|
Definition at line 87 of file pnpmap.c. Referenced by PnPGetDevnodeExcludeList(). |
|
Definition at line 255 of file pnpmap.c. Referenced by PnPBiosGetDescription(). |
|
|
|
|
|
Value:
Referenced by PnPBiosCopyIoDecode(). |
|
Definition at line 88 of file pnpmap.c. Referenced by PnPCheckFixedIoOverrideDecodes(). |
|
Definition at line 95 of file pnpmap.c. Referenced by PnPBiosGetDescription(). |
|
Definition at line 92 of file pnpmap.c. Referenced by PnPBiosCopyDeviceParamKey(), PnPBiosCopyIoDecode(), PnPBiosEliminateDupes(), PnPBiosGetBiosInfo(), and PnPBiosWriteInfo(). |
|
Definition at line 93 of file pnpmap.c. Referenced by PnPBiosCopyDeviceParamKey(). |
|
Definition at line 83 of file pnpmap.c. Referenced by PnPBiosCopyIoDecode(), PnPBiosEliminateDupes(), and PnPBiosWriteInfo(). |
|
Definition at line 124 of file pnpmap.c. Referenced by PnPBiosWriteInfo(). |
|
Definition at line 117 of file pnpmap.c. Referenced by PnPBiosWriteInfo(). |
|
|
|
Definition at line 90 of file pnpmap.c. Referenced by PnPBiosEliminateDupes(), and PnPBiosWriteInfo(). |
|
Definition at line 82 of file pnpmap.c. Referenced by PnPBiosGetBiosInfo(). |
|
|
|
|
|
|
|
Referenced by PnPBiosMapper(), and PnPBiosTranslateInfo(). |
|
|
|
Referenced by MapperSeedKey(), and PnPBiosCopyDeviceParamKey(). |
|
|
|
Definition at line 835 of file pnpmap.c. References FALSE, NULL, and TRUE. Referenced by PnPBiosWriteInfo().
|
|
|
|
Definition at line 2852 of file pnpmap.c. References ASSERT, DebugPrint, FALSE, NULL, and TRUE. Referenced by PnPBiosTranslateInfo().
|
|
Definition at line 2089 of file pnpmap.c. References ComPortDBAdd(), DebugPrint, DEFAULT_STRING_SIZE, DEFAULT_VALUE_SIZE, ExAllocatePool, ExFreePool(), IopOpenDeviceParametersSubkey(), IopOpenRegistryKeyEx(), L, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, RtlCompareUnicodeString(), RtlInitUnicodeString(), TRUE, and USHORT. Referenced by PnPBiosWriteInfo().
|
|
Definition at line 2663 of file pnpmap.c. References ASSERT, DebugPrint, DECODE_FLAGS, DEFAULT_STRING_SIZE, ENUMROOT_KEY_NAME, ExAllocatePool, ExFreePool(), IopCreateRegistryKeyEx(), L, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, RtlInitUnicodeString(), and USHORT. Referenced by PnPBiosWriteInfo().
|
|
Definition at line 1725 of file pnpmap.c. References DebugPrint, DEFAULT_STRING_SIZE, ENUMROOT_KEY_NAME, ExAllocatePool, ExFreePool(), Handle, INSTANCE_ID_PREFIX, IopOpenRegistryKeyEx(), L, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, PnPBiosFindMatchingDevNode(), and RtlInitUnicodeString(). Referenced by PnPBiosMapper().
|
|
Definition at line 687 of file pnpmap.c. References CHAR. Referenced by PnPBiosExtractCompatibleIDs(), and PnPBiosTranslateInfo().
|
|
Definition at line 1026 of file pnpmap.c. References ExAllocatePool, LARGE_RESOURCE_TAG, NULL, PagedPool, PnPBiosExpandProductId(), SMALL_TAG_MASK, SMALL_TAG_SIZE_MASK, TAG_COMPATIBLE_ID, TAG_COMPLETE_END, and USHORT. Referenced by PnPBiosTranslateInfo().
|
|
Definition at line 1410 of file pnpmap.c. References ASSERT, CHAR, DebugPrint, FALSE, and NULL. Referenced by PnPBiosEliminateDupes().
|
|
Definition at line 2956 of file pnpmap.c. References ExFreePool(), and NULL. Referenced by PnPBiosMapper().
|
|
Definition at line 399 of file pnpmap.c. References ASSERT, DebugPrint, DEFAULT_STRING_SIZE, ExAllocatePool, ExFreePool(), IopOpenRegistryKeyEx(), L, MULTIFUNCTION_KEY_NAME, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, and RtlInitUnicodeString(). Referenced by PnPBiosMapper().
|
|
Definition at line 2053 of file pnpmap.c. References ClassDescriptionsList, CLASSLIST_COUNT, Count, DEFAULT_DEVICE_DESCRIPTION, _CLASSDATA::Description, and _CLASSDATA::Value. Referenced by PnPBiosWriteInfo().
|
|
Definition at line 726 of file pnpmap.c. References ASSERT, FALSE, and TRUE. Referenced by PnPBiosWriteInfo().
|
|
Definition at line 890 of file pnpmap.c. References ASSERT, DebugPrint, ExAllocatePool, NULL, and PagedPool. Referenced by PnPBiosTranslateInfo().
|
|
Definition at line 3008 of file pnpmap.c. References ExFreePool(), NT_SUCCESS, NTSTATUS(), PBIOS_DEVNODE_INFO, PnPBiosEliminateDupes(), PnPBiosFreeDevNodeInfo(), PnPBiosGetBiosInfo(), PnPBiosTranslateInfo(), and PnPBiosWriteInfo(). Referenced by IopInitializePlugPlayServices().
|
|
|
|
Definition at line 1126 of file pnpmap.c. References ASSERT, _BIOS_DEVNODE_INFO::Attributes, _BIOS_DEVNODE_INFO::BasicConfig, _BIOS_DEVNODE_INFO::BootConfig, _BIOS_DEVNODE_INFO::CompatibleIDs, DebugPrint, ExAllocatePool, ExFreePool(), FALSE, _BIOS_DEVNODE_INFO::FirmwareDisabled, Handle, _BIOS_DEVNODE_INFO::Handle, NT_SUCCESS, NTSTATUS(), NULL, PagedPool, PBIOS_DEVNODE_INFO, PnPBiosCheckForHardwareDisabled(), PnPBiosExpandProductId(), PnPBiosExtractCompatibleIDs(), PnPBiosIoResourceListToCmResourceList(), PnPCheckFixedIoOverrideDecodes(), PpBiosResourcesToNtResources(), PPCONVERTFLAG_FORCE_FIXED_IO_16BIT_DECODE, PPCONVERTFLAG_SET_RESTART_LCPRI, PpFilterNtResource(), _BIOS_DEVNODE_INFO::ProductId, _BIOS_DEVNODE_INFO::Replaces, and _BIOS_DEVNODE_INFO::TypeCode. Referenced by PnPBiosMapper().
|
|
Definition at line 2289 of file pnpmap.c. References DebugPrint, DEFAULT_STRING_SIZE, ENUMROOT_KEY_NAME, EXCLUDE_DISABLED_COUNT, EXCLUDED_DEVICES_COUNT, ExcludedDevices, ExcludeIfDisabled, ExFreePool(), Handle, INSTANCE_ID_PREFIX, IopCreateRegistryKeyEx(), IopDeleteKeyRecursive(), IopOpenRegistryKeyEx(), L, NT_SUCCESS, NTSTATUS(), NULL, PnPBiosCheckForExclusion(), PnPBiosCopyDeviceParamKey(), PnPBiosCopyIoDecode(), PnPBiosGetDescription(), PnPBiosIgnoreNode(), PnPGetDevnodeExcludeList(), and RtlInitUnicodeString(). Referenced by PnPBiosMapper().
|
|
Definition at line 788 of file pnpmap.c. References ASSERT, BIOSINFO_KEY_NAME, DECODEINFO_VALUE_NAME, ExFreePool(), FALSE, IopGetRegistryValue(), IopOpenRegistryKeyEx(), NT_SUCCESS, NTSTATUS(), NULL, and RtlInitUnicodeString(). Referenced by PnPBiosTranslateInfo().
|
|
Definition at line 759 of file pnpmap.c. References BIOSINFO_KEY_NAME, BIOSINFO_VALUE_NAME, IopGetRegistryValue(), IopOpenRegistryKeyEx(), NT_SUCCESS, NTSTATUS(), NULL, RtlInitUnicodeString(), and VOID(). Referenced by PnPBiosWriteInfo().
|
|
Definition at line 3065 of file pnpmap.c. References KeI386MachineType, L, and NULL. Referenced by PnPBiosTranslateInfo().
|
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value: |
|
Initial value:
|
|
Initial value: |
|
Referenced by PnPBiosGetDescription(). |
|
Initial value:
Definition at line 105 of file pnpmap.c. Referenced by PnPBiosWriteInfo(). |
|
Initial value: Definition at line 119 of file pnpmap.c. Referenced by PnPBiosWriteInfo(). |