有关驱动程序函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、函数:SetupDiAskForOEMDisk
功能:对OME安装磁盘路径的用户显示一个对话框
WINSETUPAPI BOOL WINAPI
SetupDiAskForOEMDisk(
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL
);
参数:DeviceInfoSet
一个处理本地计算机上的设备信息集合,这个集合包含一个正在安装的设备信息
DeviceInfoData
对一个SP_DEVINFO_DATA结构体来规定有关DeviceInfoSet设备信息元素的指针。
此参数是可选的,可以为NULL。如果这个参数被指定(赋值),SetupDiAskForOEMDisk要关联与正在安装的设备的驱动程序。如果该参数为NULL,SetupDiAskForOEMDisk要关联与全局性的DeviceInfoSet驱动程序列表中的驱动程序。
返回值:如果它是正确则返回TRUE并且SP_DEVINSTALLPARAMS结构DriverPath 字段更新,以反映新的路径。如果用户取消对话框,该函数返回FALSE,并以GetLastError返回调用ERROR_CANCELLED
2、函数:SetupDiBuildClassInfoList
功能:返回一个设置类的GUID列表,这个列表是确定是在本地计算机上安装类
WINSETUPAPI BOOL WINAPI
SetupDiBuildClassInfoList(
IN DWORD Flags,
OUT LPGUID ClassGuidList,
IN DWORD ClassGuidListSize,
OUT PDWORD RequiredSize
)
参数:Flags:用于控制那些类是排除在列表中的类。如果没有指定Flags,所有的设置类都要列入列表中。可以是下列值的组合:DIBCI_NOINSTALLCLASS排除一类是否在其注册表项值项NoInstallClass;DIBCI_NODISPLAYCLASS排除一类是否在其注册表项值项NoDisplayClass
ClassGuidList:一个GUID指针类型的数组,收到的安装类GUID列表。该指针是可选的,可以为NULL
ClassGuidListSize:由ClassGuildList参数指向数组中GUIDs的数量(容量)。如果ClassGuidList为NULL,ClassGuidSize必须为零
RequiredSize:一个DWORD指针类型的变量,它接收GUID返回的数字(如果数字小于或等于在GUID中指向的ClassGuidList参数数组的大小,如果这个数字比ClassGuidList 数组的大小大,它表示有多大ClassGuidList数组必须以包含在GUID中)。
返回值:如果正确返回TRUE,否则返回FALSE,并且可以记录检索GetLastError函数调用的错误。
3、函数:SetupDiBuildClassInfoListEx
功能:返回一个设置GUID类的列表,其中包括在本地系统或远程系统上安装的每一个类
WINSETUPAPI BOOL WINAPI
SetupDiBuildClassInfoListEx(
IN DWORD Flags,
OUT LPGUID ClassGuidList,
IN DWORD ClassGuidListSize,
OUT PDWORD RequiredSize,
IN PCTSTR MachineName..OPTIONAL,
IN PVOID Reserved,
)
参数:Flags:用于控制那些类是排除在列表中的类。如果没有指定Flags,所有的设置类都要列入列表中。可以是下列值的组合:DIBCI_NOINSTALLCLASS排除一类有否在其注册表项NoInstallClass值项。DIBCI_NODISPLAYCLASS排除一类有否在其注册表项NoDisplayClass值项。
ClassGuidList:一个接收的安装GUID类的列表的缓冲区的指针
ClassGuidListSize:提供在ClassGuildList数组里GUIDs的数量
RequiredSize:一个DWORD指针类型的变量,它接收GUID返回的数字(如果数字小于或等于在GUID中指向的ClassGuidList参数数组的大小,如果这个数字比ClassGuidList数组的大小大,它表示有多大ClassGuidList数组必须以包含在GUID中)。
MachineName:以NULL指针结束的字符串,其中包含从远程计算机上安装的检索设置类的名称。此参数是可选的,可以为NULL。如果MachineName是NULL,则这个函数建立一个本地计算机上安装的类的列表
Reserved:必须为NULL
返回值:如果正确返回TRUE,否则返回FALSE,并且可以记录检索GetLastError 函数调用的错误。
4、函数:SetupDiBuildDriverInfoList
功能:建立一个与一个特定的设备,或与全球级的设备驱动程序列表中的信息相关的驱动程序的列表。
WINSETUPAPI BOOL WINAPI
SetupDiBuildDriverInfoList(
IN HDEVINFO DeviceInfoSet,
IN OUT PSP_DEVINFO_DA TA DeviceInfoData..OPTIONAL,
IN DWORD DriverType
)
参数:DeviceInfoSet:一个设备信息设置的句柄,这些句柄包含在驱动程序列表中,无论是所有设备的信息元素或单个设备的信息内容具体。该设备信息集不能包含远程设备的信息内容
DeviceInfoDat:一个SP_DEVINFO_DATA结构的指针,对于这个SP_DEVINFO_DATA 结构里都是在DeviceInfoSet的设备信息元素,其中这些元素表示了该设备建立的驱动程序列表。此参数是可选的,可以为NULL。如果该参数指定,要与指定的设备联系。
如果该参数为NULL,DeviceInfoSet驱动程序与列表相关联。如果这个设备类别因为建立一个兼容的驱动程序的清单而更新,则DeviceInfoData.ClassGuid更新后再返回。
DriverType:驱动程序列表的建立类型。必须是下列值之一:SPDIT_CLASSDRIVER建立一个类驱动程序的列表。如果DeviceInfoData为NULL,该驱动程序列表类型必