- Timestamp:
- Oct 22, 1999, 2:18:46 PM (26 years ago)
- Location:
- trunk/src/shell32
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/memorystream.cpp
r1215 r1398 1 /* $Id: memorystream.cpp,v 1.2 1999-10-09 11:17:00 sandervl Exp $ */ 1 /* $Id: memorystream.cpp,v 1.3 1999-10-22 12:18:46 phaller Exp $ */ 2 2 3 /* 3 * this class implements a pure IStream object 4 * and can be used for many purposes 4 * Win32 SHELL32 for OS/2 5 5 * 6 * the main reason for implementing this was 7 * a cleaner implementation of IShellLink which 8 * needs to be able to load lnk's from a IStream 9 * interface so it was obvious to capsule the file 10 * access in a IStream to. 6 * Copyright 1999 Patrick Haller (haller@zebra.fh-weingarten.de) 7 * Project Odin Software License can be found in LICENSE.TXT 8 * 9 * this class implements a pure IStream object 10 * and can be used for many purposes 11 * 12 * the main reason for implementing this was 13 * a cleaner implementation of IShellLink which 14 * needs to be able to load lnk's from a IStream 15 * interface so it was obvious to capsule the file 16 * access in a IStream to. 11 17 */ 12 18 19 20 /***************************************************************************** 21 * Includes * 22 *****************************************************************************/ 23 24 #include <odin.h> 25 #include <odinwrap.h> 26 #include <os2sel.h> 27 13 28 #include <string.h> 14 #include <odin.h>15 29 16 30 #define ICOM_CINTERFACE 1 … … 25 39 #include <misc.h> 26 40 27 DEFAULT_DEBUG_CHANNEL(shell) 41 42 ODINDEBUGCHANNEL(SHELL32-MEMORYSTREAM) 43 44 45 /***************************************************************************** 46 * Local Prototypes * 47 *****************************************************************************/ 28 48 29 49 static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVOID *ppvObj); … … 43 63 44 64 static ICOM_VTABLE(IStream) stvt = 45 { 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 65 { 66 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 67 IStream_fnQueryInterface, 68 IStream_fnAddRef, 69 IStream_fnRelease, 70 IStream_fnRead, 71 IStream_fnWrite, 72 IStream_fnSeek, 73 IStream_fnSetSize, 74 IStream_fnCopyTo, 75 IStream_fnCommit, 76 IStream_fnRevert, 77 IStream_fnLockRegion, 78 IStream_fnUnlockRegion, 79 IStream_fnStat, 80 IStream_fnClone 81 62 82 }; 63 83 64 84 typedef struct 65 { ICOM_VTABLE(IStream)*lpvtst;66 DWORDref;67 LPBYTEpImage;68 HANDLEhMapping;69 DWORDdwLength;70 DWORDdwPos;85 { ICOM_VTABLE(IStream) *lpvtst; 86 DWORD ref; 87 LPBYTE pImage; 88 HANDLE hMapping; 89 DWORD dwLength; 90 DWORD dwPos; 71 91 } ISHFileStream; 72 92 … … 78 98 HRESULT CreateStreamOnFile (LPCSTR pszFilename, IStream ** ppstm) 79 99 { 80 ISHFileStream* fstr; 81 OFSTRUCT ofs; 82 HFILE hFile = OpenFile( pszFilename, &ofs, OF_READ ); 83 HRESULT ret = E_FAIL; 84 85 fstr = (ISHFileStream*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(ISHFileStream)); 86 fstr->lpvtst=&stvt; 87 fstr->ref = 1; 88 fstr->dwLength = GetFileSize (hFile, NULL); 89 90 shell32_ObjCount++; 91 92 if (!(fstr->hMapping = CreateFileMappingA(hFile,NULL,PAGE_READONLY|SEC_COMMIT,0,0,NULL))) 93 { 94 WARN("failed to create filemap.\n"); 95 goto end_2; 96 } 97 98 if (!(fstr->pImage = (BYTE*)MapViewOfFile(fstr->hMapping,FILE_MAP_READ,0,0,0))) 99 { 100 WARN("failed to mmap filemap.\n"); 101 goto end_3; 102 } 103 104 ret = S_OK; 105 goto end_1; 106 107 end_3: CloseHandle(fstr->hMapping); 108 end_2: HeapFree(GetProcessHeap(), 0, fstr); 109 fstr = NULL; 110 111 end_1: _lclose(hFile); 112 (*ppstm) = (IStream*)fstr; 113 return ret; 100 ISHFileStream* fstr; 101 OFSTRUCT ofs; 102 HFILE hFile = OpenFile( pszFilename, &ofs, OF_READ ); 103 HRESULT ret = E_FAIL; 104 105 dprintf(("SHELL32:MemoryStream CreateStreamOnFile(%s,%08xh)\n", 106 pszFilename, 107 ppstm)); 108 109 fstr = (ISHFileStream*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(ISHFileStream)); 110 fstr->lpvtst=&stvt; 111 fstr->ref = 1; 112 fstr->dwLength = GetFileSize (hFile, NULL); 113 114 shell32_ObjCount++; 115 116 if (!(fstr->hMapping = CreateFileMappingA(hFile,NULL,PAGE_READONLY|SEC_COMMIT,0,0,NULL))) 117 { 118 dprintf(("failed to create filemap.\n")); 119 goto end_2; 120 } 121 122 if (!(fstr->pImage = (BYTE*)MapViewOfFile(fstr->hMapping,FILE_MAP_READ,0,0,0))) 123 { 124 dprintf(("failed to mmap filemap.\n")); 125 goto end_3; 126 } 127 128 ret = S_OK; 129 goto end_1; 130 131 end_3: CloseHandle(fstr->hMapping); 132 end_2: HeapFree(GetProcessHeap(), 0, fstr); 133 fstr = NULL; 134 135 end_1: _lclose(hFile); 136 (*ppstm) = (IStream*)fstr; 137 return ret; 114 138 } 115 139 … … 119 143 static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVOID *ppvObj) 120 144 { 121 ICOM_THIS(ISHFileStream, iface); 122 123 char xriid[50]; 124 WINE_StringFromCLSID((LPCLSID)riid,xriid); 125 126 TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,xriid,ppvObj); 127 128 *ppvObj = NULL; 129 130 if(IsEqualIID(riid, &IID_IUnknown) || 131 IsEqualIID(riid, &IID_IStream)) 132 { 133 *ppvObj = This; 134 } 135 136 if(*ppvObj) 137 { 138 IStream_AddRef((IStream*)*ppvObj); 139 TRACE("-- Interface: (%p)->(%p)\n",ppvObj,*ppvObj); 140 return S_OK; 141 } 142 TRACE("-- Interface: E_NOINTERFACE\n"); 143 return E_NOINTERFACE; 145 ICOM_THIS(ISHFileStream, iface); 146 147 char xriid[50]; 148 WINE_StringFromCLSID((LPCLSID)riid,xriid); 149 150 dprintf(("SHELL32:MemoryStream IStream_fnQueryInterface(%p)->(\n\tIID:\t%s,%p)\n", 151 This,xriid,ppvObj)); 152 153 *ppvObj = NULL; 154 155 if(IsEqualIID(riid, &IID_IUnknown) || 156 IsEqualIID(riid, &IID_IStream)) 157 { 158 *ppvObj = This; 159 } 160 161 if(*ppvObj) 162 { 163 IStream_AddRef((IStream*)*ppvObj); 164 dprintf(("Interface: (%p)->(%p)\n",ppvObj,*ppvObj)); 165 return S_OK; 166 } 167 dprintf(("-- Interface: E_NOINTERFACE\n")); 168 return E_NOINTERFACE; 144 169 } 145 170 … … 149 174 static ULONG WINAPI IStream_fnAddRef(IStream *iface) 150 175 { 151 ICOM_THIS(ISHFileStream, iface); 152 153 TRACE("(%p)->(count=%lu)\n",This, This->ref); 154 155 shell32_ObjCount++; 156 return ++(This->ref); 176 ICOM_THIS(ISHFileStream, iface); 177 178 dprintf(("SHELL32:MemoryStream IStream_fnAddRef (%p)->(count=%lu)\n", 179 This, This->ref)); 180 181 shell32_ObjCount++; 182 return ++(This->ref); 157 183 } 158 184 … … 162 188 static ULONG WINAPI IStream_fnRelease(IStream *iface) 163 189 { 164 ICOM_THIS(ISHFileStream, iface); 165 166 TRACE("(%p)->()\n",This); 167 168 shell32_ObjCount--; 169 170 if (!--(This->ref)) 171 { TRACE(" destroying SHFileStream (%p)\n",This); 172 173 UnmapViewOfFile(This->pImage); 174 CloseHandle(This->hMapping); 175 176 HeapFree(GetProcessHeap(),0,This); 177 return 0; 178 } 179 return This->ref; 190 ICOM_THIS(ISHFileStream, iface); 191 192 dprintf(("SHELL32:MemoryStream IStream_fnRelease(%p)->()\n", 193 This)); 194 195 shell32_ObjCount--; 196 197 if (!--(This->ref)) 198 { dprintf((" destroying SHFileStream (%p)\n",This)); 199 200 UnmapViewOfFile(This->pImage); 201 CloseHandle(This->hMapping); 202 203 HeapFree(GetProcessHeap(),0,This); 204 return 0; 205 } 206 return This->ref; 180 207 } 181 208 182 209 static HRESULT WINAPI IStream_fnRead (IStream * iface, void* pv, ULONG cb, ULONG* pcbRead) 183 210 { 184 ICOM_THIS(ISHFileStream, iface); 185 186 DWORD dwBytesToRead, dwBytesLeft; 187 188 TRACE("(%p)->(%p,0x%08lx,%p)\n",This, pv, cb, pcbRead); 189 190 if ( !pv ) 191 return STG_E_INVALIDPOINTER; 192 193 dwBytesLeft = This->dwLength - This->dwPos; 194 195 if ( 0 >= dwBytesLeft ) /* end of buffer */ 196 return S_FALSE; 197 198 dwBytesToRead = ( cb > dwBytesLeft) ? dwBytesLeft : cb; 199 200 memmove ( pv, (This->pImage) + (This->dwPos), dwBytesToRead); 201 202 This->dwPos += dwBytesToRead; /* adjust pointer */ 203 204 if (pcbRead) 205 *pcbRead = dwBytesToRead; 206 207 return S_OK; 211 DWORD dwBytesToRead, dwBytesLeft; 212 213 ICOM_THIS(ISHFileStream, iface); 214 215 dprintf(("SHELL32:MemoryStream IStream_fnRead(%p)->(%p,%p,%p)\n", 216 This, pv, cb, pcbRead)); 217 218 if ( !pv ) 219 return STG_E_INVALIDPOINTER; 220 221 dwBytesLeft = This->dwLength - This->dwPos; 222 223 if ( 0 >= dwBytesLeft ) /* end of buffer */ 224 return S_FALSE; 225 226 dwBytesToRead = ( cb > dwBytesLeft) ? dwBytesLeft : cb; 227 228 memmove ( pv, (This->pImage) + (This->dwPos), dwBytesToRead); 229 230 This->dwPos += dwBytesToRead; /* adjust pointer */ 231 232 if (pcbRead) 233 *pcbRead = dwBytesToRead; 234 235 return S_OK; 208 236 } 209 237 static HRESULT WINAPI IStream_fnWrite (IStream * iface, const void* pv, ULONG cb, ULONG* pcbWritten) 210 238 { 211 212 213 TRACE("(%p)\n",This);214 215 239 ICOM_THIS(ISHFileStream, iface); 240 241 dprintf(("SHELL32:MemoryStream IStream_fnWrite (%p) not implemented\n",This)); 242 243 return E_NOTIMPL; 216 244 } 217 245 static HRESULT WINAPI IStream_fnSeek (IStream * iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) 218 246 { 219 220 221 TRACE("(%p)\n",This);222 223 247 ICOM_THIS(ISHFileStream, iface); 248 249 dprintf(("SHELL32:MemoryStream IStream_fnSeek (%p) not implemented\n",This)); 250 251 return E_NOTIMPL; 224 252 } 225 253 static HRESULT WINAPI IStream_fnSetSize (IStream * iface, ULARGE_INTEGER libNewSize) 226 254 { 227 228 229 TRACE("(%p)\n",This);230 231 255 ICOM_THIS(ISHFileStream, iface); 256 257 dprintf(("SHELL32:MemoryStream IStream_fnSetSize (%p) not implemented\n",This)); 258 259 return E_NOTIMPL; 232 260 } 233 261 static HRESULT WINAPI IStream_fnCopyTo (IStream * iface, IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) 234 262 { 235 236 237 TRACE("(%p)\n",This);238 239 263 ICOM_THIS(ISHFileStream, iface); 264 265 dprintf(("SHELL32:MemoryStream IStream_fnCopyTo (%p) not implemented\n",This)); 266 267 return E_NOTIMPL; 240 268 } 241 269 static HRESULT WINAPI IStream_fnCommit (IStream * iface, DWORD grfCommitFlags) 242 270 { 243 244 245 TRACE("(%p)\n",This);246 247 271 ICOM_THIS(ISHFileStream, iface); 272 273 dprintf(("SHELL32:MemoryStream IStream_fnCommit (%p) not implemented\n",This)); 274 275 return E_NOTIMPL; 248 276 } 249 277 static HRESULT WINAPI IStream_fnRevert (IStream * iface) 250 278 { 251 252 253 TRACE("(%p)\n",This);254 255 279 ICOM_THIS(ISHFileStream, iface); 280 281 dprintf(("SHELL32:MemoryStream IStream_fnRevert (%p) not implemented\n",This)); 282 283 return E_NOTIMPL; 256 284 } 257 285 static HRESULT WINAPI IStream_fnLockRegion (IStream * iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) 258 286 { 259 260 261 TRACE("(%p)\n",This);262 263 287 ICOM_THIS(ISHFileStream, iface); 288 289 dprintf(("SHELL32:MemoryStream IStream_fnLockRegion (%p) not implemented\n",This)); 290 291 return E_NOTIMPL; 264 292 } 265 293 static HRESULT WINAPI IStream_fnUnlockRegion (IStream * iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) 266 294 { 267 268 269 TRACE("(%p)\n",This);270 271 295 ICOM_THIS(ISHFileStream, iface); 296 297 dprintf(("SHELL32:MemoryStream IStream_fnUnlockRegoin (%p) not implemented.\n",This)); 298 299 return E_NOTIMPL; 272 300 } 273 301 static HRESULT WINAPI IStream_fnStat (IStream * iface, STATSTG* pstatstg, DWORD grfStatFlag) 274 302 { 275 276 277 TRACE("(%p)\n",This);278 279 303 ICOM_THIS(ISHFileStream, iface); 304 305 dprintf(("SHELL32:MemoryStream IStream_fnStat (%p) not implemented.\n",This)); 306 307 return E_NOTIMPL; 280 308 } 281 309 static HRESULT WINAPI IStream_fnClone (IStream * iface, IStream** ppstm) 282 310 { 283 284 285 TRACE("(%p)\n",This);286 287 288 } 311 ICOM_THIS(ISHFileStream, iface); 312 313 dprintf(("SHELL32:MemoryStream IStream_fnClone (%p) not implemented.\n",This)); 314 315 return E_NOTIMPL; 316 } -
trunk/src/shell32/resource.asm
r1252 r1398 1 1 ;/* This file is generated with wrc version 1.0.14 (08-Aug-1999). Do not edit! */ 2 2 ;/* Source : shres.rc */ 3 ;/* Cmdline: wrc -s -I. -I f:\ibmcpp\include -I..\..\include -I..\..\include\win -o resource.asm shres.rc */4 ;/* Date : Mon Oct 11 22:08:041999 */3 ;/* Cmdline: wrc -s -I. -ID:\IBMCPP\include -I..\..\include -I..\..\include\win -o resource.asm shres.rc */ 4 ;/* Date : Tue Oct 19 20:15:43 1999 */ 5 5 6 6 .386p … … 12 12 public _Resource_PEResTab 13 13 dd 0 14 dd 0380 243a4h14 dd 0380cc35fh 15 15 dd 0 16 16 dw 0, 6 … … 29 29 L3: 30 30 dd 0 31 dd 0380 243a4h31 dd 0380cc35fh 32 32 dd 0 33 33 dw 0, 16 … … 66 66 L4: 67 67 dd 0 68 dd 0380 243a4h68 dd 0380cc35fh 69 69 dd 0 70 70 dw 3, 0 71 dd (_Resource_ MENU_001_name - _Resource_PEResTab) or 80000000h71 dd (_Resource_4_MENU_001_name - _Resource_PEResTab) or 80000000h 72 72 dd (L4_MENU_001 - _Resource_PEResTab) or 80000000h 73 dd (_Resource_ MENU_002_name - _Resource_PEResTab) or 80000000h73 dd (_Resource_4_MENU_002_name - _Resource_PEResTab) or 80000000h 74 74 dd (L4_MENU_002 - _Resource_PEResTab) or 80000000h 75 dd (_Resource_ MENU_SHV_FILE_name - _Resource_PEResTab) or 80000000h75 dd (_Resource_4_MENU_SHV_FILE_name - _Resource_PEResTab) or 80000000h 76 76 dd (L4_MENU_SHV_FILE - _Resource_PEResTab) or 80000000h 77 77 L5: 78 78 dd 0 79 dd 0380 243a4h79 dd 0380cc35fh 80 80 dd 0 81 81 dw 2, 0 82 dd (_Resource_ SHBRSFORFOLDER_MSGBOX_name - _Resource_PEResTab) or 80000000h82 dd (_Resource_5_SHBRSFORFOLDER_MSGBOX_name - _Resource_PEResTab) or 80000000h 83 83 dd (L5_SHBRSFORFOLDER_MSGBOX - _Resource_PEResTab) or 80000000h 84 dd (_Resource_ SHELL_ABOUT_MSGBOX_name - _Resource_PEResTab) or 80000000h84 dd (_Resource_5_SHELL_ABOUT_MSGBOX_name - _Resource_PEResTab) or 80000000h 85 85 dd (L5_SHELL_ABOUT_MSGBOX - _Resource_PEResTab) or 80000000h 86 86 L6: 87 87 dd 0 88 dd 0380 243a4h88 dd 0380cc35fh 89 89 dd 0 90 90 dw 0, 2 … … 95 95 L14: 96 96 dd 0 97 dd 0380 243a4h97 dd 0380cc35fh 98 98 dd 0 99 99 dw 0, 5 … … 110 110 L16: 111 111 dd 0 112 dd 0380 243a4h112 dd 0380cc35fh 113 113 dd 0 114 114 dw 0, 1 … … 117 117 L3_1: 118 118 dd 0 119 dd 0380 243a4h119 dd 0380cc35fh 120 120 dd 0 121 121 dw 0, 1 … … 124 124 L3_2: 125 125 dd 0 126 dd 0380 243a4h126 dd 0380cc35fh 127 127 dd 0 128 128 dw 0, 1 … … 131 131 L3_3: 132 132 dd 0 133 dd 0380 243a4h133 dd 0380cc35fh 134 134 dd 0 135 135 dw 0, 1 … … 138 138 L3_4: 139 139 dd 0 140 dd 0380 243a4h140 dd 0380cc35fh 141 141 dd 0 142 142 dw 0, 1 … … 145 145 L3_5: 146 146 dd 0 147 dd 0380 243a4h147 dd 0380cc35fh 148 148 dd 0 149 149 dw 0, 1 … … 152 152 L3_6: 153 153 dd 0 154 dd 0380 243a4h154 dd 0380cc35fh 155 155 dd 0 156 156 dw 0, 1 … … 159 159 L3_7: 160 160 dd 0 161 dd 0380 243a4h161 dd 0380cc35fh 162 162 dd 0 163 163 dw 0, 1 … … 166 166 L3_8: 167 167 dd 0 168 dd 0380 243a4h168 dd 0380cc35fh 169 169 dd 0 170 170 dw 0, 1 … … 173 173 L3_9: 174 174 dd 0 175 dd 0380 243a4h175 dd 0380cc35fh 176 176 dd 0 177 177 dw 0, 1 … … 180 180 L3_10: 181 181 dd 0 182 dd 0380 243a4h182 dd 0380cc35fh 183 183 dd 0 184 184 dw 0, 1 … … 187 187 L3_11: 188 188 dd 0 189 dd 0380 243a4h189 dd 0380cc35fh 190 190 dd 0 191 191 dw 0, 1 … … 194 194 L3_12: 195 195 dd 0 196 dd 0380 243a4h196 dd 0380cc35fh 197 197 dd 0 198 198 dw 0, 1 … … 201 201 L3_13: 202 202 dd 0 203 dd 0380 243a4h203 dd 0380cc35fh 204 204 dd 0 205 205 dw 0, 1 … … 208 208 L3_14: 209 209 dd 0 210 dd 0380 243a4h210 dd 0380cc35fh 211 211 dd 0 212 212 dw 0, 1 … … 215 215 L3_15: 216 216 dd 0 217 dd 0380 243a4h217 dd 0380cc35fh 218 218 dd 0 219 219 dw 0, 1 … … 222 222 L3_16: 223 223 dd 0 224 dd 0380 243a4h224 dd 0380cc35fh 225 225 dd 0 226 226 dw 0, 1 … … 229 229 L4_MENU_001: 230 230 dd 0 231 dd 0380 243a4h231 dd 0380cc35fh 232 232 dd 0 233 233 dw 0, 1 … … 236 236 L4_MENU_002: 237 237 dd 0 238 dd 0380 243a4h238 dd 0380cc35fh 239 239 dd 0 240 240 dw 0, 1 … … 243 243 L4_MENU_SHV_FILE: 244 244 dd 0 245 dd 0380 243a4h245 dd 0380cc35fh 246 246 dd 0 247 247 dw 0, 1 … … 250 250 L5_SHBRSFORFOLDER_MSGBOX: 251 251 dd 0 252 dd 0380 243a4h252 dd 0380cc35fh 253 253 dd 0 254 254 dw 0, 1 … … 257 257 L5_SHELL_ABOUT_MSGBOX: 258 258 dd 0 259 dd 0380 243a4h259 dd 0380cc35fh 260 260 dd 0 261 261 dw 0, 1 … … 264 264 L6_1: 265 265 dd 0 266 dd 0380 243a4h266 dd 0380cc35fh 267 267 dd 0 268 268 dw 0, 1 … … 271 271 L6_2: 272 272 dd 0 273 dd 0380 243a4h273 dd 0380cc35fh 274 274 dd 0 275 275 dw 0, 1 … … 278 278 L14_0: 279 279 dd 0 280 dd 0380 243a4h280 dd 0380cc35fh 281 281 dd 0 282 282 dw 0, 1 … … 285 285 L14_3: 286 286 dd 0 287 dd 0380 243a4h287 dd 0380cc35fh 288 288 dd 0 289 289 dw 0, 1 … … 292 292 L14_8: 293 293 dd 0 294 dd 0380 243a4h294 dd 0380cc35fh 295 295 dd 0 296 296 dw 0, 1 … … 299 299 L14_15: 300 300 dd 0 301 dd 0380 243a4h301 dd 0380cc35fh 302 302 dd 0 303 303 dw 0, 1 … … 306 306 L14_34: 307 307 dd 0 308 dd 0380 243a4h308 dd 0380cc35fh 309 309 dd 0 310 310 dw 0, 1 … … 313 313 L16_1: 314 314 dd 0 315 dd 0380 243a4h315 dd 0380cc35fh 316 316 dd 0 317 317 dw 0, 1 … … 465 465 dd 0 466 466 dd 0 467 _Resource_ MENU_001_name:467 _Resource_4_MENU_001_name: 468 468 db 008h, 000h, 04dh, 000h, 045h, 000h, 04eh, 000h 469 469 db 055h, 000h, 05fh, 000h, 030h, 000h, 030h, 000h 470 470 db 031h, 000h 471 _Resource_ MENU_002_name:471 _Resource_4_MENU_002_name: 472 472 db 008h, 000h, 04dh, 000h, 045h, 000h, 04eh, 000h 473 473 db 055h, 000h, 05fh, 000h, 030h, 000h, 030h, 000h 474 474 db 032h, 000h 475 _Resource_ MENU_SHV_FILE_name:475 _Resource_4_MENU_SHV_FILE_name: 476 476 db 00dh, 000h, 04dh, 000h, 045h, 000h, 04eh, 000h 477 477 db 055h, 000h, 05fh, 000h, 053h, 000h, 048h, 000h 478 478 db 056h, 000h, 05fh, 000h, 046h, 000h, 049h, 000h 479 479 db 04ch, 000h, 045h, 000h 480 _Resource_ SHBRSFORFOLDER_MSGBOX_name:480 _Resource_5_SHBRSFORFOLDER_MSGBOX_name: 481 481 db 015h, 000h, 053h, 000h, 048h, 000h, 042h, 000h 482 482 db 052h, 000h, 053h, 000h, 046h, 000h, 04fh, 000h … … 485 485 db 04dh, 000h, 053h, 000h, 047h, 000h, 042h, 000h 486 486 db 04fh, 000h, 058h, 000h 487 _Resource_ SHELL_ABOUT_MSGBOX_name:487 _Resource_5_SHELL_ABOUT_MSGBOX_name: 488 488 db 012h, 000h, 053h, 000h, 048h, 000h, 045h, 000h 489 489 db 04ch, 000h, 04ch, 000h, 05fh, 000h, 041h, 000h
Note:
See TracChangeset
for help on using the changeset viewer.