windows-nt/Source/XPSP1/NT/enduser/windows.com/wuv3/cdminc/findoem.h

85 lines
1.8 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*** findoem.h - Public header for GetOemInfo
*
* Copyright (c) 1998-1999 Microsoft Corporation. All Rights Reserved.
*
* Author: Yan Leshinsky (YanL)
* Created 10/08/98
*
* MODIFICATION HISTORY
*/
#ifndef _FINDOEM_H
#define _FINDOEM_H
/*** GetMachinePnPID - Find IDs corresponding to Make and Model code
*
* ENTRY
* PSZ szTable
* Table format is
*
* |##| ... |##|00|##|##|##|##|
* | | | |
* OEM Model \0 PnP ID
*
* |00|00|00|00|
* | |
* 00000
*
* EXIT
* PnP ID or 0
*/
DWORD GetMachinePnPID(PBYTE szTable);
/*** DetectMachineID - Gather all available machine OEM and model information and return ID
*
* EXIT
* returns ID
*/
LPCTSTR DetectMachineID(bool fAlwaysDetectAndDontSave = false);
typedef struct _OEMINFO
{
DWORD dwMask;
TCHAR szWbemOem[65];
TCHAR szWbemProduct[65];
TCHAR szAcpiOem[65];
TCHAR szAcpiProduct[65];
TCHAR szSmbOem[65];
TCHAR szSmbProduct[65];
DWORD dwPnpOemId;
TCHAR szIniOem[256];
} OEMINFO, * POEMINFO;
#define OEMINFO_WBEM_PRESENT 0x0001
#define OEMINFO_ACPI_PRESENT 0x0002
#define OEMINFO_SMB_PRESENT 0x0004
#define OEMINFO_PNP_PRESENT 0x0008
#define OEMINFO_INI_PRESENT 0x0010
/*** GetOemInfo - Gather all available machine OEM and model information
*
* ENTRY
* POEMINFO pOemInfo
* BOOL fAlwaysDetectAndDontSave - do what is says
*
* EXIT
* POEMINFO pOemInfo
* All fields that aren't available will be filled with 0
* returns NULL
*/
void GetOemInfo(POEMINFO pOemInfo, bool fAlwaysDetectAndDontSave = false);
/*** MakeAndModel - Return ID for a machine
*
* returns ID
*/
LPCTSTR MakeAndModel(POEMINFO pOemInfo);
/*** ID support
*/
BOOL IsValidStringID(PSZ pszID);
DWORD NumericID(PSZ psz);
PSZ StringID(DWORD dwID);
#endif