You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.4 KiB
61 lines
2.4 KiB
/******************************************************************************
|
|
|
|
Header File: Code Page Knowledge Base.H
|
|
|
|
This encapsulates a C++ class that will provide
|
|
all of the basic information needed to manage and translate code pages for the
|
|
Minidriver Development Tool.
|
|
|
|
Copyright (c) 1997 by Microsoft Corporation
|
|
|
|
******************************************************************************/
|
|
|
|
#ifndef RICKS_FIND
|
|
#define RICKS_FIND
|
|
|
|
class CCodePageInformation {
|
|
DWORD m_dwidMapped, m_dwidIn, m_dwidOut; // CP cached in each array
|
|
CByteArray m_cbaMap; // Raw Map
|
|
CWordArray m_cwaIn, m_cwaOut; // Full MB2Uni and Uni2MB maps
|
|
|
|
BOOL Load(DWORD dwidMap); // Load the support page
|
|
BOOL Map(BOOL bUnicode); // Map the requested direction
|
|
BOOL GenerateMap(DWORD dwidMap) const; // Create resource for RC file
|
|
// based on this code page
|
|
|
|
public:
|
|
|
|
CCodePageInformation();
|
|
|
|
// Attributes
|
|
|
|
const unsigned InstalledCount() const; // Code pages in )S
|
|
const unsigned MappedCount() const; // Code pages in RC file
|
|
const unsigned SupportedCount() const; // Code pages supported by OS
|
|
|
|
const DWORD Installed(unsigned u) const; // Retrieve one
|
|
const DWORD Mapped(unsigned u) const; // Retrieve one
|
|
void Mapped(CDWordArray& cdwaReturn) const; // The IDs
|
|
const DWORD Supported(unsigned u) const; // Retrieve one
|
|
|
|
CString Name(DWORD dw) const; // Name of the code page
|
|
// cf RC file
|
|
BOOL IsInstalled(DWORD dwPage) const;
|
|
BOOL HaveMap(DWORD dwPage) const;
|
|
|
|
// DBCS query- is page DBCS? if so is this code point DBCS?
|
|
|
|
BOOL IsDBCS(DWORD dwidPage);
|
|
BOOL IsDBCS(DWORD dwidPage, WORD wCodePoint);
|
|
|
|
// Operations
|
|
unsigned Convert(CByteArray& cbaMBCS, CWordArray& cbaWC,
|
|
DWORD dwidPage);
|
|
|
|
BOOL GenerateAllMaps() const; // Gen resources for any
|
|
// installed & unsupported
|
|
BOOL Collect(DWORD dwidMap, CWordArray& cwaWhere,
|
|
BOOL bUnicode = TRUE);
|
|
};
|
|
|
|
#endif
|