Leaked source code of windows server 2003
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.

200 lines
7.3 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1996 - 1999
  6. //
  7. // File: cJetBlue.cpp
  8. //
  9. // Contents: Microsoft Internet Security Common
  10. //
  11. // History: 23-Oct-1997 pberkman created
  12. //
  13. //--------------------------------------------------------------------------
  14. #include "global.hxx"
  15. #include "cjetblue.hxx"
  16. #define CHK_FUNC(fp, nm) this->CheckOrLoadFunc((void **)&fp, nm)
  17. cJetBlue_::cJetBlue_(void)
  18. {
  19. SetErrorMode(SEM_NOOPENFILEERRORBOX);
  20. hJet = LoadLibrary("ESE.DLL");
  21. fp_JetInit = NULL;
  22. fp_JetTerm = NULL;
  23. fp_JetSetSystemParameter = NULL;
  24. fp_JetBeginSession = NULL;
  25. fp_JetCreateDatabase = NULL;
  26. fp_JetAttachDatabase = NULL;
  27. fp_JetDetachDatabase = NULL;
  28. fp_JetCreateTable = NULL;
  29. fp_JetCreateTableColumnIndex = NULL;
  30. fp_JetCloseDatabase = NULL;
  31. fp_JetCloseTable = NULL;
  32. fp_JetOpenDatabase = NULL;
  33. fp_JetOpenTable = NULL;
  34. fp_JetBeginTransaction = NULL;
  35. fp_JetCommitTransaction = NULL;
  36. fp_JetRetrieveColumns = NULL;
  37. fp_JetSetColumns = NULL;
  38. fp_JetPrepareUpdate = NULL;
  39. fp_JetSetCurrentIndex2 = NULL;
  40. fp_JetMove = NULL;
  41. fp_JetMakeKey = NULL;
  42. fp_JetSeek = NULL;
  43. }
  44. cJetBlue_::~cJetBlue_(void)
  45. {
  46. if (hJet)
  47. {
  48. FreeLibrary(hJet);
  49. }
  50. }
  51. BOOL cJetBlue_::CheckOrLoadFunc(void **fp, char *pszfunc)
  52. {
  53. if (*fp)
  54. {
  55. return(TRUE);
  56. }
  57. if (this->hJet)
  58. {
  59. *fp = GetProcAddress(this->hJet, pszfunc);
  60. }
  61. return((*fp) ? TRUE : FALSE);
  62. }
  63. JET_ERR cJetBlue_::JetInit(JET_INSTANCE *pinstance)
  64. {
  65. if (!(CHK_FUNC(fp_JetInit, "JetInit")))
  66. {
  67. return(JET_wrnNyi);
  68. }
  69. return((*fp_JetInit)(pinstance));
  70. }
  71. JET_ERR cJetBlue_::JetTerm(JET_INSTANCE instance)
  72. {
  73. if (!(CHK_FUNC(fp_JetTerm, "JetTerm")))
  74. {
  75. return(JET_wrnNyi);
  76. }
  77. return((*fp_JetTerm)(instance));
  78. }
  79. JET_ERR cJetBlue_::JetSetSystemParameter(JET_INSTANCE *pinstance, JET_SESID sesid,
  80. unsigned long paramid, unsigned long lParam,
  81. const char *sz)
  82. {
  83. if (!(CHK_FUNC(fp_JetSetSystemParameter, "JetSetSystemParameter")))
  84. {
  85. return(JET_wrnNyi);
  86. }
  87. return((*fp_JetSetSystemParameter)(pinstance, sesid, paramid, lParam, sz));
  88. }
  89. JET_ERR cJetBlue_::JetBeginSession(JET_INSTANCE instance, JET_SESID *psesid,
  90. const char *szUserName, const char *szPassword)
  91. {
  92. if (!(CHK_FUNC(fp_JetBeginSession, "JetBeginSession")))
  93. {
  94. return(JET_wrnNyi);
  95. }
  96. return((*fp_JetBeginSession)(instance, psesid, szUserName, szPassword));
  97. }
  98. JET_ERR cJetBlue_::JetCreateDatabase(JET_SESID sesid, const char *szFilename, const char *szConnect,
  99. JET_DBID *pdbid, JET_GRBIT grbit)
  100. {
  101. if (!(CHK_FUNC(fp_JetCreateDatabase, "JetCreateDatabase")))
  102. {
  103. return(JET_wrnNyi);
  104. }
  105. return((*fp_JetCreateDatabase)(sesid, szFilename, szConnect, pdbid, grbit));
  106. }
  107. JET_ERR cJetBlue_::JetAttachDatabase(JET_SESID sesid, const char *szFilename, JET_GRBIT grbit)
  108. {
  109. if (!(CHK_FUNC(fp_JetAttachDatabase, "JetAttachDatabase")))
  110. {
  111. return(JET_wrnNyi);
  112. }
  113. return((*fp_JetAttachDatabase)(sesid, szFilename, grbit));
  114. }
  115. JET_ERR cJetBlue_::JetDetachDatabase(JET_SESID sesid, const char *szFilename)
  116. {
  117. if (!(CHK_FUNC(fp_JetDetachDatabase, "JetDetachDatabase")))
  118. {
  119. return(JET_wrnNyi);
  120. }
  121. return((*fp_JetDetachDatabase)(sesid, szFilename));
  122. }
  123. JET_ERR cJetBlue_::JetCreateTable(JET_SESID sesid, JET_DBID dbid, const char *szTableName,
  124. unsigned long lPages, unsigned long lDensity, JET_TABLEID *ptableid)
  125. {
  126. if (!(CHK_FUNC(fp_JetCreateTable, "JetCreateTable")))
  127. {
  128. return(JET_wrnNyi);
  129. }
  130. return((*fp_JetCreateTable)(sesid, dbid, szTableName, lPages, lDensity, ptableid));
  131. }
  132. JET_ERR cJetBlue_::JetCreateTableColumnIndex(JET_SESID sesid, JET_DBID dbid,
  133. JET_TABLECREATE *ptablecreate)
  134. { return((*fp_JetCreateTableColumnIndex)(sesid, dbid, ptablecreate)); }
  135. JET_ERR cJetBlue_::JetCloseDatabase(JET_SESID sesid, JET_DBID dbid, JET_GRBIT grbit)
  136. { return((*fp_JetCloseDatabase)(sesid, dbid, grbit)); }
  137. JET_ERR cJetBlue_::JetCloseTable(JET_SESID sesid, JET_TABLEID tableid)
  138. { return((*fp_JetCloseTable)(sesid, tableid)); }
  139. JET_ERR cJetBlue_::JetOpenDatabase(JET_SESID sesid, const char *szFilename, const char *szConnect,
  140. JET_DBID *pdbid, JET_GRBIT grbit)
  141. { return((*fp_JetOpenDatabase)(sesid, szFilename, szConnect,
  142. pdbid, grbit)); }
  143. JET_ERR cJetBlue_::JetOpenTable(JET_SESID sesid, JET_DBID dbid, const char *szTableName,
  144. const void *pvParameters, unsigned long cbParameters,
  145. JET_GRBIT grbit, JET_TABLEID *ptableid)
  146. { return((*fp_JetOpenTable)(sesid, dbid, szTableName, pvParameters,
  147. cbParameters, grbit, ptableid)); }
  148. JET_ERR cJetBlue_::JetBeginTransaction(JET_SESID sesid)
  149. { return((*fp_JetBeginTransaction)(sesid)); }
  150. JET_ERR cJetBlue_::JetCommitTransaction(JET_SESID sesid, JET_GRBIT grbit)
  151. { return((*fp_JetCommitTransaction)(sesid, grbit)); }
  152. JET_ERR cJetBlue_::JetRetrieveColumns(JET_SESID sesid, JET_TABLEID tableid,
  153. JET_RETRIEVECOLUMN *pretrievecolumn,
  154. unsigned long cretrievecolumn)
  155. { return((*fp_JetRetrieveColumns)(sesid, tableid, pretrievecolumn,
  156. cretrievecolumn)); }
  157. JET_ERR cJetBlue_::JetSetColumns(JET_SESID sesid, JET_TABLEID tableid, JET_SETCOLUMN *psetcolumn,
  158. unsigned long csetcolumn)
  159. { return((*fp_JetSetColumns)(sesid, tableid, psetcolumn, csetcolumn)); }
  160. JET_ERR cJetBlue_::JetPrepareUpdate(JET_SESID sesid, JET_TABLEID tableid, unsigned long prep)
  161. { return((*fp_JetPrepareUpdate)(sesid, tableid, prep)); }
  162. JET_ERR cJetBlue_::JetSetCurrentIndex2(JET_SESID sesid, JET_TABLEID tableid, const char *szIndexName,
  163. JET_GRBIT grbit)
  164. { return((*fp_JetSetCurrentIndex2)(sesid, tableid, szIndexName, grbit)); }
  165. JET_ERR cJetBlue_::JetMove(JET_SESID sesid, JET_TABLEID tableid, long cRow, JET_GRBIT grbit)
  166. { return((*fp_JetMove)(sesid, tableid, cRow, grbit)); }
  167. JET_ERR cJetBlue_::JetMakeKey(JET_SESID sesid, JET_TABLEID tableid, const void *pvData,
  168. unsigned long cbData, JET_GRBIT grbit)
  169. { return((*fp_JetMakeKey)(sesid, tableid, pvData, cbData, grbit)); }
  170. JET_ERR cJetBlue_::JetSeek(JET_SESID sesid, JET_TABLEID tableid, JET_GRBIT grbit)
  171. { return((*fp_JetSeek)(sesid, tableid, grbit)); }