summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/mfc42/daogetrw.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/mfc42/daogetrw.h143
1 files changed, 143 insertions, 0 deletions
diff --git a/public/sdk/inc/mfc42/daogetrw.h b/public/sdk/inc/mfc42/daogetrw.h
new file mode 100644
index 000000000..50f0ed369
--- /dev/null
+++ b/public/sdk/inc/mfc42/daogetrw.h
@@ -0,0 +1,143 @@
+/************************************************************************
+** D A O G E T R W . H *
+** *
+** GetRows interface *
+** *
+** Warning: The interface defined in this file is for internal use by *
+** the Microsoft Foundation Classes and the dbdao C++ classes. *
+** Future releases of DAO may not be completely compatible with this *
+** implementation. However, if you write to the MFC or dbdao *
+** classes that use this interface, those classes will continue to *
+** be compatible even if this underlying interface changes. *
+** *
+*************************************************************************
+** Copyright (C) 1995 by Microsoft Corporation *
+** All Rights Reserved *
+************************************************************************/
+
+#if !defined (_DAOGETRW_H_)
+#define _DAOGETRW_H_
+
+
+/*
+ Enumerations
+*/
+typedef enum
+ {
+ DAOCOLKIND_IND = 0,
+ DAOCOLKIND_STR,
+ DAOCOLKIND_WSTR
+ } DAOCOLKIND;
+
+typedef enum
+ {
+ DAO_I2 = 0,
+ DAO_I4,
+ DAO_R4,
+ DAO_R8,
+ DAO_CURRENCY,
+ DAO_DATE,
+ DAO_BOOL,
+ DAO_BSTR,
+ DAO_LPSTR,
+ DAO_LPWSTR,
+ DAO_BLOB,
+ DAO_BYTES,
+ DAO_CHAR,
+ DAO_WCHAR,
+ DAO_ANYVARIANT,
+ DAO_BOOKMARK,
+ DAO_BYTE,
+ DAO_GUID,
+ DAO_DATATYPEMAX
+ } DAODATATYPE;
+
+/*
+ Macros
+*/
+#define DAO_NOINDICATOR 0xffffffff
+#define DAO_NULL 0xffffffff
+#define DAO_CANTCOERCE 0xfffffffc
+#define DAO_NOMAXLENGTH 0x00000000
+
+#define DAOROWFETCH_CALLEEALLOCATES 0x00000001
+#define DAOROWFETCH_DONTADVANCE 0x00000002
+#define DAOROWFETCH_FORCEREFRESH 0x00000004
+#define DAOROWFETCH_BINDABSOLUTE 0x00000008
+
+#define DAOBINDING_DIRECT 0x00000001
+#define DAOBINDING_VARIANT 0x00000002
+#define DAOBINDING_CALLBACK 0x00000004
+
+/*
+ Structures
+*/
+typedef struct
+ {
+ DWORD dwKind;
+ union
+ {
+ LONG ind;
+ LPCSTR lpstr;
+ LPCWSTR lpwstr;
+ };
+ } DAOCOLUMNID;
+typedef DAOCOLUMNID *LPDAOCOLUMNID;
+
+// Callback for binding
+EXTERN_C typedef HRESULT (STDAPICALLTYPE *LPDAOBINDFUNC)(ULONG cb, DWORD dwUser, LPVOID *ppData);
+#define DAOBINDINGFUNC(f) STDAPI f (ULONG cb, DWORD dwUser, LPVOID *ppData)
+
+typedef struct
+ {
+ DAOCOLUMNID columnID;
+ ULONG cbDataOffset;
+ ULONG cbMaxLen;
+ ULONG cbInfoOffset;
+ DWORD dwBinding;
+ DWORD dwDataType;
+ DWORD dwUser;
+ } DAOCOLUMNBINDING;
+typedef DAOCOLUMNBINDING *LPDAOCOLUMNBINDING;
+
+typedef struct
+ {
+ ULONG cRowsRequested;
+ DWORD dwFlags;
+ LPVOID pData;
+ LPVOID pVarData;
+ ULONG cbVarData;
+ ULONG cRowsReturned;
+ } DAOFETCHROWS;
+typedef DAOFETCHROWS *LPDAOFETCHROWS;
+
+/*
+ New Errors
+
+ **NOTE: OLE standard ids to be determined.
+*/
+
+#define GETROWSUCCESS(x) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, x)
+#define GETROWERR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, x)
+
+#define S_BUFFERTOOSMALL GETROWSUCCESS(0x1000)
+#define S_ENDOFCURSOR GETROWSUCCESS(0x1001)
+#define S_SILENTCANCEL GETROWSUCCESS(0x1002)
+#define S_RECORDDELETED GETROWSUCCESS(0x1003)
+
+#define E_ROWTOOSHORT GETROWERR(0x1000)
+#define E_BADBINDINFO GETROWERR(0x1001)
+#define E_COLUMNUNAVAILABLE GETROWERR(0x1002)
+
+
+/*
+ Interfaces
+*/
+#undef INTERFACE
+#define INTERFACE ICDAORecordset
+DECLARE_INTERFACE_(ICDAORecordset, IDispatch)
+ {
+ STDMETHOD(GetRows) (THIS_ LONG cRowsToSkip, LONG cCol, LPDAOCOLUMNBINDING prgBndCol, ULONG cbRowLen, LPDAOFETCHROWS pFetchRows) PURE;
+ };
+
+#endif // _DAOGETRW_H_