Source code of Windows XP (NT5)
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.
|
|
#include "OTScan.hpp"
#ifndef _OIDTOFILE_HPP
#define _OIDTOFILE_HPP
class SIMCOidTreeNode;
class OidToFile : public OidTreeScanner { typedef struct _FileNode { long lNextOffset; UINT uNumChildren; UINT uStrLen; LPSTR lpszTextSubID; UINT uNumSubID; } T_FILE_NODE;
// mib.bin file actually needs the following platform independent format
// on 32bit(x86) and 64bit(ia64) environment. The uReserved field is used
// for backward compatibility to T_FILE_NODE on 32bit platform because
// mib.bin file format has been around since NT 3.51 time frame.
typedef struct _FileNodeEx { long lNextOffset; // This field must remain first
UINT uNumChildren; UINT uStrLen; UINT uReserved; UINT uNumSubID; } T_FILE_NODE_EX;
HFILE m_hMibFile; const char *m_pszMibFilename; public: OidToFile();
// DESCRIPTION:
// wrapper for the base class Scan();
// it find first the sizes of subtrees;
// RETURN VALUE:
// 0 on success
// -1 on failure;
virtual int Scan();
// DESCRIPTION:
// Creates the output file, containing the OID encoding
// PARAMETERS:
// (in) pointer to the output file name
// RETURN VALUE:
// 0 on success, -1 on failure
int SetMibFilename(const char * pszMibFilename);
// DESCRIPTION:
// "callback" function, called each time a
// tree node passes through the scan. The user
// should redefine this function in the derived
// object to perform the action desired.
// PARAMETERS:
// (in) Pointer to the current node in the tree.
// Nodes are supplied in lexicographic order.
// RETURN VALUE:
// 0 - the scanner should continue
// -1 - the scanner should abort.
int OnScanNode(const SIMCOidTreeNode *pOidNode);
~OidToFile(); };
#endif
|