- Timestamp:
- May 22, 2000, 9:30:53 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/comctl32/comctl32undoc.cpp
r3585 r3591 1 /* $Id: comctl32undoc.cpp,v 1. 4 2000-05-22 17:25:07 cbratschiExp $ */1 /* $Id: comctl32undoc.cpp,v 1.5 2000-05-22 19:30:53 sandervl Exp $ */ 2 2 /* 3 3 * Undocumented functions from COMCTL32.DLL … … 31 31 #include <wcstr.h> 32 32 #include <wctype.h> 33 #define CINTERFACE 1 34 #include "objbase.h" 35 #include "commctrl.h" 36 #include "crtdll.h" 37 #include "debugtools.h" 38 #include "winerror.h" 33 39 34 40 extern HANDLE COMCTL32_hHeap; /* handle to the private heap */ 41 42 typedef struct _STREAMDATA 43 { 44 DWORD dwSize; 45 DWORD dwData2; 46 DWORD dwItems; 47 } STREAMDATA, *PSTREAMDATA; 48 49 typedef struct _LOADDATA 50 { 51 INT nCount; 52 PVOID ptr; 53 } LOADDATA, *LPLOADDATA; 54 55 typedef HRESULT( CALLBACK * DPALOADPROC)(LPLOADDATA,IStream*,LPARAM); 56 57 58 /************************************************************************** 59 * DPA_LoadStream [COMCTL32.9] 60 * 61 * Loads a dynamic pointer array from a stream 62 * 63 * PARAMS 64 * phDpa [O] pointer to a handle to a dynamic pointer array 65 * loadProc [I] pointer to a callback function 66 * pStream [I] pointer to a stream 67 * lParam [I] application specific value 68 * 69 * NOTES 70 * No more information available yet! 71 */ 72 73 HRESULT WINAPI 74 DPA_LoadStream (HDPA *phDpa, DPALOADPROC loadProc, IStream *pStream, LPARAM lParam) 75 { 76 HRESULT errCode; 77 LARGE_INTEGER position; 78 ULARGE_INTEGER newPosition; 79 STREAMDATA streamData; 80 LOADDATA loadData; 81 ULONG ulRead; 82 HDPA hDpa; 83 PVOID *ptr; 84 85 FIXME ("phDpa=%p loadProc=%p pStream=%p lParam=%lx\n", 86 phDpa, loadProc, pStream, lParam); 87 88 if (!phDpa || !loadProc || !pStream) 89 return E_INVALIDARG; 90 91 *phDpa = (HDPA)NULL; 92 93 position.LowPart = 0; 94 position.HighPart = 0; 95 96 errCode = IStream_Seek (pStream, position, STREAM_SEEK_CUR, &newPosition); 97 if (errCode != S_OK) 98 return errCode; 99 100 errCode = IStream_Read (pStream, &streamData, sizeof(STREAMDATA), &ulRead); 101 if (errCode != S_OK) 102 return errCode; 103 104 FIXME ("dwSize=%lu dwData2=%lu dwItems=%lu\n", 105 streamData.dwSize, streamData.dwData2, streamData.dwItems); 106 107 if (lParam < sizeof(STREAMDATA) || 108 streamData.dwSize < sizeof(STREAMDATA) || 109 streamData.dwData2 < 1) { 110 errCode = E_FAIL; 111 } 112 113 /* create the dpa */ 114 hDpa = DPA_Create (streamData.dwItems); 115 if (!hDpa) 116 return E_OUTOFMEMORY; 117 118 if (!DPA_Grow (hDpa, streamData.dwItems)) 119 return E_OUTOFMEMORY; 120 121 /* load data from the stream into the dpa */ 122 ptr = hDpa->ptrs; 123 for (loadData.nCount = 0; loadData.nCount < streamData.dwItems; loadData.nCount++) { 124 errCode = (loadProc)(&loadData, pStream, lParam); 125 if (errCode != S_OK) { 126 errCode = S_FALSE; 127 break; 128 } 129 130 *ptr = loadData.ptr; 131 ptr++; 132 } 133 134 /* set the number of items */ 135 hDpa->nItemCount = loadData.nCount; 136 137 /* store the handle to the dpa */ 138 *phDpa = hDpa; 139 FIXME ("new hDpa=%p\n", hDpa); 140 141 return errCode; 142 } 143 144 145 /************************************************************************** 146 * DPA_SaveStream [COMCTL32.10] 147 * 148 * Saves a dynamic pointer array to a stream 149 * 150 * PARAMS 151 * hDpa [I] handle to a dynamic pointer array 152 * loadProc [I] pointer to a callback function 153 * pStream [I] pointer to a stream 154 * lParam [I] application specific value 155 * 156 * NOTES 157 * No more information available yet! 158 */ 159 160 HRESULT WINAPI 161 DPA_SaveStream (const HDPA hDpa, DPALOADPROC loadProc, IStream *pStream, LPARAM lParam) 162 { 163 164 FIXME ("hDpa=%p loadProc=%p pStream=%p lParam=%lx\n", 165 hDpa, loadProc, pStream, lParam); 166 167 return E_FAIL; 168 } 35 169 36 170 /************************************************************************** … … 2399 2533 return TRUE; 2400 2534 } 2535 2536 DWORD WINAPI comctl32_389(DWORD x1, DWORD x2) 2537 { 2538 dprintf(("comctl32_389: %x %X not implemented!!", x1, x2)); 2539 return 0; //NT 4 comctl32 returns 0 2540 } 2541 2542 DWORD WINAPI comctl32_390(DWORD x1, DWORD x2, DWORD x3, DWORD x4) 2543 { 2544 dprintf(("comctl32_390: %x %x %x %x not implemented!!", x1, x2, x3, x4)); 2545 return 0; 2546 }
Note:
See TracChangeset
for help on using the changeset viewer.