Win32 API:CM_NOTIFY_ACTION 枚举(Cfgmgr32.h)
在 Windows 的 Cfgmgr32.h 头文件中,CM_NOTIFY_ACTION 枚举用于标识配置管理器通知的操作类型。以下是该枚举的定义:typedef enum _CM_NOTIFY_ACTION { CM_NOTIFY_ACTION_DEVICEARRIVAL = 0x00000000, CM_NOTIFY_ACTION_DEVICEQUERYREMOVE= 0x00000001, CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = 0x00000002, CM_NOTIFY_ACTION_DEVICEREMOVEPENDING= 0x00000003, CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = 0x00000004, CM_NOTIFY_ACTION_DEVICETYPESPECIFIC = 0x00000005, CM_NOTIFY_ACTION_CUSTOMTYPE = 0x00000006, CM_NOTIFY_ACTION_DEVICE...
Win32 API:MEM_RESOURCE 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,MEM_RESOURCE 结构体用于表示内存资源的信息。以下是该结构体的定义:typedef struct { INTERFACE_TYPE MEM_Header; ULONG MEM_Min; ULONG MEM_Max; ULONG MEM_Align; ULONG MEM_End; MEM_DES MEM_Data;} MEM_RESOURCE, *PMEM_RESOURCE;这里是对各个字段的简要说明: MEM_Header: 内存资源的头部,表示资源的类型。 MEM_Min: 内存资源的最小值。 MEM_Max: 内存资源的最大值。 MEM_Align: 内存资源的对齐要求。 MEM_End: 内存资源的结束地址。 MEM_Data: 一个 MEM_DES 结构体,包含有关内存资源的详细信息。这个结构体主要用于描述系统中与内存资源相关的硬件信息。MEM_Data 结构体包含了更详细的资源描述信息,如分配的内存范围、关联的处理器掩码等。如果你在编写与设备管理和配置相关的代...
Win32 API:MEM_RANGE 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,MEM_RANGE 结构体用于表示内存范围的信息。以下是该结构体的定义:typedef struct { MEM_DES MEMR_DevSpecificMemData; ULONG MEMR_Min; ULONG MEMR_Max; ULONG MEMR_Flags; ULONG MEMR_Alloc_Base; ULONG MEMR_Alloc_End; ULONG MEMR_Alloc_AliasBase; ULONG MEMR_Alloc_AliasEnd; ULONG MEMR_Reserved[4];} MEM_RANGE, *PMEM_RANGE;这里是对各个字段的简要说明: MEMR_DevSpecificMemData: 一个 MEM_DES 结构体,包含有关内存范围的设备特定数据。 MEMR_Min: 内存范围的最小值。 MEMR_Max: 内存范围的最大值。 MEMR_Flags: 内存范围的标志。 MEMR_Alloc_Base: 分配的...
Win32 API:MEM_DES 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,MEM_DES 结构体用于表示内存资源的信息。以下是该结构体的定义:typedef struct { INTERFACE_TYPE MEMD_Count; INTERFACE_TYPE MEMD_Type; ULONG MEMD_Alloc_Base; ULONG MEMD_Alloc_End; ULONG MEMD_Flags; KAFFINITY MEMD_Affinity; ULONG MEMD_Flags2;} MEM_DES, *PMEM_DES;这里是对各个字段的简要说明: MEMD_Count: 内存资源的数量。 MEMD_Type: 内存资源的类型。 MEMD_Alloc_Base: 分配的内存资源的基地址。 MEMD_Alloc_End: 分配的内存资源的结束地址。 MEMD_Flags: 内存描述的标志。 MEMD_Affinity: 内存资源的关联处理器掩码。 MEMD_Flags2: 其他内存描述标志。这个结构体主要用于描述系统中与内存资源相关的硬件...
Win32 API:IRQ_RESOURCE_32 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,IRQ_RESOURCE_32 结构体用于表示 IRQ(中断请求)资源的信息。以下是该结构体的定义:typedef struct { INTERFACE_TYPE IRQR_Header; ULONG IRQR_Mask; IRQ_RANGE IRQR_Range[ANYSIZE_ARRAY];} IRQ_RESOURCE_32, *PIRQ_RESOURCE_32;这里是对各个字段的简要说明: IRQR_Header: IRQ 资源的头部,表示资源的类型。 IRQR_Mask: IRQ 资源的掩码。 IRQR_Range: 一个可变大小数组,包含 IRQ 范围的信息。这个结构体主要用于描述系统中与 IRQ 资源相关的硬件信息。IRQR_Range 数组包含了 IRQ 范围的详细信息,包括最小值、最大值等。如果你在编写与设备管理和配置相关的代码,可能会遇到这个结构体。请注意,这些结构体和相关的 API 可能会根据 Windows 版本和开发工具的更新而变化,建议查阅最新的官方文档以确保准确性。
Win32 API:IRQ_RANGE 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,IRQ_RANGE 结构体用于表示 IRQ(中断请求)范围的信息。以下是该结构体的定义:typedef struct { IRQ_DES_32 IRQR_DevSpecificData; ULONG IRQR_Min; ULONG IRQR_Max; ULONG IRQR_Next; ULONG IRQR_Flags; ULONG IRQR_Stride; ULONG IRQR_Flags2;} IRQ_RANGE, *PIRQ_RANGE;这里是对各个字段的简要说明: IRQR_DevSpecificData: 一个 IRQ_DES_32 结构体,包含有关 IRQ 范围的设备特定数据。 IRQR_Min: IRQ 范围的最小值。 IRQR_Max: IRQ 范围的最大值。 IRQR_Next: 下一个 IRQ 范围的指针。 IRQR_Flags: IRQ 范围的标志。 IRQR_Stride: IRQ 范围的步幅。 IRQR_Flags2: 其他 ...
Win32 API:IRQ_DES_32 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,IRQ_DES_32 结构体用于表示 IRQ(中断请求)资源的信息。以下是该结构体的定义:typedef struct { INTERFACE_TYPE IRQD_Type; ULONG IRQD_Flags; ULONG IRQD_Alloc_Num; ULONG IRQD_Affinity; KAFFINITY IRQD_Affinity2; ULONG IRQD_Flags2; ULONG IRQD_Edge_Level; ULONG IRQD_Flags3;} IRQ_DES_32, *PIRQ_DES_32;这里是对各个字段的简要说明: IRQD_Type: IRQ 资源的类型。 IRQD_Flags: IRQ 描述的标志。 IRQD_Alloc_Num: 分配的 IRQ 资源编号。 IRQD_Affinity: IRQ 关联的处理器掩码。 IRQD_Affinity2: IRQ 关联的第二个处理器掩码。 IRQD_Flags2: 其他 IRQ 描述标志。 ...
Win32 API:IO_RESOURCE 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,IO_RESOURCE 结构体用于表示 I/O 资源的信息。以下是该结构体的定义:typedef struct { INTERFACE_TYPE IOR_Header; ULONG IOR_DesFlags; CM_PARTIAL_RESOURCE_DESCRIPTOR IOR_PartialResourceDescriptor;} IO_RESOURCE, *PIO_RESOURCE;这里是对各个字段的简要说明: IOR_Header: I/O 资源的头部,表示资源的类型。 IOR_DesFlags: I/O 资源的描述标志。 IOR_PartialResourceDescriptor: 一个 CM_PARTIAL_RESOURCE_DESCRIPTOR 结构体,包含了关于 I/O 资源的详细信息。这个结构体主要用于描述系统中与 I/O 资源相关的硬件信息。IOR_PartialResourceDescriptor 包含了更详细的资源描述信息,如资源类型、起始地址、结束地址等。如果你在编写与设备...
Win32 API:IO_RANGE 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,IO_RANGE 结构体用于表示 I/O 范围的信息。以下是该结构体的定义:typedef struct { IO_DES IOR_Des; DWORD IOR_Alloc_Base; DWORD IOR_Alloc_End; DWORD IOR_Alloc_AliasBase; DWORD IOR_Alloc_AliasEnd; DWORD IOR_DesFlags;} IO_RANGE, *PIO_RANGE;这里是对各个字段的简要说明: IOR_Des: 一个 IO_DES 结构体,包含有关 I/O 资源的详细信息。 IOR_Alloc_Base: 分配的 I/O 资源的基地址。 IOR_Alloc_End: 分配的 I/O 资源的结束地址。 IOR_Alloc_AliasBase: 分配的 I/O 别名资源的基地址。 IOR_Alloc_AliasEnd: 分配的 I/O 别名资源的结束地址。 IOR_DesFlags: I/O 范围的描述标志。这个结...
Win32 API:IO_DES 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,IO_DES 结构体用于表示 I/O 资源的信息。以下是该结构体的定义:typedef struct { INTERFACE_TYPE IOD_Count; INTERFACE_TYPE IOD_Type; ULONG IOD_Alloc_Base; ULONG IOD_Alloc_End; ULONG IOD_DesFlags; KAFFINITY IOD_Affinity; ULONG IOD_Flags;} IO_DES, *PIO_DES;这里是对各个字段的简要说明: IOD_Count: I/O 资源的数量。 IOD_Type: I/O 资源的类型。 IOD_Alloc_Base: 分配的 I/O 资源的基地址。 IOD_Alloc_End: 分配的 I/O 资源的结束地址。 IOD_DesFlags: I/O 描述的标志。 IOD_Affinity: I/O 资源的关联处理器掩码。 IOD_Flags: I/O 资源的附加标志。这个结构体主要用于描述系统中与 I...
Win32 API:DMA_RESOURCE 结构(Cfgmgr32.h)
在 Win32 配置管理器 API 的头文件 Cfgmgr32.h 中,DMA_RESOURCE 结构体是用于表示 DMA(Direct Memory Access)资源信息的。以下是该结构体的定义:typedef struct { DMA_DES ddDMA; DWORD ddFlags;} DMA_RESOURCE, *PDMA_RESOURCE;这里是对各个字段的简要说明: ddDMA: 一个 DMA_DES 结构体,用于描述 DMA 的具体信息。 ddFlags: 一个 DWORD 类型的标志,表示 DMA 资源的属性。DMA_RESOURCE 结构体通常在设备配置信息中使用,用于描述与 DMA 相关的硬件资源。如果你在编写与设备管理和配置相关的代码,可能会遇到这个结构体。请注意,这些结构体和相关的 API 可能会根据 Windows 版本和开发工具的更新而变化,建议查阅最新的官方文档以确保准确性。
Win32 API:DMA_DES 结构(Cfgmgr32.h)
DMA_DES 结构体是在 Win32 配置管理器 API (Cfgmgr32.h) 中定义的,用于表示 DMA (Direct Memory Access) 信息。以下是该结构体的定义:typedef struct { WORD DD_Mode; WORD DD_Width; DWORD DD_DmaChannel; DWORD DD_DmaPort; DWORD DD_Dma;} DMA_DES, *PDMA_DES;这里是对各个字段的简要说明: DD_Mode: DMA 模式。 DD_Width: 数据传输宽度。 DD_DmaChannel: DMA 通道。 DD_DmaPort: DMA 端口。 DD_Dma: DMA 地址。这个结构体主要用于描述系统中与 DMA 相关的硬件资源。如果你正在编写与设备管理和配置相关的代码,可能会遇到这个结构体。请注意,这些结构体和相关的 API 可能会根据 Windows 版本和开发工具的更新而变化,建议查阅最新的官方文档以确保准确性。
Win32 API:CM_NOTIFY_FILTER 结构(Cfgmgr32.h)
CM_NOTIFY_FILTER 是 Windows 操作系统中的一个结构体,属于 Win32 配置管理器 API。这个结构体定义了配置管理器通知的筛选条件。以下是该结构体的定义:typedef struct _CM_NOTIFY_FILTER { DWORD cbSize; DWORD Flags; DEVINST DevInst; DEVINST DevInstParent; ULONG EventFilter; ULONG ClassFilter; ULONG Reserved; GUID InstanceId; LPARAM lParam; ULONG Alias; INTERFACE_TYPE InterfaceType; ULONG Reserved2;} CM_NOTIFY_FILTER, *PCM_NOTIFY_FILTER;下面是对各个字段的简要说明: cbSize: 结构体的大小,以字节为单位。 Flags: 标志位,用于指定通知的类型。 DevInst: 设备实例的句柄,表示要监视的设备。 DevInstParent: 父设备...
Win32 API:CM_Unregister_Device_InterfaceW 函数(Cfgmgr32.h)
CM_Unregister_Device_InterfaceW 函数是 Win32 API 中的一个函数,属于配置管理器 (Configuration Manager) API。它用于取消注册设备接口。以下是该函数的基本信息:CMAPICONFIGRETWINAPICM_Unregister_Device_InterfaceW( IN DEVINST dnDevInst, IN DWORD dwFlags, IN PCWSTR pszDeviceInterface, IN DWORD dwFlags2, IN HMACHINE hMachine);参数说明: dnDevInst: 设备实例句柄,标识设备的唯一实例。 dwFlags: 标志,指定操作的选项。 pszDeviceInterface: 指向以 NULL 结尾的字符串的指针,表示要取消注册的设备接口。 dwFlags2: 指定更多的标志。 hMachine: 配置管理器数据库的句柄。返回值 (CONFIGRET) 表示函数执行的结果,通常是...
Win32 API:CM_Unregister_Device_InterfaceA 函数(Cfgmgr32.h)
CM_Unregister_Device_InterfaceA 函数是在 Windows 中用于取消注册设备接口的函数。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceA( LPCSTR pszDeviceInterface, ULONG ulFlags);参数说明: pszDeviceInterface: 设备接口的字符串标识符。 ulFlags: 控制操作的标志。该函数用于取消注册指定的设备接口。具体的用法和参数含义可以参考 Microsoft 的官方文档或相关的编程资源。请注意,函数名中的 A 表示使用 ANSI 字符集(narrow字符),对应的在 Unicode 字符集(wide字符)下可能有一个 W 版本,例如 CM_Unregister_Device_InterfaceW。
Win32 API:CM_Uninstall_DevNode 函数(Cfgmgr32.h)
在 Win32 API 中,CM_Uninstall_DevNode 函数用于卸载设备节点。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode( DEVINST dnDevInst, ULONG ulFlags);参数说明: dnDevInst: 设备实例 ID,标识要卸载的设备节点。 ulFlags: 控制卸载操作的标志。该函数用于从系统中卸载指定的设备节点。具体的用法和参数含义可以参考 Microsoft 的官方文档或相关的编程资源。请注意,对设备节点的卸载操作可能会导致系统硬件状态的变化,因此在使用此函数时需要小心确保操作的准确性和安全性。
Win32 API:CM_Set_DevNode_Registry_PropertyA 函数(Cfgmgr32.h)
在 Windows 的 Cfgmgr32.h 头文件中,CM_Set_DevNode_Registry_PropertyA 函数用于设置设备节点的注册属性(Registry Property)。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyA( DEVINST dnDevInst, ULONG ulProperty, PCVOID Buffer, ULONG ulLength, ULONG ulFlags, HMACHINE hMachine);参数说明: dnDevInst: 设备实例 ID,标识要设置注册属性的设备节点。 ulProperty: 指定注册属性的标识,例如 CM_DRP_DEVICEDESC 表示设备描述。 Buffer: 包含属性值的缓冲区。 ulLength: 缓冲区的大小。 ulFlags: 控制设置属性的行为。 hMachine: 用于指定是本地计算机还是远程计算机上的设备节点。请注意,这里的函数名中的...
Win32 API:CM_Set_DevNode_PropertyW 函数(Cfgmgr32.h)
CM_Set_DevNode_PropertyW 函数同样属于 Configuration Manager API,用于设置设备节点的属性。下面是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Set_DevNode_PropertyW( DEVINST dnDevInst, CONST DEVPROPKEY *PropertyKey, DEVPROPTYPE PropertyType, CONST PBYTE PropertyBuffer, ULONG ulLength, ULONG ulFlags);参数说明: dnDevInst: 设备实例 ID,标识要设置属性的设备节点。 PropertyKey: 指定属性的键,通常是一个 DEVPROPKEY 结构,用于唯一标识一个属性。 PropertyType: 属性的数据类型,例如 DEVPROP_TYPE_STRING 表示字符串类型。 PropertyBuffer: 包含属性值的缓冲区。 ulLength: 缓冲区的大小。 ulFlags: 控制设置属性的行...
Win32 API:CM_Set_DevNode_Property_ExW 函数(Cfgmgr32.h)
CM_Set_DevNode_Property_ExW 函数是 Windows 操作系统中的一个函数,属于 Configuration Manager API。这个函数用于设置设备节点(Device Node)的属性。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Set_DevNode_Property_ExW( DEVINSTID_W pDevInst, const DEVPROPKEY *PropertyKey, DEVPROPTYPE PropertyType, const PBYTE PropertyBuffer, ULONG ulLength, ULONG ulFlags, HMACHINE hMachine);参数说明: pDevInst: 设备实例 ID,标识要设置属性的设备节点。 PropertyKey: 指定属性的键,通常是一个 DEVPROPKEY 结构,用于唯一标识一个属性。 PropertyType: 属性的数据类型,例如 DEVPROP_TYPE_STRING 表示字符串类型。 PropertyBuffer: 包含属...
Win32 API:CM_Set_DevNode_Problem 函数(Cfgmgr32.h)
CM_Set_DevNode_Problem 函数是 Windows 操作系统中的 Win32 API,属于 Configuration Manager API,用于设置设备节点(DevNode)的问题码和状态。以下是函数的基本定义:CMAPI CONFIGRET CM_Set_DevNode_Problem( DEVINST dnDevInst, ULONG ulProblem, ULONG ulFlags);参数说明: dnDevInst:指定设备节点的实例句柄。 ulProblem:指定设备节点的问题码。 ulFlags:标志位,用于指定操作的选项。函数返回一个 CONFIGRET 类型的值,表示操作的结果状态。这个函数的作用是设置指定设备节点的问题码和状态。参数中的 ulProblem 是一个表示问题码的值,而 ulFlags 可以用来指定一些额外的选项。请注意,使用此函数要小心,确保了解问题码的含义以及对系统的影响。在使用之前,最好查阅相关的官方文档或参考资料。