Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/icrsint.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _ICRSINT_H_ | |
| 7 #define _ICRSINT_H_ | |
| 8 | |
| 9 #include <olectl.h> | |
| 10 #include <stddef.h> | |
| 11 | |
| 12 class CADORecordBinding; | |
| 13 | |
| 14 #define classoffset(base,derived) ((DWORD_PTR)(static_cast<base*>((derived*)8))-8) | |
| 15 | |
| 16 enum ADOFieldStatusEnum { | |
| 17 adFldOK = 0,adFldBadAccessor = 1,adFldCantConvertValue = 2,adFldNull = 3,adFldTruncated = 4,adFldSignMismatch = 5,adFldDataOverFlow = 6, | |
| 18 adFldCantCreate = 7,adFldUnavailable = 8,adFldPermissionDenied = 9,adFldIntegrityViolation = 10,adFldSchemaViolation = 11,adFldBadStatus = 12, | |
| 19 adFldDefault = 13 | |
| 20 }; | |
| 21 | |
| 22 typedef struct stADO_BINDING_ENTRY { | |
| 23 ULONG_PTR ulOrdinal; | |
| 24 WORD wDataType; | |
| 25 BYTE bPrecision; | |
| 26 BYTE bScale; | |
| 27 ULONG_PTR ulSize; | |
| 28 ULONG_PTR ulBufferOffset; | |
| 29 ULONG_PTR ulStatusOffset; | |
| 30 ULONG_PTR ulLengthOffset; | |
| 31 ULONG_PTR ulADORecordBindingOffSet; | |
| 32 WINBOOL fModify; | |
| 33 } ADO_BINDING_ENTRY; | |
| 34 | |
| 35 #define BEGIN_ADO_BINDING(cls) public: typedef cls ADORowClass; \ | |
| 36 const ADO_BINDING_ENTRY *WINAPI GetADOBindingEntries() { static const ADO_BINDING_ENTRY rgADOBindingEntries[] = { | |
| 37 #define ADO_FIXED_LENGTH_ENTRY(Ordinal,DataType,Buffer,Status,Modify) {Ordinal,DataType,0,0,0,offsetof(ADORowClass,Buffer),offsetof(ADORowClass,Status),0,classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 38 #define ADO_FIXED_LENGTH_ENTRY2(Ordinal,DataType,Buffer,Modify) {Ordinal,DataType,0,0,0,offsetof(ADORowClass,Buffer),0,0,classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 39 #define ADO_NUMERIC_ENTRY(Ordinal,DataType,Buffer,Precision,Scale,Status,Modify) {Ordinal,DataType,Precision,Scale,0,offsetof(ADORowClass,Buffer),offsetof(ADORowClass,Status),0,classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 40 #define ADO_NUMERIC_ENTRY2(Ordinal,DataType,Buffer,Precision,Scale,Modify) {Ordinal,DataType,Precision,Scale,0,offsetof(ADORowClass,Buffer),0,0,classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 41 #define ADO_VARIABLE_LENGTH_ENTRY(Ordinal,DataType,Buffer,Size,Status,Length,Modify) {Ordinal,DataType,0,0,Size,offsetof(ADORowClass,Buffer),offsetof(ADORowClass,Status),offsetof(ADORowClass,Length),classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 42 #define ADO_VARIABLE_LENGTH_ENTRY2(Ordinal,DataType,Buffer,Size,Status,Modify) {Ordinal,DataType,0,0,Size,offsetof(ADORowClass,Buffer),offsetof(ADORowClass,Status),0,classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 43 #define ADO_VARIABLE_LENGTH_ENTRY3(Ordinal,DataType,Buffer,Size,Length,Modify) {Ordinal,DataType,0,0,Size,offsetof(ADORowClass,Buffer),0,offsetof(ADORowClass,Length),classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 44 #define ADO_VARIABLE_LENGTH_ENTRY4(Ordinal,DataType,Buffer,Size,Modify) {Ordinal,DataType,0,0,Size,offsetof(ADORowClass,Buffer),0,0,classoffset(CADORecordBinding,ADORowClass),Modify}, | |
| 45 #define END_ADO_BINDING() {0,adEmpty,0,0,0,0,0,0,0,FALSE}}; return rgADOBindingEntries;} | |
| 46 | |
| 47 class CADORecordBinding { | |
| 48 public: | |
| 49 STDMETHOD_(const ADO_BINDING_ENTRY*,GetADOBindingEntries) (VOID) PURE; | |
| 50 }; | |
| 51 | |
| 52 struct __declspec(uuid("00000544-0000-0010-8000-00aa006d2ea4")) IADORecordBinding; | |
| 53 DECLARE_INTERFACE_(IADORecordBinding,IUnknown) { | |
| 54 public: | |
| 55 STDMETHOD(BindToRecordset) (CADORecordBinding *pAdoRecordBinding) PURE; | |
| 56 STDMETHOD(AddNew) (CADORecordBinding *pAdoRecordBinding) PURE; | |
| 57 STDMETHOD(Update) (CADORecordBinding *pAdoRecordBinding) PURE; | |
| 58 }; | |
| 59 #endif |
