- Timestamp:
- Sep 5, 2001, 3:39:12 PM (24 years ago)
- Location:
- trunk/src
- Files:
-
- 36 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/quartz/amerror.c
r6578 r6649 1 /* $Id: amerror.c,v 1.2 2001-09-05 13:36:34 bird Exp $ */ 1 2 2 3 #include "config.h" … … 19 20 LPWSTR QUARTZ_strncpyAtoW( LPWSTR lpwstr, LPCSTR lpstr, INT wbuflen ) 20 21 { 21 INTlen;22 23 24 25 26 22 INT len; 23 24 len = MultiByteToWideChar( CP_ACP, 0, lpstr, -1, lpwstr, wbuflen ); 25 if ( len == 0 ) 26 *lpwstr = 0; 27 return lpwstr; 27 28 } 28 29 … … 30 31 static LPCSTR hresult_to_string( HRESULT hr ) 31 32 { 32 33 34 #define ENTRY(x)case x: return (const char*)#x;35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 #undefENTRY185 186 187 33 switch ( hr ) 34 { 35 #define ENTRY(x) case x: return (const char*)#x; 36 /* some known codes */ 37 ENTRY(S_OK) 38 ENTRY(S_FALSE) 39 ENTRY(E_FAIL) 40 ENTRY(E_POINTER) 41 ENTRY(E_NOTIMPL) 42 ENTRY(E_NOINTERFACE) 43 ENTRY(E_OUTOFMEMORY) 44 ENTRY(CLASS_E_CLASSNOTAVAILABLE) 45 ENTRY(CLASS_E_NOAGGREGATION) 46 47 /* vfwmsgs.h */ 48 ENTRY(VFW_S_NO_MORE_ITEMS) 49 ENTRY(VFW_E_BAD_KEY) 50 ENTRY(VFW_E_INVALIDMEDIATYPE) 51 ENTRY(VFW_E_INVALIDSUBTYPE) 52 ENTRY(VFW_E_NEED_OWNER) 53 ENTRY(VFW_E_ENUM_OUT_OF_SYNC) 54 ENTRY(VFW_E_ALREADY_CONNECTED) 55 ENTRY(VFW_E_FILTER_ACTIVE) 56 ENTRY(VFW_E_NO_TYPES) 57 ENTRY(VFW_E_NO_ACCEPTABLE_TYPES) 58 ENTRY(VFW_E_INVALID_DIRECTION) 59 ENTRY(VFW_E_NOT_CONNECTED) 60 ENTRY(VFW_E_NO_ALLOCATOR) 61 ENTRY(VFW_E_RUNTIME_ERROR) 62 ENTRY(VFW_E_BUFFER_NOTSET) 63 ENTRY(VFW_E_BUFFER_OVERFLOW) 64 ENTRY(VFW_E_BADALIGN) 65 ENTRY(VFW_E_ALREADY_COMMITTED) 66 ENTRY(VFW_E_BUFFERS_OUTSTANDING) 67 ENTRY(VFW_E_NOT_COMMITTED) 68 ENTRY(VFW_E_SIZENOTSET) 69 ENTRY(VFW_E_NO_CLOCK) 70 ENTRY(VFW_E_NO_SINK) 71 ENTRY(VFW_E_NO_INTERFACE) 72 ENTRY(VFW_E_NOT_FOUND) 73 ENTRY(VFW_E_CANNOT_CONNECT) 74 ENTRY(VFW_E_CANNOT_RENDER) 75 ENTRY(VFW_E_CHANGING_FORMAT) 76 ENTRY(VFW_E_NO_COLOR_KEY_SET) 77 ENTRY(VFW_E_NOT_OVERLAY_CONNECTION) 78 ENTRY(VFW_E_NOT_SAMPLE_CONNECTION) 79 ENTRY(VFW_E_PALETTE_SET) 80 ENTRY(VFW_E_COLOR_KEY_SET) 81 ENTRY(VFW_E_NO_COLOR_KEY_FOUND) 82 ENTRY(VFW_E_NO_PALETTE_AVAILABLE) 83 ENTRY(VFW_E_NO_DISPLAY_PALETTE) 84 ENTRY(VFW_E_TOO_MANY_COLORS) 85 ENTRY(VFW_E_STATE_CHANGED) 86 ENTRY(VFW_E_NOT_STOPPED) 87 ENTRY(VFW_E_NOT_PAUSED) 88 ENTRY(VFW_E_NOT_RUNNING) 89 ENTRY(VFW_E_WRONG_STATE) 90 ENTRY(VFW_E_START_TIME_AFTER_END) 91 ENTRY(VFW_E_INVALID_RECT) 92 ENTRY(VFW_E_TYPE_NOT_ACCEPTED) 93 ENTRY(VFW_E_SAMPLE_REJECTED) 94 ENTRY(VFW_E_SAMPLE_REJECTED_EOS) 95 ENTRY(VFW_S_DUPLICATE_NAME) 96 ENTRY(VFW_E_DUPLICATE_NAME) 97 ENTRY(VFW_E_TIMEOUT) 98 ENTRY(VFW_E_INVALID_FILE_FORMAT) 99 ENTRY(VFW_E_ENUM_OUT_OF_RANGE) 100 ENTRY(VFW_E_CIRCULAR_GRAPH) 101 ENTRY(VFW_E_NOT_ALLOWED_TO_SAVE) 102 ENTRY(VFW_E_TIME_ALREADY_PASSED) 103 ENTRY(VFW_E_ALREADY_CANCELLED) 104 ENTRY(VFW_E_CORRUPT_GRAPH_FILE) 105 ENTRY(VFW_E_ADVISE_ALREADY_SET) 106 ENTRY(VFW_S_STATE_INTERMEDIATE) 107 ENTRY(VFW_E_NO_MODEX_AVAILABLE) 108 ENTRY(VFW_E_NO_ADVISE_SET) 109 ENTRY(VFW_E_NO_FULLSCREEN) 110 ENTRY(VFW_E_IN_FULLSCREEN_MODE) 111 ENTRY(VFW_E_UNKNOWN_FILE_TYPE) 112 ENTRY(VFW_E_CANNOT_LOAD_SOURCE_FILTER) 113 ENTRY(VFW_S_PARTIAL_RENDER) 114 ENTRY(VFW_E_FILE_TOO_SHORT) 115 ENTRY(VFW_E_INVALID_FILE_VERSION) 116 ENTRY(VFW_S_SOME_DATA_IGNORED) 117 ENTRY(VFW_S_CONNECTIONS_DEFERRED) 118 ENTRY(VFW_E_INVALID_CLSID) 119 ENTRY(VFW_E_INVALID_MEDIA_TYPE) 120 ENTRY(VFW_E_SAMPLE_TIME_NOT_SET) 121 ENTRY(VFW_S_RESOURCE_NOT_NEEDED) 122 ENTRY(VFW_E_MEDIA_TIME_NOT_SET) 123 ENTRY(VFW_E_NO_TIME_FORMAT_SET) 124 ENTRY(VFW_E_MONO_AUDIO_HW) 125 ENTRY(VFW_S_MEDIA_TYPE_IGNORED) 126 ENTRY(VFW_E_NO_DECOMPRESSOR) 127 ENTRY(VFW_E_NO_AUDIO_HARDWARE) 128 ENTRY(VFW_S_VIDEO_NOT_RENDERED) 129 ENTRY(VFW_S_AUDIO_NOT_RENDERED) 130 ENTRY(VFW_E_RPZA) 131 ENTRY(VFW_S_RPZA) 132 ENTRY(VFW_E_PROCESSOR_NOT_SUITABLE) 133 ENTRY(VFW_E_UNSUPPORTED_AUDIO) 134 ENTRY(VFW_E_UNSUPPORTED_VIDEO) 135 ENTRY(VFW_E_MPEG_NOT_CONSTRAINED) 136 ENTRY(VFW_E_NOT_IN_GRAPH) 137 ENTRY(VFW_S_ESTIMATED) 138 ENTRY(VFW_E_NO_TIME_FORMAT) 139 ENTRY(VFW_E_READ_ONLY) 140 ENTRY(VFW_S_RESERVED) 141 ENTRY(VFW_E_BUFFER_UNDERFLOW) 142 ENTRY(VFW_E_UNSUPPORTED_STREAM) 143 ENTRY(VFW_E_NO_TRANSPORT) 144 ENTRY(VFW_S_STREAM_OFF) 145 ENTRY(VFW_S_CANT_CUE) 146 ENTRY(VFW_E_BAD_VIDEOCD) 147 ENTRY(VFW_S_NO_STOP_TIME) 148 ENTRY(VFW_E_OUT_OF_VIDEO_MEMORY) 149 ENTRY(VFW_E_VP_NEGOTIATION_FAILED) 150 ENTRY(VFW_E_DDRAW_CAPS_NOT_SUITABLE) 151 ENTRY(VFW_E_NO_VP_HARDWARE) 152 ENTRY(VFW_E_NO_CAPTURE_HARDWARE) 153 ENTRY(VFW_E_DVD_OPERATION_INHIBITED) 154 ENTRY(VFW_E_DVD_INVALIDDOMAIN) 155 ENTRY(VFW_E_DVD_NO_BUTTON) 156 ENTRY(VFW_E_DVD_GRAPHNOTREADY) 157 ENTRY(VFW_E_DVD_RENDERFAIL) 158 ENTRY(VFW_E_DVD_DECNOTENOUGH) 159 ENTRY(VFW_E_DDRAW_VERSION_NOT_SUITABLE) 160 ENTRY(VFW_E_COPYPROT_FAILED) 161 ENTRY(VFW_S_NOPREVIEWPIN) 162 ENTRY(VFW_E_TIME_EXPIRED) 163 ENTRY(VFW_S_DVD_NON_ONE_SEQUENTIAL) 164 ENTRY(VFW_E_DVD_WRONG_SPEED) 165 ENTRY(VFW_E_DVD_MENU_DOES_NOT_EXIST) 166 ENTRY(VFW_E_DVD_CMD_CANCELLED) 167 ENTRY(VFW_E_DVD_STATE_WRONG_VERSION) 168 ENTRY(VFW_E_DVD_STATE_CORRUPT) 169 ENTRY(VFW_E_DVD_STATE_WRONG_DISC) 170 ENTRY(VFW_E_DVD_INCOMPATIBLE_REGION) 171 ENTRY(VFW_E_DVD_NO_ATTRIBUTES) 172 ENTRY(VFW_E_DVD_NO_GOUP_PGC) 173 ENTRY(VFW_E_DVD_LOW_PARENTAL_LEVEL) 174 ENTRY(VFW_E_DVD_NOT_IN_KARAOKE_MODE) 175 ENTRY(VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE) 176 ENTRY(VFW_S_DVD_NOT_ACCURATE) 177 ENTRY(VFW_E_FRAME_STEP_UNSUPPORTED) 178 ENTRY(VFW_E_DVD_STREAM_DISABLED) 179 ENTRY(VFW_E_DVD_TITLE_UNKNOWN) 180 ENTRY(VFW_E_DVD_INVALID_DISC) 181 ENTRY(VFW_E_DVD_NO_RESUME_INFORMATION) 182 ENTRY(VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD) 183 ENTRY(VFW_E_PIN_ALREADY_BLOCKED) 184 ENTRY(VFW_E_CERTIFICATION_FAILURE) 185 #undef ENTRY 186 } 187 188 return NULL; 188 189 } 189 190 190 191 /*********************************************************************** 191 * AMGetErrorTextA(quartz.@)192 * AMGetErrorTextA (quartz.@) 192 193 */ 193 194 DWORD WINAPI AMGetErrorTextA(HRESULT hr, LPSTR pszbuf, DWORD dwBufLen) 194 195 { 195 LPCSTRlpszRes;196 197 198 199 200 201 202 203 204 205 206 196 LPCSTR lpszRes; 197 DWORD len; 198 199 lpszRes = hresult_to_string( hr ); 200 if ( lpszRes == NULL ) 201 return 0; 202 len = (DWORD)(strlen(lpszRes)+1); 203 if ( len > dwBufLen ) 204 return 0; 205 206 memcpy( pszbuf, lpszRes, len ); 207 return len; 207 208 } 208 209 209 210 /*********************************************************************** 210 * AMGetErrorTextW(quartz.@)211 * AMGetErrorTextW (quartz.@) 211 212 */ 212 213 DWORD WINAPI AMGetErrorTextW(HRESULT hr, LPWSTR pwszbuf, DWORD dwBufLen) 213 214 { 214 CHARszBuf[MAX_ERROR_TEXT_LEN+1];215 DWORDdwLen;216 217 218 219 220 221 222 223 224 225 } 215 CHAR szBuf[MAX_ERROR_TEXT_LEN+1]; 216 DWORD dwLen; 217 218 dwLen = AMGetErrorTextA(hr,szBuf,MAX_ERROR_TEXT_LEN); 219 if ( dwLen == 0 ) 220 return 0; 221 szBuf[dwLen] = 0; 222 223 QUARTZ_strncpyAtoW( pwszbuf, szBuf, dwBufLen ); 224 225 return lstrlenW( pwszbuf ); 226 } -
trunk/src/quartz/complist.c
r6578 r6649 1 /* $Id: complist.c,v 1.2 2001-09-05 13:36:34 bird Exp $ */ 1 2 /* 2 3 * List of components. (for internal use) … … 24 25 struct QUARTZ_CompList 25 26 { 26 QUARTZ_CompListItem*pFirst;27 QUARTZ_CompListItem*pLast;27 QUARTZ_CompListItem* pFirst; 28 QUARTZ_CompListItem* pLast; 28 29 }; 29 30 30 31 struct QUARTZ_CompListItem 31 32 { 32 IUnknown*punk;33 QUARTZ_CompListItem*pNext;34 QUARTZ_CompListItem*pPrev;33 IUnknown* punk; 34 QUARTZ_CompListItem* pNext; 35 QUARTZ_CompListItem* pPrev; 35 36 }; 36 37 … … 38 39 QUARTZ_CompList* QUARTZ_CompList_Alloc( void ) 39 40 { 40 QUARTZ_CompList*pList;41 QUARTZ_CompList* pList; 41 42 42 43 44 45 46 47 48 43 pList = (QUARTZ_CompList*)QUARTZ_AllocMem( sizeof(QUARTZ_CompList) ); 44 if ( pList != NULL ) 45 { 46 /* construct. */ 47 pList->pFirst = NULL; 48 pList->pLast = NULL; 49 } 49 50 50 51 return pList; 51 52 } 52 53 53 54 void QUARTZ_CompList_Free( QUARTZ_CompList* pList ) 54 55 { 55 QUARTZ_CompListItem*pCur;56 QUARTZ_CompListItem*pNext;56 QUARTZ_CompListItem* pCur; 57 QUARTZ_CompListItem* pNext; 57 58 58 59 60 61 62 63 64 65 66 67 68 69 70 59 if ( pList != NULL ) 60 { 61 pCur = pList->pFirst; 62 while ( pCur != NULL ) 63 { 64 pNext = pCur->pNext; 65 if ( pCur->punk != NULL ) 66 IUnknown_Release( pCur->punk ); 67 QUARTZ_FreeMem( pCur ); 68 pCur = pNext; 69 } 70 QUARTZ_FreeMem( pList ); 71 } 71 72 } 72 73 73 74 QUARTZ_CompList* QUARTZ_CompList_Dup( QUARTZ_CompList* pList ) 74 75 { 75 QUARTZ_CompList*pNewList;76 QUARTZ_CompListItem*pCur;77 HRESULThr;76 QUARTZ_CompList* pNewList; 77 QUARTZ_CompListItem* pCur; 78 HRESULT hr; 78 79 79 80 81 80 pNewList = QUARTZ_CompList_Alloc(); 81 if ( pNewList == NULL ) 82 return NULL; 82 83 83 84 85 86 87 88 89 90 91 92 93 94 95 96 84 pCur = pList->pFirst; 85 while ( pCur != NULL ) 86 { 87 if ( pCur->punk != NULL ) 88 { 89 hr = QUARTZ_CompList_AddComp( pNewList, pCur->punk ); 90 if ( FAILED(hr) ) 91 { 92 QUARTZ_CompList_Free( pNewList ); 93 return NULL; 94 } 95 } 96 pCur = pCur->pNext; 97 } 97 98 98 99 return pNewList; 99 100 } 100 101 101 102 HRESULT QUARTZ_CompList_AddComp( QUARTZ_CompList* pList, IUnknown* punk ) 102 103 { 103 QUARTZ_CompListItem*pItem;104 QUARTZ_CompListItem* pItem; 104 105 105 106 107 108 106 pItem = (QUARTZ_CompListItem*)QUARTZ_AllocMem( sizeof(QUARTZ_CompListItem) ); 107 if ( pItem == NULL ) 108 return E_OUTOFMEMORY; /* out of memory. */ 109 pItem->punk = punk; IUnknown_AddRef(punk); 109 110 110 111 112 113 114 115 116 111 if ( pList->pFirst != NULL ) 112 pList->pFirst->pPrev = pItem; 113 else 114 pList->pLast = pItem; 115 pList->pFirst = pItem; 116 pItem->pNext = pList->pFirst; 117 pItem->pPrev = NULL; 117 118 118 119 return S_OK; 119 120 } 120 121 121 122 HRESULT QUARTZ_CompList_RemoveComp( QUARTZ_CompList* pList, IUnknown* punk ) 122 123 { 123 QUARTZ_CompListItem*pCur;124 QUARTZ_CompListItem* pCur; 124 125 125 126 127 126 pCur = QUARTZ_CompList_SearchComp( pList, punk ); 127 if ( pCur == NULL ) 128 return S_FALSE; /* already removed. */ 128 129 129 130 131 132 133 134 135 136 137 130 /* remove from list. */ 131 if ( pCur->pNext != NULL ) 132 pCur->pNext->pPrev = pCur->pPrev; 133 else 134 pList->pLast = pCur->pPrev; 135 if ( pCur->pPrev != NULL ) 136 pCur->pPrev->pNext = pCur->pNext; 137 else 138 pList->pFirst = pCur->pNext; 138 139 139 140 141 142 140 /* release this item. */ 141 if ( pCur->punk != NULL ) 142 IUnknown_Release( pCur->punk ); 143 QUARTZ_FreeMem( pCur ); 143 144 144 145 return S_OK; 145 146 } 146 147 147 148 QUARTZ_CompListItem* QUARTZ_CompList_SearchComp( 148 149 QUARTZ_CompList* pList, IUnknown* punk ) 149 150 { 150 QUARTZ_CompListItem*pCur;151 QUARTZ_CompListItem* pCur; 151 152 152 153 154 155 156 157 158 153 pCur = pList->pFirst; 154 while ( pCur != NULL ) 155 { 156 if ( pCur->punk == punk ) 157 return pCur; 158 pCur = pCur->pNext; 159 } 159 160 160 161 return NULL; 161 162 } 162 163 163 164 QUARTZ_CompListItem* QUARTZ_CompList_GetFirst( 164 165 QUARTZ_CompList* pList ) 165 166 { 166 167 return pList->pFirst; 167 168 } 168 169 169 170 QUARTZ_CompListItem* QUARTZ_CompList_GetNext( 170 171 QUARTZ_CompList* pList, QUARTZ_CompListItem* pPrev ) 171 172 { 172 173 return pPrev->pNext; 173 174 } 174 175 175 176 IUnknown* QUARTZ_CompList_GetItemPtr( QUARTZ_CompListItem* pItem ) 176 177 { 177 178 return pItem->punk; 178 179 } -
trunk/src/quartz/fgraph.c
r6578 r6649 1 /* $Id: fgraph.c,v 1.3 2001-09-05 13:36:34 bird Exp $ */ 1 2 /* 2 3 * Implementation of CLSID_FilterGraph. … … 43 44 HRESULT QUARTZ_CreateFilterGraph(IUnknown* punkOuter,void** ppobj) 44 45 { 45 CFilterGraph*pfg;46 CFilterGraph* pfg; 46 47 47 48 TRACE("(%p,%p)\n",punkOuter,ppobj); 48 49 49 50 51 50 pfg = (CFilterGraph*)QUARTZ_AllocObj( sizeof(CFilterGraph) ); 51 if ( pfg == NULL ) 52 return E_OUTOFMEMORY; 52 53 53 54 55 56 57 58 59 60 61 54 QUARTZ_IUnkInit( &pfg->unk, punkOuter ); 55 CFilterGraph_InitIFilterGraph2( pfg ); 56 CFilterGraph_InitIMediaControl( pfg ); 57 CFilterGraph_InitIMediaEventEx( pfg ); 58 CFilterGraph_InitIMediaPosition( pfg ); 59 CFilterGraph_InitIMediaSeeking( pfg ); 60 CFilterGraph_InitIBasicVideo2( pfg ); 61 CFilterGraph_InitIBasicAudio( pfg ); 62 CFilterGraph_InitIVideoWindow( pfg ); 62 63 63 64 64 pfg->unk.pEntries = IFEntries; 65 pfg->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]); 65 66 66 67 *ppobj = (void*)(&pfg->unk); 67 68 68 69 return S_OK; 69 70 } -
trunk/src/quartz/guid.c
r6578 r6649 1 /* $Id: guid.c,v 1.3 2001-09-05 13:36:35 bird Exp $ */ 1 2 // This causes all the DEFINE_GUID macros to instantiate their GUID's 2 3 #define INITGUID -
trunk/src/quartz/ibasaud.c
r6578 r6649 1 /* $Id: ibasaud.c,v 1.2 2001-09-05 13:36:35 bird Exp $ */ 1 2 /* 2 3 * Implementation of IBasicAudio for FilterGraph. … … 30 31 IBasicAudio_fnQueryInterface(IBasicAudio* iface,REFIID riid,void** ppobj) 31 32 { 32 33 CFilterGraph_THIS(iface,basaud); 33 34 34 35 TRACE("(%p)->()\n",This); 35 36 36 37 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 37 38 } 38 39 … … 40 41 IBasicAudio_fnAddRef(IBasicAudio* iface) 41 42 { 42 43 CFilterGraph_THIS(iface,basaud); 43 44 44 45 TRACE("(%p)->()\n",This); 45 46 46 47 return IUnknown_AddRef(This->unk.punkControl); 47 48 } 48 49 … … 50 51 IBasicAudio_fnRelease(IBasicAudio* iface) 51 52 { 52 53 CFilterGraph_THIS(iface,basaud); 53 54 54 55 TRACE("(%p)->()\n",This); 55 56 56 57 return IUnknown_Release(This->unk.punkControl); 57 58 } 58 59 … … 60 61 IBasicAudio_fnGetTypeInfoCount(IBasicAudio* iface,UINT* pcTypeInfo) 61 62 { 62 63 CFilterGraph_THIS(iface,basaud); 63 64 64 65 FIXME("(%p)->()\n",This); 65 66 66 67 return E_NOTIMPL; 67 68 } 68 69 … … 70 71 IBasicAudio_fnGetTypeInfo(IBasicAudio* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj) 71 72 { 72 73 CFilterGraph_THIS(iface,basaud); 73 74 74 75 FIXME("(%p)->()\n",This); 75 76 76 77 return E_NOTIMPL; 77 78 } 78 79 … … 80 81 IBasicAudio_fnGetIDsOfNames(IBasicAudio* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId) 81 82 { 82 83 CFilterGraph_THIS(iface,basaud); 83 84 84 85 FIXME("(%p)->()\n",This); 85 86 86 87 return E_NOTIMPL; 87 88 } 88 89 … … 90 91 IBasicAudio_fnInvoke(IBasicAudio* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr) 91 92 { 92 93 CFilterGraph_THIS(iface,basaud); 93 94 94 95 FIXME("(%p)->()\n",This); 95 96 96 97 return E_NOTIMPL; 97 98 } 98 99 … … 101 102 IBasicAudio_fnput_Volume(IBasicAudio* iface,long lVol) 102 103 { 103 104 CFilterGraph_THIS(iface,basaud); 104 105 105 106 FIXME("(%p)->()\n",This); 106 107 107 108 return E_NOTIMPL; 108 109 } 109 110 … … 111 112 IBasicAudio_fnget_Volume(IBasicAudio* iface,long* plVol) 112 113 { 113 114 CFilterGraph_THIS(iface,basaud); 114 115 115 116 FIXME("(%p)->()\n",This); 116 117 117 118 return E_NOTIMPL; 118 119 } 119 120 … … 121 122 IBasicAudio_fnput_Balance(IBasicAudio* iface,long lBalance) 122 123 { 123 124 CFilterGraph_THIS(iface,basaud); 124 125 125 126 FIXME("(%p)->()\n",This); 126 127 127 128 return E_NOTIMPL; 128 129 } 129 130 … … 131 132 IBasicAudio_fnget_Balance(IBasicAudio* iface,long* plBalance) 132 133 { 133 134 CFilterGraph_THIS(iface,basaud); 134 135 135 136 FIXME("(%p)->()\n",This); 136 137 137 138 return E_NOTIMPL; 138 139 } 139 140 … … 141 142 static ICOM_VTABLE(IBasicAudio) ibasicaudio = 142 143 { 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 144 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 145 /* IUnknown fields */ 146 IBasicAudio_fnQueryInterface, 147 IBasicAudio_fnAddRef, 148 IBasicAudio_fnRelease, 149 /* IDispatch fields */ 150 IBasicAudio_fnGetTypeInfoCount, 151 IBasicAudio_fnGetTypeInfo, 152 IBasicAudio_fnGetIDsOfNames, 153 IBasicAudio_fnInvoke, 154 /* IBasicAudio fields */ 155 IBasicAudio_fnput_Volume, 156 IBasicAudio_fnget_Volume, 157 IBasicAudio_fnput_Balance, 158 IBasicAudio_fnget_Balance, 158 159 }; 159 160 … … 161 162 void CFilterGraph_InitIBasicAudio( CFilterGraph* pfg ) 162 163 { 163 164 164 TRACE("(%p)\n",pfg); 165 ICOM_VTBL(&pfg->basaud) = &ibasicaudio; 165 166 } 166 167 -
trunk/src/quartz/ibasvid.c
r6578 r6649 1 /* $Id: ibasvid.c,v 1.2 2001-09-05 13:36:35 bird Exp $ */ 1 2 /* 2 3 * Implementation of IBasicVideo2 for FilterGraph. … … 29 30 IBasicVideo2_fnQueryInterface(IBasicVideo2* iface,REFIID riid,void** ppobj) 30 31 { 31 32 33 34 35 32 CFilterGraph_THIS(iface,basvid); 33 34 TRACE("(%p)->()\n",This); 35 36 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 36 37 } 37 38 … … 39 40 IBasicVideo2_fnAddRef(IBasicVideo2* iface) 40 41 { 41 42 43 44 45 42 CFilterGraph_THIS(iface,basvid); 43 44 TRACE("(%p)->()\n",This); 45 46 return IUnknown_AddRef(This->unk.punkControl); 46 47 } 47 48 … … 49 50 IBasicVideo2_fnRelease(IBasicVideo2* iface) 50 51 { 51 52 53 54 55 52 CFilterGraph_THIS(iface,basvid); 53 54 TRACE("(%p)->()\n",This); 55 56 return IUnknown_Release(This->unk.punkControl); 56 57 } 57 58 … … 59 60 IBasicVideo2_fnGetTypeInfoCount(IBasicVideo2* iface,UINT* pcTypeInfo) 60 61 { 61 62 63 64 65 62 CFilterGraph_THIS(iface,basvid); 63 64 FIXME("(%p)->()\n",This); 65 66 return E_NOTIMPL; 66 67 } 67 68 … … 69 70 IBasicVideo2_fnGetTypeInfo(IBasicVideo2* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj) 70 71 { 71 72 73 74 75 72 CFilterGraph_THIS(iface,basvid); 73 74 FIXME("(%p)->()\n",This); 75 76 return E_NOTIMPL; 76 77 } 77 78 … … 79 80 IBasicVideo2_fnGetIDsOfNames(IBasicVideo2* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId) 80 81 { 81 82 83 84 85 82 CFilterGraph_THIS(iface,basvid); 83 84 FIXME("(%p)->()\n",This); 85 86 return E_NOTIMPL; 86 87 } 87 88 … … 89 90 IBasicVideo2_fnInvoke(IBasicVideo2* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr) 90 91 { 91 92 93 94 95 92 CFilterGraph_THIS(iface,basvid); 93 94 FIXME("(%p)->()\n",This); 95 96 return E_NOTIMPL; 96 97 } 97 98 … … 100 101 IBasicVideo2_fnget_AvgTimePerFrame(IBasicVideo2* iface,REFTIME* prefTime) 101 102 { 102 103 104 105 106 103 CFilterGraph_THIS(iface,basvid); 104 105 FIXME("(%p)->()\n",This); 106 107 return E_NOTIMPL; 107 108 } 108 109 … … 110 111 IBasicVideo2_fnget_BitRate(IBasicVideo2* iface,long* plRate) 111 112 { 112 113 114 115 116 113 CFilterGraph_THIS(iface,basvid); 114 115 FIXME("(%p)->()\n",This); 116 117 return E_NOTIMPL; 117 118 } 118 119 … … 120 121 IBasicVideo2_fnget_BitErrorRate(IBasicVideo2* iface,long* plRate) 121 122 { 122 123 124 125 126 123 CFilterGraph_THIS(iface,basvid); 124 125 FIXME("(%p)->()\n",This); 126 127 return E_NOTIMPL; 127 128 } 128 129 … … 130 131 IBasicVideo2_fnget_VideoWidth(IBasicVideo2* iface,long* plWidth) 131 132 { 132 133 134 135 136 133 CFilterGraph_THIS(iface,basvid); 134 135 FIXME("(%p)->()\n",This); 136 137 return E_NOTIMPL; 137 138 } 138 139 … … 140 141 IBasicVideo2_fnget_VideoHeight(IBasicVideo2* iface,long* plHeight) 141 142 { 142 143 144 145 146 143 CFilterGraph_THIS(iface,basvid); 144 145 FIXME("(%p)->()\n",This); 146 147 return E_NOTIMPL; 147 148 } 148 149 … … 150 151 IBasicVideo2_fnput_SourceLeft(IBasicVideo2* iface,long lLeft) 151 152 { 152 153 154 155 156 153 CFilterGraph_THIS(iface,basvid); 154 155 FIXME("(%p)->()\n",This); 156 157 return E_NOTIMPL; 157 158 } 158 159 … … 160 161 IBasicVideo2_fnget_SourceLeft(IBasicVideo2* iface,long* plLeft) 161 162 { 162 163 164 165 166 163 CFilterGraph_THIS(iface,basvid); 164 165 FIXME("(%p)->()\n",This); 166 167 return E_NOTIMPL; 167 168 } 168 169 … … 170 171 IBasicVideo2_fnput_SourceWidth(IBasicVideo2* iface,long lWidth) 171 172 { 172 173 174 175 176 173 CFilterGraph_THIS(iface,basvid); 174 175 FIXME("(%p)->()\n",This); 176 177 return E_NOTIMPL; 177 178 } 178 179 … … 180 181 IBasicVideo2_fnget_SourceWidth(IBasicVideo2* iface,long* plWidth) 181 182 { 182 183 184 185 186 183 CFilterGraph_THIS(iface,basvid); 184 185 FIXME("(%p)->()\n",This); 186 187 return E_NOTIMPL; 187 188 } 188 189 … … 190 191 IBasicVideo2_fnput_SourceTop(IBasicVideo2* iface,long lTop) 191 192 { 192 193 194 195 196 193 CFilterGraph_THIS(iface,basvid); 194 195 FIXME("(%p)->()\n",This); 196 197 return E_NOTIMPL; 197 198 } 198 199 … … 200 201 IBasicVideo2_fnget_SourceTop(IBasicVideo2* iface,long* plTop) 201 202 { 202 203 204 205 206 203 CFilterGraph_THIS(iface,basvid); 204 205 FIXME("(%p)->()\n",This); 206 207 return E_NOTIMPL; 207 208 } 208 209 … … 210 211 IBasicVideo2_fnput_SourceHeight(IBasicVideo2* iface,long lHeight) 211 212 { 212 213 214 215 216 213 CFilterGraph_THIS(iface,basvid); 214 215 FIXME("(%p)->()\n",This); 216 217 return E_NOTIMPL; 217 218 } 218 219 … … 220 221 IBasicVideo2_fnget_SourceHeight(IBasicVideo2* iface,long* plHeight) 221 222 { 222 223 224 225 226 223 CFilterGraph_THIS(iface,basvid); 224 225 FIXME("(%p)->()\n",This); 226 227 return E_NOTIMPL; 227 228 } 228 229 … … 230 231 IBasicVideo2_fnput_DestinationLeft(IBasicVideo2* iface,long lLeft) 231 232 { 232 233 234 235 236 233 CFilterGraph_THIS(iface,basvid); 234 235 FIXME("(%p)->()\n",This); 236 237 return E_NOTIMPL; 237 238 } 238 239 … … 240 241 IBasicVideo2_fnget_DestinationLeft(IBasicVideo2* iface,long* plLeft) 241 242 { 242 243 244 245 246 243 CFilterGraph_THIS(iface,basvid); 244 245 FIXME("(%p)->()\n",This); 246 247 return E_NOTIMPL; 247 248 } 248 249 … … 250 251 IBasicVideo2_fnput_DestinationWidth(IBasicVideo2* iface,long lWidth) 251 252 { 252 253 254 255 256 253 CFilterGraph_THIS(iface,basvid); 254 255 FIXME("(%p)->()\n",This); 256 257 return E_NOTIMPL; 257 258 } 258 259 … … 260 261 IBasicVideo2_fnget_DestinationWidth(IBasicVideo2* iface,long* plWidth) 261 262 { 262 263 264 265 266 263 CFilterGraph_THIS(iface,basvid); 264 265 FIXME("(%p)->()\n",This); 266 267 return E_NOTIMPL; 267 268 } 268 269 … … 270 271 IBasicVideo2_fnput_DestinationTop(IBasicVideo2* iface,long lTop) 271 272 { 272 273 274 275 276 273 CFilterGraph_THIS(iface,basvid); 274 275 FIXME("(%p)->()\n",This); 276 277 return E_NOTIMPL; 277 278 } 278 279 … … 280 281 IBasicVideo2_fnget_DestinationTop(IBasicVideo2* iface,long* plTop) 281 282 { 282 283 284 285 286 283 CFilterGraph_THIS(iface,basvid); 284 285 FIXME("(%p)->()\n",This); 286 287 return E_NOTIMPL; 287 288 } 288 289 … … 290 291 IBasicVideo2_fnput_DestinationHeight(IBasicVideo2* iface,long lHeight) 291 292 { 292 293 294 295 296 293 CFilterGraph_THIS(iface,basvid); 294 295 FIXME("(%p)->()\n",This); 296 297 return E_NOTIMPL; 297 298 } 298 299 … … 300 301 IBasicVideo2_fnget_DestinationHeight(IBasicVideo2* iface,long* plHeight) 301 302 { 302 303 304 305 306 303 CFilterGraph_THIS(iface,basvid); 304 305 FIXME("(%p)->()\n",This); 306 307 return E_NOTIMPL; 307 308 } 308 309 … … 310 311 IBasicVideo2_fnSetSourcePosition(IBasicVideo2* iface,long lLeft,long lTop,long lWidth,long lHeight) 311 312 { 312 313 314 315 316 313 CFilterGraph_THIS(iface,basvid); 314 315 FIXME("(%p)->()\n",This); 316 317 return E_NOTIMPL; 317 318 } 318 319 … … 320 321 IBasicVideo2_fnGetSourcePosition(IBasicVideo2* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight) 321 322 { 322 323 324 325 326 323 CFilterGraph_THIS(iface,basvid); 324 325 FIXME("(%p)->()\n",This); 326 327 return E_NOTIMPL; 327 328 } 328 329 … … 330 331 IBasicVideo2_fnSetDefaultSourcePosition(IBasicVideo2* iface) 331 332 { 332 333 334 335 336 333 CFilterGraph_THIS(iface,basvid); 334 335 FIXME("(%p)->()\n",This); 336 337 return E_NOTIMPL; 337 338 } 338 339 … … 340 341 IBasicVideo2_fnSetDestinationPosition(IBasicVideo2* iface,long lLeft,long lTop,long lWidth,long lHeight) 341 342 { 342 343 344 345 346 343 CFilterGraph_THIS(iface,basvid); 344 345 FIXME("(%p)->()\n",This); 346 347 return E_NOTIMPL; 347 348 } 348 349 … … 350 351 IBasicVideo2_fnGetDestinationPosition(IBasicVideo2* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight) 351 352 { 352 353 354 355 356 353 CFilterGraph_THIS(iface,basvid); 354 355 FIXME("(%p)->()\n",This); 356 357 return E_NOTIMPL; 357 358 } 358 359 … … 360 361 IBasicVideo2_fnSetDefaultDestinationPosition(IBasicVideo2* iface) 361 362 { 362 363 364 365 366 363 CFilterGraph_THIS(iface,basvid); 364 365 FIXME("(%p)->()\n",This); 366 367 return E_NOTIMPL; 367 368 } 368 369 … … 370 371 IBasicVideo2_fnGetVideoSize(IBasicVideo2* iface,long* plWidth,long* plHeight) 371 372 { 372 373 374 375 376 373 CFilterGraph_THIS(iface,basvid); 374 375 FIXME("(%p)->()\n",This); 376 377 return E_NOTIMPL; 377 378 } 378 379 … … 380 381 IBasicVideo2_fnGetVideoPaletteEntries(IBasicVideo2* iface,long lStart,long lCount,long* plRet,long* plPaletteEntry) 381 382 { 382 383 384 385 386 383 CFilterGraph_THIS(iface,basvid); 384 385 FIXME("(%p)->()\n",This); 386 387 return E_NOTIMPL; 387 388 } 388 389 … … 390 391 IBasicVideo2_fnGetCurrentImage(IBasicVideo2* iface,long* plBufferSize,long* plDIBBuffer) 391 392 { 392 393 394 395 396 393 CFilterGraph_THIS(iface,basvid); 394 395 FIXME("(%p)->()\n",This); 396 397 return E_NOTIMPL; 397 398 } 398 399 … … 400 401 IBasicVideo2_fnIsUsingDefaultSource(IBasicVideo2* iface) 401 402 { 402 403 404 405 406 403 CFilterGraph_THIS(iface,basvid); 404 405 FIXME("(%p)->()\n",This); 406 407 return E_NOTIMPL; 407 408 } 408 409 … … 410 411 IBasicVideo2_fnIsUsingDefaultDestination(IBasicVideo2* iface) 411 412 { 412 413 414 415 416 413 CFilterGraph_THIS(iface,basvid); 414 415 FIXME("(%p)->()\n",This); 416 417 return E_NOTIMPL; 417 418 } 418 419 … … 420 421 IBasicVideo2_fnGetPreferredAspectRatio(IBasicVideo2* iface,long* plRateX,long* plRateY) 421 422 { 422 423 424 425 426 423 CFilterGraph_THIS(iface,basvid); 424 425 FIXME("(%p)->()\n",This); 426 427 return E_NOTIMPL; 427 428 } 428 429 … … 432 433 static ICOM_VTABLE(IBasicVideo2) ibasicvideo = 433 434 { 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 435 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 436 /* IUnknown fields */ 437 IBasicVideo2_fnQueryInterface, 438 IBasicVideo2_fnAddRef, 439 IBasicVideo2_fnRelease, 440 /* IDispatch fields */ 441 IBasicVideo2_fnGetTypeInfoCount, 442 IBasicVideo2_fnGetTypeInfo, 443 IBasicVideo2_fnGetIDsOfNames, 444 IBasicVideo2_fnInvoke, 445 /* IBasicVideo fields */ 446 IBasicVideo2_fnget_AvgTimePerFrame, 447 IBasicVideo2_fnget_BitRate, 448 IBasicVideo2_fnget_BitErrorRate, 449 IBasicVideo2_fnget_VideoWidth, 450 IBasicVideo2_fnget_VideoHeight, 451 IBasicVideo2_fnput_SourceLeft, 452 IBasicVideo2_fnget_SourceLeft, 453 IBasicVideo2_fnput_SourceWidth, 454 IBasicVideo2_fnget_SourceWidth, 455 IBasicVideo2_fnput_SourceTop, 456 IBasicVideo2_fnget_SourceTop, 457 IBasicVideo2_fnput_SourceHeight, 458 IBasicVideo2_fnget_SourceHeight, 459 IBasicVideo2_fnput_DestinationLeft, 460 IBasicVideo2_fnget_DestinationLeft, 461 IBasicVideo2_fnput_DestinationWidth, 462 IBasicVideo2_fnget_DestinationWidth, 463 IBasicVideo2_fnput_DestinationTop, 464 IBasicVideo2_fnget_DestinationTop, 465 IBasicVideo2_fnput_DestinationHeight, 466 IBasicVideo2_fnget_DestinationHeight, 467 IBasicVideo2_fnSetSourcePosition, 468 IBasicVideo2_fnGetSourcePosition, 469 IBasicVideo2_fnSetDefaultSourcePosition, 470 IBasicVideo2_fnSetDestinationPosition, 471 IBasicVideo2_fnGetDestinationPosition, 472 IBasicVideo2_fnSetDefaultDestinationPosition, 473 IBasicVideo2_fnGetVideoSize, 474 IBasicVideo2_fnGetVideoPaletteEntries, 475 IBasicVideo2_fnGetCurrentImage, 476 IBasicVideo2_fnIsUsingDefaultSource, 477 IBasicVideo2_fnIsUsingDefaultDestination, 478 /* IBasicVideo2 fields */ 479 IBasicVideo2_fnGetPreferredAspectRatio, 479 480 }; 480 481 … … 482 483 void CFilterGraph_InitIBasicVideo2( CFilterGraph* pfg ) 483 484 { 484 485 486 } 487 485 TRACE("(%p)\n",pfg); 486 ICOM_VTBL(&pfg->basvid) = &ibasicvideo; 487 } 488 -
trunk/src/quartz/ifgraph.c
r6578 r6649 1 /* $Id: ifgraph.c,v 1.3 2001-09-05 13:36:35 bird Exp $ */ 1 2 /* 2 3 * Implementation of IFilterGraph. … … 29 30 IFilterGraph2_fnQueryInterface(IFilterGraph2* iface,REFIID riid,void** ppobj) 30 31 { 31 32 33 34 35 32 CFilterGraph_THIS(iface,fgraph); 33 34 TRACE("(%p)->()\n",This); 35 36 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 36 37 } 37 38 … … 39 40 IFilterGraph2_fnAddRef(IFilterGraph2* iface) 40 41 { 41 42 43 44 45 42 CFilterGraph_THIS(iface,fgraph); 43 44 TRACE("(%p)->()\n",This); 45 46 return IUnknown_AddRef(This->unk.punkControl); 46 47 } 47 48 … … 49 50 IFilterGraph2_fnRelease(IFilterGraph2* iface) 50 51 { 51 52 53 54 55 52 CFilterGraph_THIS(iface,fgraph); 53 54 TRACE("(%p)->()\n",This); 55 56 return IUnknown_Release(This->unk.punkControl); 56 57 } 57 58 … … 59 60 IFilterGraph2_fnAddFilter(IFilterGraph2* iface,IBaseFilter* pFilter, LPCWSTR pName) 60 61 { 61 62 63 64 62 CFilterGraph_THIS(iface,fgraph); 63 64 FIXME( "(%p)->() stub!\n", This ); 65 return E_NOTIMPL; 65 66 } 66 67 … … 68 69 IFilterGraph2_fnRemoveFilter(IFilterGraph2* iface,IBaseFilter* pFilter) 69 70 { 70 71 72 73 71 CFilterGraph_THIS(iface,fgraph); 72 73 FIXME( "(%p)->() stub!\n", This ); 74 return E_NOTIMPL; 74 75 } 75 76 … … 77 78 IFilterGraph2_fnEnumFilters(IFilterGraph2* iface,IEnumFilters** ppEnum) 78 79 { 79 80 81 82 80 CFilterGraph_THIS(iface,fgraph); 81 82 FIXME( "(%p)->() stub!\n", This ); 83 return E_NOTIMPL; 83 84 } 84 85 … … 86 87 IFilterGraph2_fnFindFilterByName(IFilterGraph2* iface,LPCWSTR pName,IBaseFilter** ppFilter) 87 88 { 88 89 90 91 89 CFilterGraph_THIS(iface,fgraph); 90 91 FIXME( "(%p)->() stub!\n", This ); 92 return E_NOTIMPL; 92 93 } 93 94 … … 95 96 IFilterGraph2_fnConnectDirect(IFilterGraph2* iface,IPin* pOut,IPin* pIn,const AM_MEDIA_TYPE* pmt) 96 97 { 97 98 99 100 98 CFilterGraph_THIS(iface,fgraph); 99 100 FIXME( "(%p)->() stub!\n", This ); 101 return E_NOTIMPL; 101 102 } 102 103 … … 104 105 IFilterGraph2_fnReconnect(IFilterGraph2* iface,IPin* pPin) 105 106 { 106 107 108 109 107 CFilterGraph_THIS(iface,fgraph); 108 109 FIXME( "(%p)->() stub!\n", This ); 110 return E_NOTIMPL; 110 111 } 111 112 … … 113 114 IFilterGraph2_fnDisconnect(IFilterGraph2* iface,IPin* pPin) 114 115 { 115 116 117 118 116 CFilterGraph_THIS(iface,fgraph); 117 118 FIXME( "(%p)->() stub!\n", This ); 119 return E_NOTIMPL; 119 120 } 120 121 … … 122 123 IFilterGraph2_fnSetDefaultSyncSource(IFilterGraph2* iface) 123 124 { 124 125 126 127 125 CFilterGraph_THIS(iface,fgraph); 126 127 FIXME( "(%p)->() stub!\n", This ); 128 return E_NOTIMPL; 128 129 } 129 130 … … 131 132 IFilterGraph2_fnConnect(IFilterGraph2* iface,IPin* pOut,IPin* pIn) 132 133 { 133 134 135 136 134 CFilterGraph_THIS(iface,fgraph); 135 136 FIXME( "(%p)->() stub!\n", This ); 137 return E_NOTIMPL; 137 138 } 138 139 … … 140 141 IFilterGraph2_fnRender(IFilterGraph2* iface,IPin* pOut) 141 142 { 142 143 144 145 143 CFilterGraph_THIS(iface,fgraph); 144 145 FIXME( "(%p)->() stub!\n", This ); 146 return E_NOTIMPL; 146 147 } 147 148 … … 149 150 IFilterGraph2_fnRenderFile(IFilterGraph2* iface,LPCWSTR lpFileName,LPCWSTR lpPlayList) 150 151 { 151 152 153 154 152 CFilterGraph_THIS(iface,fgraph); 153 154 FIXME( "(%p)->() stub!\n", This ); 155 return E_NOTIMPL; 155 156 } 156 157 … … 158 159 IFilterGraph2_fnAddSourceFilter(IFilterGraph2* iface,LPCWSTR lpFileName,LPCWSTR lpFilterName,IBaseFilter** ppBaseFilter) 159 160 { 160 161 162 163 161 CFilterGraph_THIS(iface,fgraph); 162 163 FIXME( "(%p)->() stub!\n", This ); 164 return E_NOTIMPL; 164 165 } 165 166 … … 167 168 IFilterGraph2_fnSetLogFile(IFilterGraph2* iface,DWORD_PTR hFile) 168 169 { 169 170 171 172 170 CFilterGraph_THIS(iface,fgraph); 171 172 FIXME( "(%p)->() stub!\n", This ); 173 return E_NOTIMPL; 173 174 } 174 175 … … 176 177 IFilterGraph2_fnAbort(IFilterGraph2* iface) 177 178 { 178 179 180 181 182 183 179 CFilterGraph_THIS(iface,fgraph); 180 181 /* undoc. */ 182 183 FIXME( "(%p)->() stub!\n", This ); 184 return E_NOTIMPL; 184 185 } 185 186 … … 187 188 IFilterGraph2_fnShouldOperationContinue(IFilterGraph2* iface) 188 189 { 189 190 191 192 193 194 190 CFilterGraph_THIS(iface,fgraph); 191 192 /* undoc. */ 193 194 FIXME( "(%p)->() stub!\n", This ); 195 return E_NOTIMPL; 195 196 } 196 197 … … 198 199 IFilterGraph2_fnAddSourceFilterForMoniker(IFilterGraph2* iface,IMoniker* pMon,IBindCtx* pCtx,LPCWSTR pFilterName,IBaseFilter** ppFilter) 199 200 { 200 201 202 203 201 CFilterGraph_THIS(iface,fgraph); 202 203 FIXME( "(%p)->() stub!\n", This ); 204 return E_NOTIMPL; 204 205 } 205 206 … … 207 208 IFilterGraph2_fnReconnectEx(IFilterGraph2* iface,IPin* pPin,const AM_MEDIA_TYPE* pmt) 208 209 { 209 210 211 212 210 CFilterGraph_THIS(iface,fgraph); 211 212 FIXME( "(%p)->() stub!\n", This ); 213 return E_NOTIMPL; 213 214 } 214 215 … … 216 217 IFilterGraph2_fnRenderEx(IFilterGraph2* iface,IPin* pPin,DWORD dwParam1,DWORD* pdwParam2) 217 218 { 218 219 220 221 222 219 CFilterGraph_THIS(iface,fgraph); 220 221 /* undoc. */ 222 FIXME( "(%p)->() stub!\n", This ); 223 return E_NOTIMPL; 223 224 } 224 225 … … 228 229 static ICOM_VTABLE(IFilterGraph2) ifgraph = 229 230 { 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 231 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 232 /* IUnknown fields */ 233 IFilterGraph2_fnQueryInterface, 234 IFilterGraph2_fnAddRef, 235 IFilterGraph2_fnRelease, 236 /* IFilterGraph fields */ 237 IFilterGraph2_fnAddFilter, 238 IFilterGraph2_fnRemoveFilter, 239 IFilterGraph2_fnEnumFilters, 240 IFilterGraph2_fnFindFilterByName, 241 IFilterGraph2_fnConnectDirect, 242 IFilterGraph2_fnReconnect, 243 IFilterGraph2_fnDisconnect, 244 IFilterGraph2_fnSetDefaultSyncSource, 245 /* IGraphBuilder fields */ 246 IFilterGraph2_fnConnect, 247 IFilterGraph2_fnRender, 248 IFilterGraph2_fnRenderFile, 249 IFilterGraph2_fnAddSourceFilter, 250 IFilterGraph2_fnSetLogFile, 251 IFilterGraph2_fnAbort, 252 IFilterGraph2_fnShouldOperationContinue, 253 /* IFilterGraph2 fields */ 254 IFilterGraph2_fnAddSourceFilterForMoniker, 255 IFilterGraph2_fnReconnectEx, 256 IFilterGraph2_fnRenderEx, 256 257 }; 257 258 258 259 void CFilterGraph_InitIFilterGraph2( CFilterGraph* pfg ) 259 260 { 260 261 262 } 261 TRACE("(%p)\n",pfg); 262 ICOM_VTBL(&pfg->fgraph) = &ifgraph; 263 } -
trunk/src/quartz/imcntl.c
r6578 r6649 1 /* $Id: imcntl.c,v 1.2 2001-09-05 13:36:35 bird Exp $ */ 1 2 /* 2 3 * Implementation of IMediaControl for FilterGraph. … … 30 31 IMediaControl_fnQueryInterface(IMediaControl* iface,REFIID riid,void** ppobj) 31 32 { 32 33 34 35 36 33 CFilterGraph_THIS(iface,mediacontrol); 34 35 TRACE("(%p)->()\n",This); 36 37 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 37 38 } 38 39 … … 40 41 IMediaControl_fnAddRef(IMediaControl* iface) 41 42 { 42 43 44 45 46 43 CFilterGraph_THIS(iface,mediacontrol); 44 45 TRACE("(%p)->()\n",This); 46 47 return IUnknown_AddRef(This->unk.punkControl); 47 48 } 48 49 … … 50 51 IMediaControl_fnRelease(IMediaControl* iface) 51 52 { 52 53 54 55 56 53 CFilterGraph_THIS(iface,mediacontrol); 54 55 TRACE("(%p)->()\n",This); 56 57 return IUnknown_Release(This->unk.punkControl); 57 58 } 58 59 … … 60 61 IMediaControl_fnGetTypeInfoCount(IMediaControl* iface,UINT* pcTypeInfo) 61 62 { 62 63 64 65 66 63 CFilterGraph_THIS(iface,mediacontrol); 64 65 FIXME("(%p)->()\n",This); 66 67 return E_NOTIMPL; 67 68 } 68 69 … … 70 71 IMediaControl_fnGetTypeInfo(IMediaControl* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj) 71 72 { 72 73 74 75 76 73 CFilterGraph_THIS(iface,mediacontrol); 74 75 FIXME("(%p)->()\n",This); 76 77 return E_NOTIMPL; 77 78 } 78 79 … … 80 81 IMediaControl_fnGetIDsOfNames(IMediaControl* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId) 81 82 { 82 83 84 85 86 83 CFilterGraph_THIS(iface,mediacontrol); 84 85 FIXME("(%p)->()\n",This); 86 87 return E_NOTIMPL; 87 88 } 88 89 … … 90 91 IMediaControl_fnInvoke(IMediaControl* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr) 91 92 { 92 93 94 95 96 93 CFilterGraph_THIS(iface,mediacontrol); 94 95 FIXME("(%p)->()\n",This); 96 97 return E_NOTIMPL; 97 98 } 98 99 … … 101 102 IMediaControl_fnRun(IMediaControl* iface) 102 103 { 103 104 105 106 107 104 CFilterGraph_THIS(iface,mediacontrol); 105 106 FIXME("(%p)->()\n",This); 107 108 return E_NOTIMPL; 108 109 } 109 110 … … 111 112 IMediaControl_fnPause(IMediaControl* iface) 112 113 { 113 114 115 116 117 114 CFilterGraph_THIS(iface,mediacontrol); 115 116 FIXME("(%p)->()\n",This); 117 118 return E_NOTIMPL; 118 119 } 119 120 … … 121 122 IMediaControl_fnStop(IMediaControl* iface) 122 123 { 123 124 125 126 127 124 CFilterGraph_THIS(iface,mediacontrol); 125 126 FIXME("(%p)->()\n",This); 127 128 return E_NOTIMPL; 128 129 } 129 130 … … 131 132 IMediaControl_fnGetState(IMediaControl* iface,LONG lTimeOut,OAFilterState* pFilterState) 132 133 { 133 134 135 136 137 134 CFilterGraph_THIS(iface,mediacontrol); 135 136 FIXME("(%p)->()\n",This); 137 138 return E_NOTIMPL; 138 139 } 139 140 … … 141 142 IMediaControl_fnRenderFile(IMediaControl* iface,BSTR bstrFileName) 142 143 { 143 144 145 146 147 144 CFilterGraph_THIS(iface,mediacontrol); 145 146 FIXME("(%p)->()\n",This); 147 148 return E_NOTIMPL; 148 149 } 149 150 … … 151 152 IMediaControl_fnAddSourceFilter(IMediaControl* iface,BSTR bstrFileName,IDispatch** ppobj) 152 153 { 153 154 155 156 157 154 CFilterGraph_THIS(iface,mediacontrol); 155 156 FIXME("(%p)->()\n",This); 157 158 return E_NOTIMPL; 158 159 } 159 160 … … 161 162 IMediaControl_fnget_FilterCollection(IMediaControl* iface,IDispatch** ppobj) 162 163 { 163 164 165 166 167 164 CFilterGraph_THIS(iface,mediacontrol); 165 166 FIXME("(%p)->()\n",This); 167 168 return E_NOTIMPL; 168 169 } 169 170 … … 171 172 IMediaControl_fnget_RegFilterCollection(IMediaControl* iface,IDispatch** ppobj) 172 173 { 173 174 175 176 177 174 CFilterGraph_THIS(iface,mediacontrol); 175 176 FIXME("(%p)->()\n",This); 177 178 return E_NOTIMPL; 178 179 } 179 180 … … 181 182 IMediaControl_fnStopWhenReady(IMediaControl* iface) 182 183 { 183 184 185 186 187 184 CFilterGraph_THIS(iface,mediacontrol); 185 186 FIXME("(%p)->()\n",This); 187 188 return E_NOTIMPL; 188 189 } 189 190 … … 191 192 static ICOM_VTABLE(IMediaControl) imediacontrol = 192 193 { 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 194 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 195 /* IUnknown fields */ 196 IMediaControl_fnQueryInterface, 197 IMediaControl_fnAddRef, 198 IMediaControl_fnRelease, 199 /* IDispatch fields */ 200 IMediaControl_fnGetTypeInfoCount, 201 IMediaControl_fnGetTypeInfo, 202 IMediaControl_fnGetIDsOfNames, 203 IMediaControl_fnInvoke, 204 /* IMediaControl fields */ 205 IMediaControl_fnRun, 206 IMediaControl_fnPause, 207 IMediaControl_fnStop, 208 IMediaControl_fnGetState, 209 IMediaControl_fnRenderFile, 210 IMediaControl_fnAddSourceFilter, 211 IMediaControl_fnget_FilterCollection, 212 IMediaControl_fnget_RegFilterCollection, 213 IMediaControl_fnStopWhenReady, 213 214 }; 214 215 … … 216 217 void CFilterGraph_InitIMediaControl( CFilterGraph* pfg ) 217 218 { 218 219 220 } 219 TRACE("(%p)\n",pfg); 220 ICOM_VTBL(&pfg->mediacontrol) = &imediacontrol; 221 } -
trunk/src/quartz/imem.c
r6578 r6649 1 /* $Id: imem.c,v 1.3 2001-09-05 13:36:35 bird Exp $ */ 1 2 /* 2 3 * Implementation of CLSID_MemoryAllocator. … … 27 28 IMemAllocator_fnQueryInterface(IMemAllocator* iface,REFIID riid,void** ppobj) 28 29 { 29 30 CMemoryAllocator_THIS(iface,memalloc); 30 31 31 32 TRACE("(%p)->()\n",This); 32 33 33 34 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 34 35 } 35 36 … … 37 38 IMemAllocator_fnAddRef(IMemAllocator* iface) 38 39 { 39 40 CMemoryAllocator_THIS(iface,memalloc); 40 41 41 42 TRACE("(%p)->()\n",This); 42 43 43 44 return IUnknown_AddRef(This->unk.punkControl); 44 45 } 45 46 … … 47 48 IMemAllocator_fnRelease(IMemAllocator* iface) 48 49 { 49 50 CMemoryAllocator_THIS(iface,memalloc); 50 51 51 52 TRACE("(%p)->()\n",This); 52 53 53 54 return IUnknown_Release(This->unk.punkControl); 54 55 } 55 56 … … 57 58 IMemAllocator_fnSetProperties(IMemAllocator* iface,ALLOCATOR_PROPERTIES* pPropReq,ALLOCATOR_PROPERTIES* pPropActual) 58 59 { 59 60 CMemoryAllocator_THIS(iface,memalloc); 60 61 61 62 62 FIXME( "(%p)->() stub!\n", This ); 63 return E_NOTIMPL; 63 64 } 64 65 … … 66 67 IMemAllocator_fnGetProperties(IMemAllocator* iface,ALLOCATOR_PROPERTIES* pProp) 67 68 { 68 69 CMemoryAllocator_THIS(iface,memalloc); 69 70 70 71 71 FIXME( "(%p)->() stub!\n", This ); 72 return E_NOTIMPL; 72 73 } 73 74 … … 75 76 IMemAllocator_fnCommit(IMemAllocator* iface) 76 77 { 77 78 CMemoryAllocator_THIS(iface,memalloc); 78 79 79 80 80 FIXME( "(%p)->() stub!\n", This ); 81 return E_NOTIMPL; 81 82 } 82 83 … … 84 85 IMemAllocator_fnDecommit(IMemAllocator* iface) 85 86 { 86 87 CMemoryAllocator_THIS(iface,memalloc); 87 88 88 89 89 FIXME( "(%p)->() stub!\n", This ); 90 return E_NOTIMPL; 90 91 } 91 92 … … 93 94 IMemAllocator_fnGetBuffer(IMemAllocator* iface,IMediaSample** ppSample,REFERENCE_TIME* prtStart,REFERENCE_TIME* prtEnd,DWORD dwFlags) 94 95 { 95 96 CMemoryAllocator_THIS(iface,memalloc); 96 97 97 98 98 FIXME( "(%p)->() stub!\n", This ); 99 return E_NOTIMPL; 99 100 } 100 101 … … 102 103 IMemAllocator_fnReleaseBuffer(IMemAllocator* iface,IMediaSample* pSample) 103 104 { 104 105 CMemoryAllocator_THIS(iface,memalloc); 105 106 106 107 107 FIXME( "(%p)->() stub!\n", This ); 108 return E_NOTIMPL; 108 109 } 109 110 … … 112 113 static ICOM_VTABLE(IMemAllocator) imemalloc = 113 114 { 114 115 116 117 118 119 120 121 122 123 124 125 115 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 116 /* IUnknown fields */ 117 IMemAllocator_fnQueryInterface, 118 IMemAllocator_fnAddRef, 119 IMemAllocator_fnRelease, 120 /* IMemAllocator fields */ 121 IMemAllocator_fnSetProperties, 122 IMemAllocator_fnGetProperties, 123 IMemAllocator_fnCommit, 124 IMemAllocator_fnDecommit, 125 IMemAllocator_fnGetBuffer, 126 IMemAllocator_fnReleaseBuffer, 126 127 }; 127 128 … … 129 130 void CMemoryAllocator_InitIMemAllocator( CMemoryAllocator* pma ) 130 131 { 131 132 132 TRACE("(%p)\n",pma); 133 ICOM_VTBL(&pma->memalloc) = &imemalloc; 133 134 } -
trunk/src/quartz/imevent.c
r6578 r6649 1 /* $Id: imevent.c,v 1.2 2001-09-05 13:36:36 bird Exp $ */ 1 2 /* 2 3 * Implementation of IMediaEvent[Ex] for FilterGraph. … … 30 31 IMediaEventEx_fnQueryInterface(IMediaEventEx* iface,REFIID riid,void** ppobj) 31 32 { 32 33 34 35 36 33 CFilterGraph_THIS(iface,mediaevent); 34 35 TRACE("(%p)->()\n",This); 36 37 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 37 38 } 38 39 … … 40 41 IMediaEventEx_fnAddRef(IMediaEventEx* iface) 41 42 { 42 43 44 45 46 43 CFilterGraph_THIS(iface,mediaevent); 44 45 TRACE("(%p)->()\n",This); 46 47 return IUnknown_AddRef(This->unk.punkControl); 47 48 } 48 49 … … 50 51 IMediaEventEx_fnRelease(IMediaEventEx* iface) 51 52 { 52 53 54 55 56 53 CFilterGraph_THIS(iface,mediaevent); 54 55 TRACE("(%p)->()\n",This); 56 57 return IUnknown_Release(This->unk.punkControl); 57 58 } 58 59 … … 60 61 IMediaEventEx_fnGetTypeInfoCount(IMediaEventEx* iface,UINT* pcTypeInfo) 61 62 { 62 63 64 65 66 63 CFilterGraph_THIS(iface,mediaevent); 64 65 FIXME("(%p)->()\n",This); 66 67 return E_NOTIMPL; 67 68 } 68 69 … … 70 71 IMediaEventEx_fnGetTypeInfo(IMediaEventEx* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj) 71 72 { 72 73 74 75 76 73 CFilterGraph_THIS(iface,mediaevent); 74 75 FIXME("(%p)->()\n",This); 76 77 return E_NOTIMPL; 77 78 } 78 79 … … 80 81 IMediaEventEx_fnGetIDsOfNames(IMediaEventEx* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId) 81 82 { 82 83 84 85 86 83 CFilterGraph_THIS(iface,mediaevent); 84 85 FIXME("(%p)->()\n",This); 86 87 return E_NOTIMPL; 87 88 } 88 89 … … 90 91 IMediaEventEx_fnInvoke(IMediaEventEx* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr) 91 92 { 92 93 94 95 96 93 CFilterGraph_THIS(iface,mediaevent); 94 95 FIXME("(%p)->()\n",This); 96 97 return E_NOTIMPL; 97 98 } 98 99 … … 101 102 IMediaEventEx_fnGetEventHandle(IMediaEventEx* iface,OAEVENT* hEvent) 102 103 { 103 104 105 106 107 104 CFilterGraph_THIS(iface,mediaevent); 105 106 FIXME("(%p)->() stub!\n",This); 107 108 return E_NOTIMPL; 108 109 } 109 110 … … 111 112 IMediaEventEx_fnGetEvent(IMediaEventEx* iface,long* lEventCode,LONG_PTR* plParam1,LONG_PTR* plParam2,long lTimeOut) 112 113 { 113 114 115 116 117 114 CFilterGraph_THIS(iface,mediaevent); 115 116 FIXME("(%p)->() stub!\n",This); 117 118 return E_NOTIMPL; 118 119 } 119 120 … … 121 122 IMediaEventEx_fnWaitForCompletion(IMediaEventEx* iface,long lTimeOut,long* plEventCode) 122 123 { 123 124 125 126 127 124 CFilterGraph_THIS(iface,mediaevent); 125 126 FIXME("(%p)->() stub!\n",This); 127 128 return E_NOTIMPL; 128 129 } 129 130 … … 131 132 IMediaEventEx_fnCancelDefaultHandling(IMediaEventEx* iface,long lEventCode) 132 133 { 133 134 135 136 137 134 CFilterGraph_THIS(iface,mediaevent); 135 136 FIXME("(%p)->() stub!\n",This); 137 138 return E_NOTIMPL; 138 139 } 139 140 … … 141 142 IMediaEventEx_fnRestoreDefaultHandling(IMediaEventEx* iface,long lEventCode) 142 143 { 143 144 145 146 147 144 CFilterGraph_THIS(iface,mediaevent); 145 146 FIXME("(%p)->() stub!\n",This); 147 148 return E_NOTIMPL; 148 149 } 149 150 … … 151 152 IMediaEventEx_fnFreeEventParams(IMediaEventEx* iface,long lEventCode,LONG_PTR lParam1,LONG_PTR lParam2) 152 153 { 153 154 155 156 157 154 CFilterGraph_THIS(iface,mediaevent); 155 156 FIXME("(%p)->() stub!\n",This); 157 158 return E_NOTIMPL; 158 159 } 159 160 … … 161 162 IMediaEventEx_fnSetNotifyWindow(IMediaEventEx* iface,OAHWND hwnd,long message,LONG_PTR lParam) 162 163 { 163 164 165 166 167 164 CFilterGraph_THIS(iface,mediaevent); 165 166 FIXME("(%p)->() stub!\n",This); 167 168 return E_NOTIMPL; 168 169 } 169 170 … … 171 172 IMediaEventEx_fnSetNotifyFlags(IMediaEventEx* iface,long lNotifyFlags) 172 173 { 173 174 175 176 177 174 CFilterGraph_THIS(iface,mediaevent); 175 176 FIXME("(%p)->() stub!\n",This); 177 178 return E_NOTIMPL; 178 179 } 179 180 … … 181 182 IMediaEventEx_fnGetNotifyFlags(IMediaEventEx* iface,long* plNotifyFlags) 182 183 { 183 184 185 186 187 184 CFilterGraph_THIS(iface,mediaevent); 185 186 FIXME("(%p)->() stub!\n",This); 187 188 return E_NOTIMPL; 188 189 } 189 190 … … 192 193 static ICOM_VTABLE(IMediaEventEx) imediaevent = 193 194 { 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 195 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 196 /* IUnknown fields */ 197 IMediaEventEx_fnQueryInterface, 198 IMediaEventEx_fnAddRef, 199 IMediaEventEx_fnRelease, 200 /* IDispatch fields */ 201 IMediaEventEx_fnGetTypeInfoCount, 202 IMediaEventEx_fnGetTypeInfo, 203 IMediaEventEx_fnGetIDsOfNames, 204 IMediaEventEx_fnInvoke, 205 /* IMediaEvent fields */ 206 IMediaEventEx_fnGetEventHandle, 207 IMediaEventEx_fnGetEvent, 208 IMediaEventEx_fnWaitForCompletion, 209 IMediaEventEx_fnCancelDefaultHandling, 210 IMediaEventEx_fnRestoreDefaultHandling, 211 IMediaEventEx_fnFreeEventParams, 212 /* IMediaEventEx fields */ 213 IMediaEventEx_fnSetNotifyWindow, 214 IMediaEventEx_fnSetNotifyFlags, 215 IMediaEventEx_fnGetNotifyFlags, 215 216 }; 216 217 … … 218 219 void CFilterGraph_InitIMediaEventEx( CFilterGraph* pfg ) 219 220 { 220 221 222 } 221 TRACE("(%p)\n",pfg); 222 ICOM_VTBL(&pfg->mediaevent) = &imediaevent; 223 } -
trunk/src/quartz/impos.c
r6578 r6649 1 /* $Id: impos.c,v 1.2 2001-09-05 13:36:36 bird Exp $ */ 1 2 /* 2 3 * Implementation of IMediaPosition for FilterGraph. … … 29 30 IMediaPosition_fnQueryInterface(IMediaPosition* iface,REFIID riid,void** ppobj) 30 31 { 31 32 33 34 35 32 CFilterGraph_THIS(iface,mediaposition); 33 34 TRACE("(%p)->()\n",This); 35 36 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 36 37 } 37 38 … … 39 40 IMediaPosition_fnAddRef(IMediaPosition* iface) 40 41 { 41 42 43 44 45 42 CFilterGraph_THIS(iface,mediaposition); 43 44 TRACE("(%p)->()\n",This); 45 46 return IUnknown_AddRef(This->unk.punkControl); 46 47 } 47 48 … … 49 50 IMediaPosition_fnRelease(IMediaPosition* iface) 50 51 { 51 52 53 54 55 52 CFilterGraph_THIS(iface,mediaposition); 53 54 TRACE("(%p)->()\n",This); 55 56 return IUnknown_Release(This->unk.punkControl); 56 57 } 57 58 … … 59 60 IMediaPosition_fnGetTypeInfoCount(IMediaPosition* iface,UINT* pcTypeInfo) 60 61 { 61 62 63 64 65 62 CFilterGraph_THIS(iface,mediaposition); 63 64 FIXME("(%p)->()\n",This); 65 66 return E_NOTIMPL; 66 67 } 67 68 … … 69 70 IMediaPosition_fnGetTypeInfo(IMediaPosition* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj) 70 71 { 71 72 73 74 75 72 CFilterGraph_THIS(iface,mediaposition); 73 74 FIXME("(%p)->()\n",This); 75 76 return E_NOTIMPL; 76 77 } 77 78 … … 79 80 IMediaPosition_fnGetIDsOfNames(IMediaPosition* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId) 80 81 { 81 82 83 84 85 82 CFilterGraph_THIS(iface,mediaposition); 83 84 FIXME("(%p)->()\n",This); 85 86 return E_NOTIMPL; 86 87 } 87 88 … … 89 90 IMediaPosition_fnInvoke(IMediaPosition* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr) 90 91 { 91 92 93 94 95 92 CFilterGraph_THIS(iface,mediaposition); 93 94 FIXME("(%p)->()\n",This); 95 96 return E_NOTIMPL; 96 97 } 97 98 … … 100 101 IMediaPosition_fnget_Duration(IMediaPosition* iface,REFTIME* prefTime) 101 102 { 102 103 104 105 106 103 CFilterGraph_THIS(iface,mediaposition); 104 105 FIXME("(%p)->() stub!\n",This); 106 107 return E_NOTIMPL; 107 108 } 108 109 … … 110 111 IMediaPosition_fnput_CurrentPosition(IMediaPosition* iface,REFTIME refTime) 111 112 { 112 113 114 115 116 113 CFilterGraph_THIS(iface,mediaposition); 114 115 FIXME("(%p)->() stub!\n",This); 116 117 return E_NOTIMPL; 117 118 } 118 119 … … 120 121 IMediaPosition_fnget_CurrentPosition(IMediaPosition* iface,REFTIME* prefTime) 121 122 { 122 123 124 125 126 123 CFilterGraph_THIS(iface,mediaposition); 124 125 FIXME("(%p)->() stub!\n",This); 126 127 return E_NOTIMPL; 127 128 } 128 129 … … 130 131 IMediaPosition_fnget_StopTime(IMediaPosition* iface,REFTIME* prefTime) 131 132 { 132 133 134 135 136 133 CFilterGraph_THIS(iface,mediaposition); 134 135 FIXME("(%p)->() stub!\n",This); 136 137 return E_NOTIMPL; 137 138 } 138 139 … … 140 141 IMediaPosition_fnput_StopTime(IMediaPosition* iface,REFTIME refTime) 141 142 { 142 143 144 145 146 143 CFilterGraph_THIS(iface,mediaposition); 144 145 FIXME("(%p)->() stub!\n",This); 146 147 return E_NOTIMPL; 147 148 } 148 149 … … 150 151 IMediaPosition_fnget_PrerollTime(IMediaPosition* iface,REFTIME* prefTime) 151 152 { 152 153 154 155 156 153 CFilterGraph_THIS(iface,mediaposition); 154 155 FIXME("(%p)->() stub!\n",This); 156 157 return E_NOTIMPL; 157 158 } 158 159 … … 160 161 IMediaPosition_fnput_PrerollTime(IMediaPosition* iface,REFTIME refTime) 161 162 { 162 163 164 165 166 163 CFilterGraph_THIS(iface,mediaposition); 164 165 FIXME("(%p)->() stub!\n",This); 166 167 return E_NOTIMPL; 167 168 } 168 169 … … 170 171 IMediaPosition_fnput_Rate(IMediaPosition* iface,double dblRate) 171 172 { 172 173 174 175 176 173 CFilterGraph_THIS(iface,mediaposition); 174 175 FIXME("(%p)->() stub!\n",This); 176 177 return E_NOTIMPL; 177 178 } 178 179 … … 180 181 IMediaPosition_fnget_Rate(IMediaPosition* iface,double* pdblRate) 181 182 { 182 183 184 185 186 183 CFilterGraph_THIS(iface,mediaposition); 184 185 FIXME("(%p)->() stub!\n",This); 186 187 return E_NOTIMPL; 187 188 } 188 189 … … 190 191 IMediaPosition_fnCanSeekForward(IMediaPosition* iface,LONG* pCanSeek) 191 192 { 192 193 194 195 196 193 CFilterGraph_THIS(iface,mediaposition); 194 195 FIXME("(%p)->() stub!\n",This); 196 197 return E_NOTIMPL; 197 198 } 198 199 … … 200 201 IMediaPosition_fnCanSeekBackward(IMediaPosition* iface,LONG* pCanSeek) 201 202 { 202 203 204 205 206 203 CFilterGraph_THIS(iface,mediaposition); 204 205 FIXME("(%p)->() stub!\n",This); 206 207 return E_NOTIMPL; 207 208 } 208 209 … … 210 211 static ICOM_VTABLE(IMediaPosition) imediaposition = 211 212 { 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 213 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 214 /* IUnknown fields */ 215 IMediaPosition_fnQueryInterface, 216 IMediaPosition_fnAddRef, 217 IMediaPosition_fnRelease, 218 /* IDispatch fields */ 219 IMediaPosition_fnGetTypeInfoCount, 220 IMediaPosition_fnGetTypeInfo, 221 IMediaPosition_fnGetIDsOfNames, 222 IMediaPosition_fnInvoke, 223 /* IMediaPosition fields */ 224 IMediaPosition_fnget_Duration, 225 IMediaPosition_fnput_CurrentPosition, 226 IMediaPosition_fnget_CurrentPosition, 227 IMediaPosition_fnget_StopTime, 228 IMediaPosition_fnput_StopTime, 229 IMediaPosition_fnget_PrerollTime, 230 IMediaPosition_fnput_PrerollTime, 231 IMediaPosition_fnput_Rate, 232 IMediaPosition_fnget_Rate, 233 IMediaPosition_fnCanSeekForward, 234 IMediaPosition_fnCanSeekBackward, 234 235 }; 235 236 … … 237 238 void CFilterGraph_InitIMediaPosition( CFilterGraph* pfg ) 238 239 { 239 240 241 } 240 TRACE("(%p)\n",pfg); 241 ICOM_VTBL(&pfg->mediaposition) = &imediaposition; 242 } -
trunk/src/quartz/imseek.c
r6578 r6649 1 /* $Id: imseek.c,v 1.2 2001-09-05 13:36:36 bird Exp $ */ 1 2 /* 2 3 * Implementation of IMediaSeeking for FilterGraph. … … 30 31 IMediaSeeking_fnQueryInterface(IMediaSeeking* iface,REFIID riid,void** ppobj) 31 32 { 32 33 34 35 36 33 CFilterGraph_THIS(iface,mediaseeking); 34 35 TRACE("(%p)->()\n",This); 36 37 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 37 38 } 38 39 … … 40 41 IMediaSeeking_fnAddRef(IMediaSeeking* iface) 41 42 { 42 43 44 45 46 43 CFilterGraph_THIS(iface,mediaseeking); 44 45 TRACE("(%p)->()\n",This); 46 47 return IUnknown_AddRef(This->unk.punkControl); 47 48 } 48 49 … … 50 51 IMediaSeeking_fnRelease(IMediaSeeking* iface) 51 52 { 52 53 54 55 56 53 CFilterGraph_THIS(iface,mediaseeking); 54 55 TRACE("(%p)->()\n",This); 56 57 return IUnknown_Release(This->unk.punkControl); 57 58 } 58 59 … … 61 62 IMediaSeeking_fnGetCapabilities(IMediaSeeking* iface,DWORD* pdwCaps) 62 63 { 63 64 65 66 67 64 CFilterGraph_THIS(iface,mediaseeking); 65 66 FIXME("(%p)->() stub!\n",This); 67 68 return E_NOTIMPL; 68 69 } 69 70 … … 71 72 IMediaSeeking_fnCheckCapabilities(IMediaSeeking* iface,DWORD* pdwCaps) 72 73 { 73 74 75 76 77 74 CFilterGraph_THIS(iface,mediaseeking); 75 76 FIXME("(%p)->() stub!\n",This); 77 78 return E_NOTIMPL; 78 79 } 79 80 … … 81 82 IMediaSeeking_fnIsFormatSupported(IMediaSeeking* iface,const GUID* pidFormat) 82 83 { 83 84 85 86 87 84 CFilterGraph_THIS(iface,mediaseeking); 85 86 FIXME("(%p)->() stub!\n",This); 87 88 return E_NOTIMPL; 88 89 } 89 90 … … 91 92 IMediaSeeking_fnQueryPreferredFormat(IMediaSeeking* iface,GUID* pidFormat) 92 93 { 93 94 95 96 97 94 CFilterGraph_THIS(iface,mediaseeking); 95 96 FIXME("(%p)->() stub!\n",This); 97 98 return E_NOTIMPL; 98 99 } 99 100 … … 101 102 IMediaSeeking_fnGetTimeFormat(IMediaSeeking* iface,GUID* pidFormat) 102 103 { 103 104 105 106 107 104 CFilterGraph_THIS(iface,mediaseeking); 105 106 FIXME("(%p)->() stub!\n",This); 107 108 return E_NOTIMPL; 108 109 } 109 110 … … 111 112 IMediaSeeking_fnIsUsingTimeFormat(IMediaSeeking* iface,const GUID* pidFormat) 112 113 { 113 114 115 116 117 114 CFilterGraph_THIS(iface,mediaseeking); 115 116 FIXME("(%p)->() stub!\n",This); 117 118 return E_NOTIMPL; 118 119 } 119 120 … … 121 122 IMediaSeeking_fnSetTimeFormat(IMediaSeeking* iface,const GUID* pidFormat) 122 123 { 123 124 125 126 127 124 CFilterGraph_THIS(iface,mediaseeking); 125 126 FIXME("(%p)->() stub!\n",This); 127 128 return E_NOTIMPL; 128 129 } 129 130 … … 131 132 IMediaSeeking_fnGetDuration(IMediaSeeking* iface,LONGLONG* pllDuration) 132 133 { 133 134 135 136 137 134 CFilterGraph_THIS(iface,mediaseeking); 135 136 FIXME("(%p)->() stub!\n",This); 137 138 return E_NOTIMPL; 138 139 } 139 140 … … 141 142 IMediaSeeking_fnGetStopPosition(IMediaSeeking* iface,LONGLONG* pllPos) 142 143 { 143 144 145 146 147 144 CFilterGraph_THIS(iface,mediaseeking); 145 146 FIXME("(%p)->() stub!\n",This); 147 148 return E_NOTIMPL; 148 149 } 149 150 … … 151 152 IMediaSeeking_fnGetCurrentPosition(IMediaSeeking* iface,LONGLONG* pllPos) 152 153 { 153 154 155 156 157 154 CFilterGraph_THIS(iface,mediaseeking); 155 156 FIXME("(%p)->() stub!\n",This); 157 158 return E_NOTIMPL; 158 159 } 159 160 … … 161 162 IMediaSeeking_fnConvertTimeFormat(IMediaSeeking* iface,LONGLONG* pllOut,const GUID* pidFmtOut,LONGLONG llIn,const GUID* pidFmtIn) 162 163 { 163 164 165 166 167 164 CFilterGraph_THIS(iface,mediaseeking); 165 166 FIXME("(%p)->() stub!\n",This); 167 168 return E_NOTIMPL; 168 169 } 169 170 … … 171 172 IMediaSeeking_fnSetPositions(IMediaSeeking* iface,LONGLONG* pllCur,DWORD dwCurFlags,LONGLONG* pllStop,DWORD dwStopFlags) 172 173 { 173 174 175 176 177 174 CFilterGraph_THIS(iface,mediaseeking); 175 176 FIXME("(%p)->() stub!\n",This); 177 178 return E_NOTIMPL; 178 179 } 179 180 … … 181 182 IMediaSeeking_fnGetPositions(IMediaSeeking* iface,LONGLONG* pllCur,LONGLONG* pllStop) 182 183 { 183 184 185 186 187 184 CFilterGraph_THIS(iface,mediaseeking); 185 186 FIXME("(%p)->() stub!\n",This); 187 188 return E_NOTIMPL; 188 189 } 189 190 … … 191 192 IMediaSeeking_fnGetAvailable(IMediaSeeking* iface,LONGLONG* pllFirst,LONGLONG* pllLast) 192 193 { 193 194 195 196 197 194 CFilterGraph_THIS(iface,mediaseeking); 195 196 FIXME("(%p)->() stub!\n",This); 197 198 return E_NOTIMPL; 198 199 } 199 200 … … 201 202 IMediaSeeking_fnSetRate(IMediaSeeking* iface,double dblRate) 202 203 { 203 204 205 206 207 204 CFilterGraph_THIS(iface,mediaseeking); 205 206 FIXME("(%p)->() stub!\n",This); 207 208 return E_NOTIMPL; 208 209 } 209 210 … … 211 212 IMediaSeeking_fnGetRate(IMediaSeeking* iface,double* pdblRate) 212 213 { 213 214 215 216 217 214 CFilterGraph_THIS(iface,mediaseeking); 215 216 FIXME("(%p)->() stub!\n",This); 217 218 return E_NOTIMPL; 218 219 } 219 220 … … 221 222 IMediaSeeking_fnGetPreroll(IMediaSeeking* iface,LONGLONG* pllPreroll) 222 223 { 223 224 225 226 227 224 CFilterGraph_THIS(iface,mediaseeking); 225 226 FIXME("(%p)->() stub!\n",This); 227 228 return E_NOTIMPL; 228 229 } 229 230 … … 233 234 static ICOM_VTABLE(IMediaSeeking) imediaseeking = 234 235 { 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 236 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 237 /* IUnknown fields */ 238 IMediaSeeking_fnQueryInterface, 239 IMediaSeeking_fnAddRef, 240 IMediaSeeking_fnRelease, 241 /* IMediaSeeking fields */ 242 IMediaSeeking_fnGetCapabilities, 243 IMediaSeeking_fnCheckCapabilities, 244 IMediaSeeking_fnIsFormatSupported, 245 IMediaSeeking_fnQueryPreferredFormat, 246 IMediaSeeking_fnGetTimeFormat, 247 IMediaSeeking_fnIsUsingTimeFormat, 248 IMediaSeeking_fnSetTimeFormat, 249 IMediaSeeking_fnGetDuration, 250 IMediaSeeking_fnGetStopPosition, 251 IMediaSeeking_fnGetCurrentPosition, 252 IMediaSeeking_fnConvertTimeFormat, 253 IMediaSeeking_fnSetPositions, 254 IMediaSeeking_fnGetPositions, 255 IMediaSeeking_fnGetAvailable, 256 IMediaSeeking_fnSetRate, 257 IMediaSeeking_fnGetRate, 258 IMediaSeeking_fnGetPreroll, 258 259 }; 259 260 260 261 void CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg ) 261 262 { 262 263 264 } 263 TRACE("(%p)\n",pfg); 264 ICOM_VTBL(&pfg->mediaseeking) = &imediaseeking; 265 } -
trunk/src/quartz/initquartz.cpp
r6563 r6649 1 /* $Id: initquartz.cpp,v 1.2 2001-09-05 13:36:36 bird Exp $ */ 1 2 /* 2 3 * DLL entry point … … 55 56 case DLL_THREAD_ATTACH: 56 57 case DLL_THREAD_DETACH: 57 58 return QUARTZ_DllMain(hinstDLL, fdwReason, fImpLoad); 58 59 59 60 case DLL_PROCESS_DETACH: 60 61 ret = QUARTZ_DllMain(hinstDLL, fdwReason, fImpLoad); 61 62 62 ctordtorTerm(); 63 return ret; 63 64 } 64 65 return FALSE; … … 87 88 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 88 89 dllHandle = RegisterLxDll(hModule, OdinLibMain, (PVOID)&_Resource_PEResTab); 89 if(dllHandle == 0) 90 90 if(dllHandle == 0) 91 return 0UL; 91 92 92 93 break; 93 94 case 1 : 94 95 if(dllHandle) { 95 96 UnregisterLxDll(dllHandle); 96 97 } 97 98 break; -
trunk/src/quartz/initterm.cpp
r6563 r6649 1 /* $Id: initterm.cpp,v 1.2 2001-09-05 13:36:37 bird Exp $ */ 1 2 /* 2 3 * DLL entry point -
trunk/src/quartz/irclock.c
r6578 r6649 1 /* $Id: irclock.c,v 1.3 2001-09-05 13:36:37 bird Exp $ */ 1 2 /* 2 3 * Implementation of CLSID_SystemClock. … … 27 28 IReferenceClock_fnQueryInterface(IReferenceClock* iface,REFIID riid,void** ppobj) 28 29 { 29 30 CSystemClock_THIS(iface,refclk); 30 31 31 32 TRACE("(%p)->()\n",This); 32 33 33 34 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 34 35 } 35 36 … … 37 38 IReferenceClock_fnAddRef(IReferenceClock* iface) 38 39 { 39 40 CSystemClock_THIS(iface,refclk); 40 41 41 42 TRACE("(%p)->()\n",This); 42 43 43 44 return IUnknown_AddRef(This->unk.punkControl); 44 45 } 45 46 … … 47 48 IReferenceClock_fnRelease(IReferenceClock* iface) 48 49 { 49 50 CSystemClock_THIS(iface,refclk); 50 51 51 52 TRACE("(%p)->()\n",This); 52 53 53 54 return IUnknown_Release(This->unk.punkControl); 54 55 } 55 56 … … 57 58 IReferenceClock_fnGetTime(IReferenceClock* iface,REFERENCE_TIME* prtTime) 58 59 { 59 60 CSystemClock_THIS(iface,refclk); 60 61 61 62 62 FIXME( "(%p)->() stub!\n", This ); 63 return E_NOTIMPL; 63 64 } 64 65 … … 66 67 IReferenceClock_fnAdviseTime(IReferenceClock* iface,REFERENCE_TIME rtBase,REFERENCE_TIME rtStream,HEVENT hEvent,DWORD_PTR* pdwAdvCookie) 67 68 { 68 69 CSystemClock_THIS(iface,refclk); 69 70 70 71 71 FIXME( "(%p)->() stub!\n", This ); 72 return E_NOTIMPL; 72 73 } 73 74 … … 75 76 IReferenceClock_fnAdvisePeriodic(IReferenceClock* iface,REFERENCE_TIME rtStart,REFERENCE_TIME rtPeriod,HSEMAPHORE hSemaphore,DWORD_PTR* pdwAdvCookie) 76 77 { 77 78 CSystemClock_THIS(iface,refclk); 78 79 79 80 80 FIXME( "(%p)->() stub!\n", This ); 81 return E_NOTIMPL; 81 82 } 82 83 … … 84 85 IReferenceClock_fnUnadvise(IReferenceClock* iface,DWORD_PTR dwAdvCookie) 85 86 { 86 87 CSystemClock_THIS(iface,refclk); 87 88 88 89 89 FIXME( "(%p)->() stub!\n", This ); 90 return E_NOTIMPL; 90 91 } 91 92 92 93 static ICOM_VTABLE(IReferenceClock) irefclk = 93 94 { 94 95 96 97 98 99 100 101 102 103 95 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 96 /* IUnknown fields */ 97 IReferenceClock_fnQueryInterface, 98 IReferenceClock_fnAddRef, 99 IReferenceClock_fnRelease, 100 /* IReferenceClock fields */ 101 IReferenceClock_fnGetTime, 102 IReferenceClock_fnAdviseTime, 103 IReferenceClock_fnAdvisePeriodic, 104 IReferenceClock_fnUnadvise, 104 105 }; 105 106 … … 107 108 void CSystemClock_InitIReferenceClock( CSystemClock* psc ) 108 109 { 109 110 110 TRACE("(%p)\n",psc); 111 ICOM_VTBL(&psc->refclk) = &irefclk; 111 112 } -
trunk/src/quartz/iunk.c
r6578 r6649 1 /* $Id: iunk.c,v 1.3 2001-09-05 13:36:37 bird Exp $ */ 1 2 /* 2 3 * An implementation of IUnknown. … … 21 22 IUnknown_fnQueryInterface(IUnknown* iface,REFIID riid,LPVOID *ppobj) 22 23 { 23 24 size_tofs;25 DWORDdwIndex;24 ICOM_THIS(QUARTZ_IUnkImpl,iface); 25 size_t ofs; 26 DWORD dwIndex; 26 27 27 28 TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj); 28 29 29 30 31 30 if ( ppobj == NULL ) 31 return E_POINTER; 32 *ppobj = NULL; 32 33 33 34 ofs = 0; 34 35 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 36 if ( IsEqualGUID( &IID_IUnknown, riid ) ) 37 { 38 TRACE("IID_IUnknown - returns inner object.\n"); 39 } 40 else 41 { 42 for ( dwIndex = 0; dwIndex < This->dwEntries; dwIndex++ ) 43 { 44 if ( IsEqualGUID( This->pEntries[dwIndex].piid, riid ) ) 45 { 46 ofs = This->pEntries[dwIndex].ofsVTPtr; 47 break; 48 } 49 } 50 if ( dwIndex == This->dwEntries ) 51 { 52 FIXME("unknown interface: %s\n",debugstr_guid(riid)); 53 return E_NOINTERFACE; 54 } 55 } 55 56 56 57 57 *ppobj = (LPVOID)(((char*)This) + ofs); 58 IUnknown_AddRef((IUnknown*)(*ppobj)); 58 59 59 60 return S_OK; 60 61 } 61 62 … … 63 64 IUnknown_fnAddRef(IUnknown* iface) 64 65 { 65 66 ICOM_THIS(QUARTZ_IUnkImpl,iface); 66 67 67 68 TRACE("(%p)->()\n",This); 68 69 69 70 return ++(This->ref); 70 71 } 71 72 … … 73 74 IUnknown_fnRelease(IUnknown* iface) 74 75 { 75 76 ICOM_THIS(QUARTZ_IUnkImpl,iface); 76 77 77 78 79 78 TRACE("(%p)->()\n",This); 79 if ( (--(This->ref)) > 0 ) 80 return This->ref; 80 81 81 82 QUARTZ_FreeObj(This); 82 83 83 84 return 0; 84 85 } 85 86 86 87 static ICOM_VTABLE(IUnknown) iunknown = 87 88 { 88 89 90 91 92 89 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 90 /* IUnknown fields */ 91 IUnknown_fnQueryInterface, 92 IUnknown_fnAddRef, 93 IUnknown_fnRelease, 93 94 }; 94 95 … … 96 97 void QUARTZ_IUnkInit( QUARTZ_IUnkImpl* pImpl, IUnknown* punkOuter ) 97 98 { 98 99 TRACE("(%p)\n",pImpl); 99 100 100 101 102 103 104 101 ICOM_VTBL(pImpl) = &iunknown; 102 pImpl->pEntries = NULL; 103 pImpl->dwEntries = 0; 104 pImpl->ref = 1; 105 pImpl->punkControl = (IUnknown*)pImpl; 105 106 106 107 108 107 /* for delegation. */ 108 if ( punkOuter != NULL ) 109 pImpl->punkControl = punkOuter; 109 110 } 110 111 -
trunk/src/quartz/ividwin.c
r6578 r6649 1 /* $Id: ividwin.c,v 1.2 2001-09-05 13:36:37 bird Exp $ */ 1 2 /* 2 3 * Implementation of IVideoWindow for FilterGraph. … … 30 31 IVideoWindow_fnQueryInterface(IVideoWindow* iface,REFIID riid,void** ppobj) 31 32 { 32 33 34 35 36 33 CFilterGraph_THIS(iface,vidwin); 34 35 TRACE("(%p)->()\n",This); 36 37 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj); 37 38 } 38 39 … … 40 41 IVideoWindow_fnAddRef(IVideoWindow* iface) 41 42 { 42 43 44 45 46 43 CFilterGraph_THIS(iface,vidwin); 44 45 TRACE("(%p)->()\n",This); 46 47 return IUnknown_AddRef(This->unk.punkControl); 47 48 } 48 49 … … 50 51 IVideoWindow_fnRelease(IVideoWindow* iface) 51 52 { 52 53 54 55 56 53 CFilterGraph_THIS(iface,vidwin); 54 55 TRACE("(%p)->()\n",This); 56 57 return IUnknown_Release(This->unk.punkControl); 57 58 } 58 59 … … 60 61 IVideoWindow_fnGetTypeInfoCount(IVideoWindow* iface,UINT* pcTypeInfo) 61 62 { 62 63 64 65 66 63 CFilterGraph_THIS(iface,vidwin); 64 65 FIXME("(%p)->()\n",This); 66 67 return E_NOTIMPL; 67 68 } 68 69 … … 70 71 IVideoWindow_fnGetTypeInfo(IVideoWindow* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj) 71 72 { 72 73 74 75 76 73 CFilterGraph_THIS(iface,vidwin); 74 75 FIXME("(%p)->()\n",This); 76 77 return E_NOTIMPL; 77 78 } 78 79 … … 80 81 IVideoWindow_fnGetIDsOfNames(IVideoWindow* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId) 81 82 { 82 83 84 85 86 83 CFilterGraph_THIS(iface,vidwin); 84 85 FIXME("(%p)->()\n",This); 86 87 return E_NOTIMPL; 87 88 } 88 89 … … 90 91 IVideoWindow_fnInvoke(IVideoWindow* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr) 91 92 { 92 93 94 95 96 93 CFilterGraph_THIS(iface,vidwin); 94 95 FIXME("(%p)->()\n",This); 96 97 return E_NOTIMPL; 97 98 } 98 99 … … 102 103 IVideoWindow_fnput_Caption(IVideoWindow* iface,BSTR strCaption) 103 104 { 104 105 106 107 108 105 CFilterGraph_THIS(iface,vidwin); 106 107 FIXME("(%p)->() stub!\n",This); 108 109 return E_NOTIMPL; 109 110 } 110 111 … … 112 113 IVideoWindow_fnget_Caption(IVideoWindow* iface,BSTR* pstrCaption) 113 114 { 114 115 116 117 118 115 CFilterGraph_THIS(iface,vidwin); 116 117 FIXME("(%p)->() stub!\n",This); 118 119 return E_NOTIMPL; 119 120 } 120 121 … … 122 123 IVideoWindow_fnput_WindowStyle(IVideoWindow* iface,long lStyle) 123 124 { 124 125 126 127 128 125 CFilterGraph_THIS(iface,vidwin); 126 127 FIXME("(%p)->() stub!\n",This); 128 129 return E_NOTIMPL; 129 130 } 130 131 … … 132 133 IVideoWindow_fnget_WindowStyle(IVideoWindow* iface,long* plStyle) 133 134 { 134 135 136 137 138 135 CFilterGraph_THIS(iface,vidwin); 136 137 FIXME("(%p)->() stub!\n",This); 138 139 return E_NOTIMPL; 139 140 } 140 141 … … 142 143 IVideoWindow_fnput_WindowStyleEx(IVideoWindow* iface,long lExStyle) 143 144 { 144 145 146 147 148 145 CFilterGraph_THIS(iface,vidwin); 146 147 FIXME("(%p)->() stub!\n",This); 148 149 return E_NOTIMPL; 149 150 } 150 151 … … 152 153 IVideoWindow_fnget_WindowStyleEx(IVideoWindow* iface,long* plExStyle) 153 154 { 154 155 156 157 158 155 CFilterGraph_THIS(iface,vidwin); 156 157 FIXME("(%p)->() stub!\n",This); 158 159 return E_NOTIMPL; 159 160 } 160 161 … … 162 163 IVideoWindow_fnput_AutoShow(IVideoWindow* iface,long lAutoShow) 163 164 { 164 165 166 167 168 165 CFilterGraph_THIS(iface,vidwin); 166 167 FIXME("(%p)->() stub!\n",This); 168 169 return E_NOTIMPL; 169 170 } 170 171 … … 172 173 IVideoWindow_fnget_AutoShow(IVideoWindow* iface,long* plAutoShow) 173 174 { 174 175 176 177 178 175 CFilterGraph_THIS(iface,vidwin); 176 177 FIXME("(%p)->() stub!\n",This); 178 179 return E_NOTIMPL; 179 180 } 180 181 … … 182 183 IVideoWindow_fnput_WindowState(IVideoWindow* iface,long lState) 183 184 { 184 185 186 187 188 185 CFilterGraph_THIS(iface,vidwin); 186 187 FIXME("(%p)->() stub!\n",This); 188 189 return E_NOTIMPL; 189 190 } 190 191 … … 192 193 IVideoWindow_fnget_WindowState(IVideoWindow* iface,long* plState) 193 194 { 194 195 196 197 198 195 CFilterGraph_THIS(iface,vidwin); 196 197 FIXME("(%p)->() stub!\n",This); 198 199 return E_NOTIMPL; 199 200 } 200 201 … … 202 203 IVideoWindow_fnput_BackgroundPalette(IVideoWindow* iface,long lBackPal) 203 204 { 204 205 206 207 208 205 CFilterGraph_THIS(iface,vidwin); 206 207 FIXME("(%p)->() stub!\n",This); 208 209 return E_NOTIMPL; 209 210 } 210 211 … … 212 213 IVideoWindow_fnget_BackgroundPalette(IVideoWindow* iface,long* plBackPal) 213 214 { 214 215 216 217 218 215 CFilterGraph_THIS(iface,vidwin); 216 217 FIXME("(%p)->() stub!\n",This); 218 219 return E_NOTIMPL; 219 220 } 220 221 … … 222 223 IVideoWindow_fnput_Visible(IVideoWindow* iface,long lVisible) 223 224 { 224 225 226 227 228 225 CFilterGraph_THIS(iface,vidwin); 226 227 FIXME("(%p)->() stub!\n",This); 228 229 return E_NOTIMPL; 229 230 } 230 231 … … 232 233 IVideoWindow_fnget_Visible(IVideoWindow* iface,long* plVisible) 233 234 { 234 235 236 237 238 235 CFilterGraph_THIS(iface,vidwin); 236 237 FIXME("(%p)->() stub!\n",This); 238 239 return E_NOTIMPL; 239 240 } 240 241 … … 242 243 IVideoWindow_fnput_Left(IVideoWindow* iface,long lLeft) 243 244 { 244 245 246 247 248 245 CFilterGraph_THIS(iface,vidwin); 246 247 FIXME("(%p)->() stub!\n",This); 248 249 return E_NOTIMPL; 249 250 } 250 251 … … 252 253 IVideoWindow_fnget_Left(IVideoWindow* iface,long* plLeft) 253 254 { 254 255 256 257 258 255 CFilterGraph_THIS(iface,vidwin); 256 257 FIXME("(%p)->() stub!\n",This); 258 259 return E_NOTIMPL; 259 260 } 260 261 … … 262 263 IVideoWindow_fnput_Width(IVideoWindow* iface,long lWidth) 263 264 { 264 265 266 267 268 265 CFilterGraph_THIS(iface,vidwin); 266 267 FIXME("(%p)->() stub!\n",This); 268 269 return E_NOTIMPL; 269 270 } 270 271 … … 272 273 IVideoWindow_fnget_Width(IVideoWindow* iface,long* plWidth) 273 274 { 274 275 276 277 278 275 CFilterGraph_THIS(iface,vidwin); 276 277 FIXME("(%p)->() stub!\n",This); 278 279 return E_NOTIMPL; 279 280 } 280 281 … … 282 283 IVideoWindow_fnput_Top(IVideoWindow* iface,long lTop) 283 284 { 284 285 286 287 288 285 CFilterGraph_THIS(iface,vidwin); 286 287 FIXME("(%p)->() stub!\n",This); 288 289 return E_NOTIMPL; 289 290 } 290 291 … … 292 293 IVideoWindow_fnget_Top(IVideoWindow* iface,long* plTop) 293 294 { 294 295 296 297 298 295 CFilterGraph_THIS(iface,vidwin); 296 297 FIXME("(%p)->() stub!\n",This); 298 299 return E_NOTIMPL; 299 300 } 300 301 … … 302 303 IVideoWindow_fnput_Height(IVideoWindow* iface,long lHeight) 303 304 { 304 305 306 307 308 305 CFilterGraph_THIS(iface,vidwin); 306 307 FIXME("(%p)->() stub!\n",This); 308 309 return E_NOTIMPL; 309 310 } 310 311 … … 312 313 IVideoWindow_fnget_Height(IVideoWindow* iface,long* plHeight) 313 314 { 314 315 316 317 318 315 CFilterGraph_THIS(iface,vidwin); 316 317 FIXME("(%p)->() stub!\n",This); 318 319 return E_NOTIMPL; 319 320 } 320 321 … … 322 323 IVideoWindow_fnput_Owner(IVideoWindow* iface,OAHWND hwnd) 323 324 { 324 325 326 327 328 325 CFilterGraph_THIS(iface,vidwin); 326 327 FIXME("(%p)->() stub!\n",This); 328 329 return E_NOTIMPL; 329 330 } 330 331 … … 332 333 IVideoWindow_fnget_Owner(IVideoWindow* iface,OAHWND* phwnd) 333 334 { 334 335 336 337 338 335 CFilterGraph_THIS(iface,vidwin); 336 337 FIXME("(%p)->() stub!\n",This); 338 339 return E_NOTIMPL; 339 340 } 340 341 … … 342 343 IVideoWindow_fnput_MessageDrain(IVideoWindow* iface,OAHWND hwnd) 343 344 { 344 345 346 347 348 345 CFilterGraph_THIS(iface,vidwin); 346 347 FIXME("(%p)->() stub!\n",This); 348 349 return E_NOTIMPL; 349 350 } 350 351 … … 352 353 IVideoWindow_fnget_MessageDrain(IVideoWindow* iface,OAHWND* phwnd) 353 354 { 354 355 356 357 358 355 CFilterGraph_THIS(iface,vidwin); 356 357 FIXME("(%p)->() stub!\n",This); 358 359 return E_NOTIMPL; 359 360 } 360 361 … … 362 363 IVideoWindow_fnget_BorderColor(IVideoWindow* iface,long* plColor) 363 364 { 364 365 366 367 368 365 CFilterGraph_THIS(iface,vidwin); 366 367 FIXME("(%p)->() stub!\n",This); 368 369 return E_NOTIMPL; 369 370 } 370 371 … … 372 373 IVideoWindow_fnput_BorderColor(IVideoWindow* iface,long lColor) 373 374 { 374 375 376 377 378 375 CFilterGraph_THIS(iface,vidwin); 376 377 FIXME("(%p)->() stub!\n",This); 378 379 return E_NOTIMPL; 379 380 } 380 381 … … 382 383 IVideoWindow_fnget_FullScreenMode(IVideoWindow* iface,long* plMode) 383 384 { 384 385 386 387 388 385 CFilterGraph_THIS(iface,vidwin); 386 387 FIXME("(%p)->() stub!\n",This); 388 389 return E_NOTIMPL; 389 390 } 390 391 … … 392 393 IVideoWindow_fnput_FullScreenMode(IVideoWindow* iface,long lMode) 393 394 { 394 395 396 397 398 395 CFilterGraph_THIS(iface,vidwin); 396 397 FIXME("(%p)->() stub!\n",This); 398 399 return E_NOTIMPL; 399 400 } 400 401 … … 402 403 IVideoWindow_fnSetWindowForeground(IVideoWindow* iface,long lFocus) 403 404 { 404 405 406 407 408 405 CFilterGraph_THIS(iface,vidwin); 406 407 FIXME("(%p)->() stub!\n",This); 408 409 return E_NOTIMPL; 409 410 } 410 411 … … 412 413 IVideoWindow_fnNotifyOwnerMessage(IVideoWindow* iface,OAHWND hwnd,long message,LONG_PTR wParam,LONG_PTR lParam) 413 414 { 414 415 416 417 418 415 CFilterGraph_THIS(iface,vidwin); 416 417 FIXME("(%p)->() stub!\n",This); 418 419 return E_NOTIMPL; 419 420 } 420 421 … … 422 423 IVideoWindow_fnSetWindowPosition(IVideoWindow* iface,long lLeft,long lTop,long lWidth,long lHeight) 423 424 { 424 425 426 427 428 425 CFilterGraph_THIS(iface,vidwin); 426 427 FIXME("(%p)->() stub!\n",This); 428 429 return E_NOTIMPL; 429 430 } 430 431 … … 432 433 IVideoWindow_fnGetWindowPosition(IVideoWindow* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight) 433 434 { 434 435 436 437 438 435 CFilterGraph_THIS(iface,vidwin); 436 437 FIXME("(%p)->() stub!\n",This); 438 439 return E_NOTIMPL; 439 440 } 440 441 … … 442 443 IVideoWindow_fnGetMinIdealImageSize(IVideoWindow* iface,long* plWidth,long* plHeight) 443 444 { 444 445 446 447 448 445 CFilterGraph_THIS(iface,vidwin); 446 447 FIXME("(%p)->() stub!\n",This); 448 449 return E_NOTIMPL; 449 450 } 450 451 … … 452 453 IVideoWindow_fnGetMaxIdealImageSize(IVideoWindow* iface,long* plWidth,long* plHeight) 453 454 { 454 455 456 457 458 455 CFilterGraph_THIS(iface,vidwin); 456 457 FIXME("(%p)->() stub!\n",This); 458 459 return E_NOTIMPL; 459 460 } 460 461 … … 462 463 IVideoWindow_fnGetRestorePosition(IVideoWindow* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight) 463 464 { 464 465 466 467 468 465 CFilterGraph_THIS(iface,vidwin); 466 467 FIXME("(%p)->() stub!\n",This); 468 469 return E_NOTIMPL; 469 470 } 470 471 … … 472 473 IVideoWindow_fnHideCursor(IVideoWindow* iface,long lHide) 473 474 { 474 475 476 477 478 475 CFilterGraph_THIS(iface,vidwin); 476 477 FIXME("(%p)->() stub!\n",This); 478 479 return E_NOTIMPL; 479 480 } 480 481 … … 482 483 IVideoWindow_fnIsCursorHidden(IVideoWindow* iface,long* plHide) 483 484 { 484 485 486 487 488 485 CFilterGraph_THIS(iface,vidwin); 486 487 FIXME("(%p)->() stub!\n",This); 488 489 return E_NOTIMPL; 489 490 } 490 491 … … 494 495 static ICOM_VTABLE(IVideoWindow) ivideowindow = 495 496 { 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 497 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 498 /* IUnknown fields */ 499 IVideoWindow_fnQueryInterface, 500 IVideoWindow_fnAddRef, 501 IVideoWindow_fnRelease, 502 /* IDispatch fields */ 503 IVideoWindow_fnGetTypeInfoCount, 504 IVideoWindow_fnGetTypeInfo, 505 IVideoWindow_fnGetIDsOfNames, 506 IVideoWindow_fnInvoke, 507 /* IVideoWindow fields */ 508 IVideoWindow_fnput_Caption, 509 IVideoWindow_fnget_Caption, 510 IVideoWindow_fnput_WindowStyle, 511 IVideoWindow_fnget_WindowStyle, 512 IVideoWindow_fnput_WindowStyleEx, 513 IVideoWindow_fnget_WindowStyleEx, 514 IVideoWindow_fnput_AutoShow, 515 IVideoWindow_fnget_AutoShow, 516 IVideoWindow_fnput_WindowState, 517 IVideoWindow_fnget_WindowState, 518 IVideoWindow_fnput_BackgroundPalette, 519 IVideoWindow_fnget_BackgroundPalette, 520 IVideoWindow_fnput_Visible, 521 IVideoWindow_fnget_Visible, 522 IVideoWindow_fnput_Left, 523 IVideoWindow_fnget_Left, 524 IVideoWindow_fnput_Width, 525 IVideoWindow_fnget_Width, 526 IVideoWindow_fnput_Top, 527 IVideoWindow_fnget_Top, 528 IVideoWindow_fnput_Height, 529 IVideoWindow_fnget_Height, 530 IVideoWindow_fnput_Owner, 531 IVideoWindow_fnget_Owner, 532 IVideoWindow_fnput_MessageDrain, 533 IVideoWindow_fnget_MessageDrain, 534 IVideoWindow_fnget_BorderColor, 535 IVideoWindow_fnput_BorderColor, 536 IVideoWindow_fnget_FullScreenMode, 537 IVideoWindow_fnput_FullScreenMode, 538 IVideoWindow_fnSetWindowForeground, 539 IVideoWindow_fnNotifyOwnerMessage, 540 IVideoWindow_fnSetWindowPosition, 541 IVideoWindow_fnGetWindowPosition, 542 IVideoWindow_fnGetMinIdealImageSize, 543 IVideoWindow_fnGetMaxIdealImageSize, 544 IVideoWindow_fnGetRestorePosition, 545 IVideoWindow_fnHideCursor, 546 IVideoWindow_fnIsCursorHidden, 546 547 547 548 }; … … 550 551 void CFilterGraph_InitIVideoWindow( CFilterGraph* pfg ) 551 552 { 552 553 554 } 553 TRACE("(%p)\n",pfg); 554 ICOM_VTBL(&pfg->vidwin) = &ivideowindow; 555 } -
trunk/src/quartz/main.c
r6578 r6649 1 /* $Id: main.c,v 1.3 2001-09-05 13:36:37 bird Exp $ */ 2 1 3 #include "config.h" 2 4 … … 22 24 typedef struct QUARTZ_CLASSENTRY 23 25 { 24 const CLSID*pclsid;25 QUARTZ_pCreateIUnknownpCreateIUnk;26 const CLSID* pclsid; 27 QUARTZ_pCreateIUnknown pCreateIUnk; 26 28 } QUARTZ_CLASSENTRY; 27 29 … … 36 38 static ICOM_VTABLE(IClassFactory) iclassfact = 37 39 { 38 39 40 41 42 43 40 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 41 IClassFactory_fnQueryInterface, 42 IClassFactory_fnAddRef, 43 IClassFactory_fnRelease, 44 IClassFactory_fnCreateInstance, 45 IClassFactory_fnLockServer 44 46 }; 45 47 46 48 typedef struct 47 49 { 48 49 50 DWORDref;51 52 50 /* IUnknown fields */ 51 ICOM_VFIELD(IClassFactory); 52 DWORD ref; 53 /* IClassFactory fields */ 54 const QUARTZ_CLASSENTRY* pEntry; 53 55 } IClassFactoryImpl; 54 56 55 57 static const QUARTZ_CLASSENTRY QUARTZ_ClassList[] = 56 58 { 57 58 59 60 59 { &CLSID_FilterGraph, &QUARTZ_CreateFilterGraph }, 60 { &CLSID_SystemClock, &QUARTZ_CreateSystemClock }, 61 { &CLSID_MemoryAllocator, &QUARTZ_CreateMemoryAllocator }, 62 { NULL, NULL }, 61 63 }; 62 64 … … 68 70 void* QUARTZ_AllocObj( DWORD dwSize ) 69 71 { 70 void*pv;71 72 73 74 75 76 77 78 79 72 void* pv; 73 74 EnterCriticalSection( &csHeap ); 75 dwClassObjRef ++; 76 pv = HeapAlloc( hDLLHeap, 0, dwSize ); 77 if ( pv == NULL ) 78 dwClassObjRef --; 79 LeaveCriticalSection( &csHeap ); 80 81 return pv; 80 82 } 81 83 82 84 void QUARTZ_FreeObj( void* pobj ) 83 85 { 84 85 86 87 86 EnterCriticalSection( &csHeap ); 87 HeapFree( hDLLHeap, 0, pobj ); 88 dwClassObjRef --; 89 LeaveCriticalSection( &csHeap ); 88 90 } 89 91 90 92 void* QUARTZ_AllocMem( DWORD dwSize ) 91 93 { 92 94 return HeapAlloc( hDLLHeap, 0, dwSize ); 93 95 } 94 96 95 97 void QUARTZ_FreeMem( void* pMem ) 96 98 { 97 99 HeapFree( hDLLHeap, 0, pMem ); 98 100 } 99 101 … … 103 105 IClassFactory_fnQueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) 104 106 { 105 106 107 108 109 110 111 112 113 114 115 116 107 ICOM_THIS(IClassFactoryImpl,iface); 108 109 TRACE("(%p)->(%p,%p)\n",This,riid,ppobj); 110 if ( ( IsEqualGUID( &IID_IUnknown, riid ) ) || 111 ( IsEqualGUID( &IID_IClassFactory, riid ) ) ) 112 { 113 *ppobj = iface; 114 IClassFactory_AddRef(iface); 115 return S_OK; 116 } 117 118 return E_NOINTERFACE; 117 119 } 118 120 119 121 static ULONG WINAPI IClassFactory_fnAddRef(LPCLASSFACTORY iface) 120 122 { 121 122 123 124 125 123 ICOM_THIS(IClassFactoryImpl,iface); 124 125 TRACE("(%p)->()\n",This); 126 127 return ++(This->ref); 126 128 } 127 129 128 130 static ULONG WINAPI IClassFactory_fnRelease(LPCLASSFACTORY iface) 129 131 { 130 131 132 133 134 135 136 137 132 ICOM_THIS(IClassFactoryImpl,iface); 133 134 TRACE("(%p)->()\n",This); 135 if ( (--(This->ref)) > 0 ) 136 return This->ref; 137 138 QUARTZ_FreeObj(This); 139 return 0; 138 140 } 139 141 140 142 static HRESULT WINAPI IClassFactory_fnCreateInstance(LPCLASSFACTORY iface,LPUNKNOWN pOuter,REFIID riid,LPVOID *ppobj) 141 143 { 142 143 HRESULThr;144 IUnknown*punk;145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 144 ICOM_THIS(IClassFactoryImpl,iface); 145 HRESULT hr; 146 IUnknown* punk; 147 148 TRACE("(%p)->(%p,%s,%p)\n",This,pOuter,debugstr_guid(riid),ppobj); 149 150 if ( ppobj == NULL ) 151 return E_POINTER; 152 if ( pOuter != NULL && !IsEqualGUID( riid, &IID_IUnknown ) ) 153 return CLASS_E_NOAGGREGATION; 154 155 *ppobj = NULL; 156 157 hr = (*This->pEntry->pCreateIUnk)(pOuter,(void**)&punk); 158 if ( hr != S_OK ) 159 return hr; 160 161 hr = IUnknown_QueryInterface(punk,riid,ppobj); 162 IUnknown_Release(punk); 163 164 return hr; 163 165 } 164 166 165 167 static HRESULT WINAPI IClassFactory_fnLockServer(LPCLASSFACTORY iface,BOOL dolock) 166 168 { 167 168 HRESULThr;169 170 171 172 173 174 175 176 169 ICOM_THIS(IClassFactoryImpl,iface); 170 HRESULT hr; 171 172 FIXME("(%p)->(%d),stub!\n",This,dolock); 173 if (dolock) 174 hr = IClassFactory_AddRef(iface); 175 else 176 hr = IClassFactory_Release(iface); 177 178 return hr; 177 179 } 178 180 … … 181 183 static HRESULT IClassFactory_Alloc( const CLSID* pclsid, void** ppobj ) 182 184 { 183 const QUARTZ_CLASSENTRY*pEntry;184 IClassFactoryImpl*pImpl;185 186 187 188 189 190 191 192 193 194 195 185 const QUARTZ_CLASSENTRY* pEntry; 186 IClassFactoryImpl* pImpl; 187 188 TRACE( "(%s,%p)\n", debugstr_guid(pclsid), ppobj ); 189 190 pEntry = QUARTZ_ClassList; 191 while ( pEntry->pclsid != NULL ) 192 { 193 if ( IsEqualGUID( pclsid, pEntry->pclsid ) ) 194 goto found; 195 } 196 197 return CLASS_E_CLASSNOTAVAILABLE; 196 198 found: 197 198 199 200 201 202 203 204 205 206 207 } 208 209 210 /*********************************************************************** 211 * 199 pImpl = (IClassFactoryImpl*)QUARTZ_AllocObj( sizeof(IClassFactoryImpl) ); 200 if ( pImpl == NULL ) 201 return E_OUTOFMEMORY; 202 203 ICOM_VTBL(pImpl) = &iclassfact; 204 pImpl->ref = 1; 205 pImpl->pEntry = pEntry; 206 207 *ppobj = (void*)pImpl; 208 return S_OK; 209 } 210 211 212 /*********************************************************************** 213 * QUARTZ_InitProcess (internal) 212 214 */ 213 215 static BOOL QUARTZ_InitProcess( void ) 214 216 { 215 216 217 218 219 220 221 222 223 224 225 226 } 227 228 /*********************************************************************** 229 * 217 TRACE("()\n"); 218 219 dwClassObjRef = 0; 220 hDLLHeap = (HANDLE)NULL; 221 InitializeCriticalSection( &csHeap ); 222 223 hDLLHeap = HeapCreate( 0, 0x10000, 0 ); 224 if ( hDLLHeap == (HANDLE)NULL ) 225 return FALSE; 226 227 return TRUE; 228 } 229 230 /*********************************************************************** 231 * QUARTZ_UninitProcess (internal) 230 232 */ 231 233 static void QUARTZ_UninitProcess( void ) 232 234 { 233 234 235 236 237 238 239 240 241 242 243 } 244 245 /*********************************************************************** 246 * 235 TRACE("()\n"); 236 237 if ( dwClassObjRef != 0 ) 238 ERR( "you must release some objects allocated from quartz.\n" ); 239 if ( hDLLHeap != (HANDLE)NULL ) 240 { 241 HeapDestroy( hDLLHeap ); 242 hDLLHeap = (HANDLE)NULL; 243 } 244 DeleteCriticalSection( &csHeap ); 245 } 246 247 /*********************************************************************** 248 * QUARTZ_DllMain 247 249 */ 248 250 BOOL WINAPI QUARTZ_DllMain( 249 250 251 252 { 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 } 270 271 272 /*********************************************************************** 273 * 251 HINSTANCE hInstDLL, 252 DWORD fdwReason, 253 LPVOID lpvReserved ) 254 { 255 switch ( fdwReason ) 256 { 257 case DLL_PROCESS_ATTACH: 258 if ( !QUARTZ_InitProcess() ) 259 return FALSE; 260 break; 261 case DLL_PROCESS_DETACH: 262 QUARTZ_UninitProcess(); 263 break; 264 case DLL_THREAD_ATTACH: 265 break; 266 case DLL_THREAD_DETACH: 267 break; 268 } 269 270 return TRUE; 271 } 272 273 274 /*********************************************************************** 275 * DllCanUnloadNow (QUARTZ.@) 274 276 * 275 277 * RETURNS … … 279 281 HRESULT WINAPI QUARTZ_DllCanUnloadNow(void) 280 282 { 281 HRESULThr;282 283 284 285 286 287 288 } 289 290 /*********************************************************************** 291 * 283 HRESULT hr; 284 285 EnterCriticalSection( &csHeap ); 286 hr = ( dwClassObjRef == 0 ) ? S_OK : S_FALSE; 287 LeaveCriticalSection( &csHeap ); 288 289 return hr; 290 } 291 292 /*********************************************************************** 293 * DllGetClassObject (QUARTZ.@) 292 294 */ 293 295 HRESULT WINAPI QUARTZ_DllGetClassObject( 294 295 { 296 297 298 299 300 301 302 303 304 } 305 306 /*********************************************************************** 307 * 296 const CLSID* pclsid,const IID* piid,void** ppv) 297 { 298 *ppv = NULL; 299 if ( IsEqualCLSID( &IID_IUnknown, piid ) || 300 IsEqualCLSID( &IID_IClassFactory, piid ) ) 301 { 302 return IClassFactory_Alloc( pclsid, ppv ); 303 } 304 305 return CLASS_E_CLASSNOTAVAILABLE; 306 } 307 308 /*********************************************************************** 309 * DllRegisterServer (QUARTZ.@) 308 310 */ 309 311 310 312 HRESULT WINAPI QUARTZ_DllRegisterServer( void ) 311 313 { 312 313 314 } 315 316 /*********************************************************************** 317 * 314 FIXME( "(): stub\n" ); 315 return E_FAIL; 316 } 317 318 /*********************************************************************** 319 * DllUnregisterServer (QUARTZ.@) 318 320 */ 319 321 320 322 HRESULT WINAPI QUARTZ_DllUnregisterServer( void ) 321 323 { 322 323 324 } 325 324 FIXME( "(): stub\n" ); 325 return E_FAIL; 326 } 327 -
trunk/src/quartz/memalloc.c
r6578 r6649 1 /* $Id: memalloc.c,v 1.3 2001-09-05 13:36:37 bird Exp $ */ 1 2 /* 2 3 * Implementation of CLSID_MemoryAllocator. … … 32 33 HRESULT QUARTZ_CreateMemoryAllocator(IUnknown* punkOuter,void** ppobj) 33 34 { 34 CMemoryAllocator*pma;35 CMemoryAllocator* pma; 35 36 36 37 TRACE("(%p,%p)\n",punkOuter,ppobj); 37 38 38 39 40 39 pma = (CMemoryAllocator*)QUARTZ_AllocObj( sizeof(CMemoryAllocator) ); 40 if ( pma == NULL ) 41 return E_OUTOFMEMORY; 41 42 42 43 43 QUARTZ_IUnkInit( &pma->unk, punkOuter ); 44 CMemoryAllocator_InitIMemAllocator( pma ); 44 45 45 46 46 pma->unk.pEntries = IFEntries; 47 pma->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]); 47 48 48 49 *ppobj = (void*)(&pma->unk); 49 50 50 51 return S_OK; 51 52 } -
trunk/src/quartz/sysclock.c
r6578 r6649 1 /* $Id: sysclock.c,v 1.3 2001-09-05 13:36:38 bird Exp $ */ 1 2 /* 2 3 * Implementation of CLSID_SystemClock. … … 32 33 HRESULT QUARTZ_CreateSystemClock(IUnknown* punkOuter,void** ppobj) 33 34 { 34 CSystemClock*psc;35 CSystemClock* psc; 35 36 36 37 TRACE("(%p,%p)\n",punkOuter,ppobj); 37 38 38 39 40 39 psc = (CSystemClock*)QUARTZ_AllocObj( sizeof(CSystemClock) ); 40 if ( psc == NULL ) 41 return E_OUTOFMEMORY; 41 42 42 43 43 QUARTZ_IUnkInit( &psc->unk, punkOuter ); 44 CSystemClock_InitIReferenceClock( psc ); 44 45 45 46 46 psc->unk.pEntries = IFEntries; 47 psc->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]); 47 48 48 49 *ppobj = (void*)(&psc->unk); 49 50 50 51 return S_OK; 51 52 } -
trunk/src/riched32/initriched32.cpp
r6588 r6649 1 /* $Id: initriched32.cpp,v 1.2 2001-09-05 13:37:19 bird Exp $ */ 1 2 /* 2 3 * DLL entry point … … 52 53 { 53 54 case DLL_PROCESS_ATTACH: 54 55 return RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad); 55 56 56 57 case DLL_THREAD_ATTACH: 57 58 case DLL_THREAD_DETACH: 58 59 return RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad); 59 60 60 61 case DLL_PROCESS_DETACH: 61 62 62 ret = RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad); 63 ctordtorTerm(); 63 64 return ret; 64 65 } … … 87 88 case 0 : 88 89 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 89 90 if(dllHandle == 0) 91 90 dllHandle = RegisterLxDll(hModule, OdinLibMain, (PVOID)&_Resource_PEResTab); 91 if(dllHandle == 0) 92 return 0UL; 92 93 93 94 break; 94 95 case 1 : 95 96 if(dllHandle) { 96 97 UnregisterLxDll(dllHandle); 97 98 } 98 99 break; -
trunk/src/riched32/initterm.cpp
r6588 r6649 1 /* $Id: initterm.cpp,v 1.6 2001-09-05 13:37:19 bird Exp $ */ 1 2 /* 2 3 * DLL entry point -
trunk/src/rpcrt4/initrpcrt4.cpp
r6401 r6649 1 /* $Id: initrpcrt4.cpp,v 1.3 2001-09-05 13:37:51 bird Exp $ */ 1 2 /* 2 3 * DLL entry point … … 64 65 switch (ulFlag) { 65 66 case 0 : 66 67 if(dllHandle == 0) 68 67 dllHandle = RegisterLxDll(hModule, NULL, (PVOID)&rpcrt4_PEResTab); 68 if(dllHandle == 0) 69 return 0UL; 69 70 70 71 72 71 //SvL: Must be done here as the socket calls trash FS! 72 /* Init the Uuid subsystem */ 73 UuidInit(); 73 74 74 75 break; … … 76 77 case 1 : 77 78 if(dllHandle) { 78 79 UnregisterLxDll(dllHandle); 79 80 } 80 81 break; -
trunk/src/rpcrt4/initterm.cpp
r6375 r6649 1 /* $Id: initterm.cpp,v 1.7 2001-09-05 13:37:51 bird Exp $ */ 1 2 /* 2 3 * DLL entry point -
trunk/src/setupapi/devinst.c
r4989 r6649 1 /* $Id: devinst.c,v 1.2 2001-09-05 13:38:23 bird Exp $ */ 1 2 /* 2 3 * SetupAPI device installer … … 12 13 13 14 /*********************************************************************** 14 * 15 * DiGetClassDevs (SETUPX.304) 15 16 * Return a list of installed system devices. 16 17 * Uses HKLM\\ENUM to list devices. -
trunk/src/setupapi/infparse.c
r4989 r6649 1 /* $Id: infparse.c,v 1.2 2001-09-05 13:38:23 bird Exp $ */ 1 2 /* 2 3 * SetupX .inf file parsing functions … … 29 30 30 31 if (!lphInf) 31 32 return IP_ERROR; 32 33 33 34 /* this could be improved by checking for already freed handles */ 34 if (IP_curr_handle == 0xffff) 35 return ERR_IP_OUT_OF_HANDLES; 35 if (IP_curr_handle == 0xffff) 36 return ERR_IP_OUT_OF_HANDLES; 36 37 37 38 if (hFile != HFILE_ERROR) 38 39 { 39 40 41 42 40 InfList = HeapReAlloc(GetProcessHeap(), 0, InfList, InfNumEntries+1); 41 InfList[InfNumEntries].hInf = IP_curr_handle++; 42 InfList[InfNumEntries].hInfFile = hFile; 43 InfList[InfNumEntries].lpInfFileName = HeapAlloc( GetProcessHeap(), 0, 43 44 strlen(lpInfFileName)+1); 44 45 strcpy( InfList[InfNumEntries].lpInfFileName, lpInfFileName ); 45 46 *lphInf = InfList[InfNumEntries].hInf; 46 47 48 47 InfNumEntries++; 48 TRACE("ret handle %d.\n", *lphInf); 49 return OK; 49 50 } 50 51 *lphInf = 0xffff; … … 57 58 58 59 for (n=0; n < InfNumEntries; n++) 59 60 61 62 63 60 if (InfList[n].hInf == hInf) 61 { 62 *ret = n; 63 return TRUE; 64 } 64 65 return FALSE; 65 66 } 66 67 67 68 68 69 LPCSTR IP_GetFileName(HINF16 hInf) … … 71 72 if (IP_FindInf(hInf, &n)) 72 73 { 73 74 return InfList[n].lpInfFileName; 74 75 } 75 76 return NULL; … … 84 85 if (IP_FindInf(hInf, &n)) 85 86 { 86 87 88 89 90 91 92 87 _lclose(InfList[n].hInfFile); 88 HeapFree(GetProcessHeap(), 0, InfList[n].lpInfFileName); 89 for (i=n; i < InfNumEntries-1; i++) 90 InfList[i] = InfList[i+1]; 91 InfNumEntries--; 92 InfList = HeapReAlloc(GetProcessHeap(), 0, InfList, InfNumEntries); 93 res = OK; 93 94 } 94 95 return res; … … 96 97 97 98 /*********************************************************************** 98 * 99 * IpOpen16 99 100 * 100 101 */ … … 106 107 107 108 /*********************************************************************** 108 * 109 * IpClose16 109 110 */ 110 111 RETERR16 WINAPI IpClose16(HINF16 hInf) … … 114 115 115 116 /*********************************************************************** 116 * 117 * IpGetProfileString16 117 118 */ 118 RETERR16 WINAPI IpGetProfileString16(HINF16 hInf, LPCSTR section, LPCSTR entry, LPSTR buffer, WORD buflen) 119 RETERR16 WINAPI IpGetProfileString16(HINF16 hInf, LPCSTR section, LPCSTR entry, LPSTR buffer, WORD buflen) 119 120 { 120 121 TRACE("'%s': section '%s' entry '%s'\n", IP_GetFileName(hInf), section, entry); -
trunk/src/setupapi/setupx_main.c
r4989 r6649 1 /* $Id: setupx_main.c,v 1.2 2001-09-05 13:38:23 bird Exp $ */ 1 2 /* 2 3 * SETUPX library … … 26 27 * 27 28 * SETUPX consists of several parts with the following acronyms/prefixes: 28 * Di 29 * Gen 30 * Ip 31 * LDD 32 * LDID logical device ID29 * Di device installer (devinst.c ?) 30 * Gen generic installer (geninst.c ?) 31 * Ip .INF parsing (infparse.c) 32 * LDD logical device descriptor (ldd.c ?) 33 * LDID logical device ID 33 34 * SU setup (setup.c ?) 34 * Tp 35 * Vcp 35 * Tp text processing (textproc.c ?) 36 * Vcp virtual copy module (vcp.c ?) 36 37 * ... 37 38 * … … 55 56 56 57 /*********************************************************************** 57 * 58 * SURegOpenKey 58 59 */ 59 60 DWORD WINAPI SURegOpenKey( HKEY hkey, LPCSTR lpszSubKey, LPHKEY retkey ) … … 64 65 65 66 /*********************************************************************** 66 * 67 * SURegQueryValueEx 67 68 */ 68 69 DWORD WINAPI SURegQueryValueEx( HKEY hkey, LPSTR lpszValueName, … … 94 95 while (1) 95 96 { 96 97 98 99 100 101 102 &&(*q != ' ') && (*q != '\t') && (*q != '"')103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 } 125 97 /* find beginning of real substring */ 98 while ( (*p == ' ') || (*p == '\t') || (*p == '"') ) p++; 99 100 /* find end of real substring */ 101 q = p; 102 while ( (*q) 103 && (*q != ' ') && (*q != '\t') && (*q != '"') 104 && (*q != ';') && (*q != delimiter) ) q++; 105 if (q == p) 106 break; 107 len = (int)q - (int)p; 108 109 /* alloc entry for new substring in steps of 32 units and copy over */ 110 if (count % 32 == 0) 111 { /* 1 for count field + current count + 32 */ 112 res = HeapReAlloc(GetProcessHeap(), 0, res, (1+count+32)*sizeof(LPSTR)); 113 } 114 *(res+1+count) = HeapAlloc(GetProcessHeap(), 0, len+1); 115 strncpy(*(res+1+count), p, len); 116 (*(res+1+count))[len] = '\0'; 117 count++; 118 119 /* we are still within last substring (before delimiter), 120 * so get out of it */ 121 while ((*q) && (*q != ';') && (*q != delimiter)) q++; 122 if ((!*q) || (*q == ';')) 123 break; 124 p = q+1; 125 } 126 126 127 /* put number of entries at beginning of list */ 127 128 *(DWORD *)res = count; … … 136 137 137 138 for (n=0; n < count; n++) 138 139 HeapFree(GetProcessHeap(), 0, *pStrings++); 139 140 140 141 HeapFree(GetProcessHeap(), 0, substr); … … 163 164 * Hmm, but on the other hand SETUPX_GetSubStrings() will probably 164 165 * soon be replaced by InitSubstrData() etc. anyway. 165 * 166 * 166 167 */ 167 168 static BOOL SETUPX_LookupRegistryString(LPSTR regstr, LPSTR buffer, DWORD buflen) … … 181 182 for (n=0; n < 5; n++) 182 183 { 183 184 185 186 187 188 189 190 191 192 184 q = strchr(p, ','); 185 if (!q) 186 { 187 if (n == 4) 188 q = p+strlen(p); 189 else 190 return FALSE; 191 } 192 next = q+1; 193 if (q < regstr) 193 194 return FALSE; 194 195 SETUPX_IsolateSubString(&p, &q); … … 197 198 strncpy(items[n], p, len); 198 199 items[n][len] = '\0'; 199 200 p = next; 200 201 } 201 202 TRACE("got '%s','%s','%s','%s','%s'\n", 202 203 203 items[0], items[1], items[2], items[3], items[4]); 204 204 205 /* check root key */ 205 206 if (!strcasecmp(items[0], "HKCR")) 206 207 hkey = HKEY_CLASSES_ROOT; 207 208 else 208 209 if (!strcasecmp(items[0], "HKCU")) 209 210 hkey = HKEY_CURRENT_USER; 210 211 else 211 212 if (!strcasecmp(items[0], "HKLM")) 212 213 hkey = HKEY_LOCAL_MACHINE; 213 214 else 214 215 if (!strcasecmp(items[0], "HKU")) 215 216 hkey = HKEY_USERS; 216 217 else 217 218 { /* HKR ? -> relative to key passed to GenInstallEx */ 218 219 FIXME("unsupported regkey '%s'\n", items[0]); 219 220 goto regfailed; 220 221 } … … 224 225 225 226 if (RegQueryValueExA(hsubkey, items[2], NULL, &dwType, buffer, &buflen) 226 227 != ERROR_SUCCESS) 227 228 goto regfailed; 228 229 goto done; … … 234 235 HeapFree(heap, 0, items[n]); 235 236 if (buffer) 236 237 TRACE("return '%s'\n", buffer); 237 238 return TRUE; 238 239 } … … 244 245 245 246 do { 246 247 248 247 buf = HeapReAlloc(GetProcessHeap(), 0, buf, len); 248 res = GetPrivateProfileStringA(NULL, NULL, NULL, buf, len, filename); 249 len *= 2; 249 250 } while ((!res) && (len < 1048576)); 250 251 if (!res) 251 252 { 252 253 253 HeapFree(GetProcessHeap(), 0, buf); 254 return NULL; 254 255 } 255 256 return buf; … … 262 263 263 264 do { 264 265 266 265 buf = HeapReAlloc(GetProcessHeap(), 0, buf, len); 266 res = GetPrivateProfileSectionA(section, buf, len, filename); 267 len *= 2; 267 268 } while ((!res) && (len < 1048576)); 268 269 if (!res) 269 270 { 270 271 271 HeapFree(GetProcessHeap(), 0, buf); 272 return NULL; 272 273 } 273 274 return buf; … … 276 277 277 278 /*********************************************************************** 278 * 279 * InstallHinfSection 279 280 * 280 281 * hwnd = parent window … … 283 284 * Here "DefaultInstall" is the .inf file section to be installed (optional). 284 285 * The 132 value is made of the HOW_xxx flags and sometimes 128 (-> setupx16.h). 285 * 286 * 286 287 * nCmdShow = nCmdShow of CreateProcess 287 288 */ … … 297 298 HMODULE hMod; 298 299 MSGBOX_PROC pMessageBoxA; 299 300 300 301 TRACE("(%04x, %04x, %s, %d);\n", hwnd, hinst, lpszCmdLine, nCmdShow); 301 302 302 303 pSub = SETUPX_GetSubStrings((LPSTR)lpszCmdLine, ' '); 303 304 304 305 count = *(DWORD *)pSub; 305 306 if (count < 2) /* invalid number of arguments ? */ 306 307 goto end; 307 308 if (IpOpen16(*(pSub+count), &hInf) != OK) 308 309 { 309 310 310 res = ERROR_FILE_NOT_FOUND; /* yes, correct */ 311 goto end; 311 312 } 312 313 if (GenInstall16(hInf, *(pSub+count-2), GENINSTALL_DO_ALL) != OK) 313 314 goto end; 314 315 wFlags = atoi(*(pSub+count-1)) & ~128; 315 316 switch (wFlags) 316 317 { 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 } 337 318 case HOW_ALWAYS_SILENT_REBOOT: 319 case HOW_SILENT_REBOOT: 320 reboot = TRUE; 321 break; 322 case HOW_ALWAYS_PROMPT_REBOOT: 323 case HOW_PROMPT_REBOOT: 324 if ((hMod = GetModuleHandleA("user32.dll"))) 325 { 326 if ((pMessageBoxA = (MSGBOX_PROC)GetProcAddress( hMod, "MessageBoxA" ))) 327 { 328 329 if (pMessageBoxA(hwnd, "You must restart Wine before the new settings will take effect.\n\nDo you want to exit Wine now ?", "Systems Settings Change", MB_YESNO|MB_ICONQUESTION) == IDYES) 330 reboot = TRUE; 331 } 332 } 333 break; 334 default: 335 ERR("invalid flags %d !\n", wFlags); 336 goto end; 337 } 338 338 339 res = OK; 339 340 end: … … 342 343 if (reboot) 343 344 { 344 345 346 345 /* FIXME: we should have a means of terminating all wine + wineserver */ 346 MESSAGE("Program or user told me to restart. Exiting Wine...\n"); 347 ExitProcess(1); 347 348 } 348 349 … … 359 360 { 360 361 { /* 0 (LDID_NULL) -- not defined */ 361 362 362 NULL, 363 NULL 363 364 }, 364 365 { /* 1 (LDID_SRCPATH) = source of installation. hmm, what to do here ? */ 365 366 366 "SourcePath", /* hmm, does SETUPX have to care about updating it ?? */ 367 NULL 367 368 }, 368 369 { /* 2 (LDID_SETUPTEMP) = setup temp dir */ 369 370 370 "SetupTempDir", 371 NULL 371 372 }, 372 373 { /* 3 (LDID_UNINSTALL) = uninstall backup dir */ 373 374 374 "UninstallDir", 375 NULL 375 376 }, 376 377 { /* 4 (LDID_BACKUP) = backup dir */ 377 378 378 "BackupDir", 379 NULL 379 380 }, 380 381 { /* 5 (LDID_SETUPSCRATCH) = setup scratch dir */ 381 382 382 "SetupScratchDir", 383 NULL 383 384 }, 384 385 { /* 6 -- not defined */ 385 386 386 NULL, 387 NULL 387 388 }, 388 389 { /* 7 -- not defined */ 389 390 390 NULL, 391 NULL 391 392 }, 392 393 { /* 8 -- not defined */ 393 394 394 NULL, 395 NULL 395 396 }, 396 397 { /* 9 -- not defined */ 397 398 398 NULL, 399 NULL 399 400 }, 400 401 { /* 10 (LDID_WIN) = windows dir */ 401 402 "WinDir", 402 403 "" 403 404 }, 404 405 { /* 11 (LDID_SYS) = system dir */ 405 406 406 "SysDir", 407 NULL /* call GetSystemDirectory() instead */ 407 408 }, 408 409 { /* 12 (LDID_IOS) = IOSubSys dir */ 409 410 NULL, /* FIXME: registry string ? */ 410 411 "SYSTEM\\IOSUBSYS" 411 412 }, 412 413 { /* 13 (LDID_CMD) = COMMAND dir */ 413 414 414 NULL, /* FIXME: registry string ? */ 415 "COMMAND" 415 416 }, 416 417 { /* 14 (LDID_CPL) = control panel dir */ 417 418 418 NULL, 419 "" 419 420 }, 420 421 { /* 15 (LDID_PRINT) = windows printer dir */ 421 422 422 NULL, 423 "SYSTEM" /* correct ?? */ 423 424 }, 424 425 { /* 16 (LDID_MAIL) = destination mail dir */ 425 426 426 NULL, 427 "" 427 428 }, 428 429 { /* 17 (LDID_INF) = INF dir */ 429 430 430 "SetupScratchDir", /* correct ? */ 431 "INF" 431 432 }, 432 433 { /* 18 (LDID_HELP) = HELP dir */ 433 434 434 NULL, /* ??? */ 435 "HELP" 435 436 }, 436 437 { /* 19 (LDID_WINADMIN) = Admin dir */ 437 438 438 "WinAdminDir", 439 "" 439 440 }, 440 441 { /* 20 (LDID_FONTS) = Fonts dir */ 441 442 442 NULL, /* ??? */ 443 "FONTS" 443 444 }, 444 445 { /* 21 (LDID_VIEWERS) = Viewers */ 445 446 446 NULL, /* ??? */ 447 "SYSTEM\\VIEWERS" 447 448 }, 448 449 { /* 22 (LDID_VMM32) = VMM32 dir */ 449 450 450 NULL, /* ??? */ 451 "SYSTEM\\VMM32" 451 452 }, 452 453 { /* 23 (LDID_COLOR) = ICM dir */ 453 454 454 "ICMPath", 455 "SYSTEM\\COLOR" 455 456 }, 456 457 { /* 24 (LDID_APPS) = root of boot drive ? */ 457 458 458 "AppsDir", 459 "C:\\" 459 460 }, 460 461 { /* 25 (LDID_SHARED) = shared dir */ 461 462 462 "SharedDir", 463 "" 463 464 }, 464 465 { /* 26 (LDID_WINBOOT) = Windows boot dir */ 465 466 466 "WinBootDir", 467 "" 467 468 }, 468 469 { /* 27 (LDID_MACHINE) = machine specific files */ 469 470 470 "MachineDir", 471 NULL 471 472 }, 472 473 { /* 28 (LDID_HOST_WINBOOT) = Host Windows boot dir */ 473 474 474 "HostWinBootDir", 475 NULL 475 476 }, 476 477 { /* 29 -- not defined */ 477 478 478 NULL, 479 NULL 479 480 }, 480 481 { /* 30 (LDID_BOOT) = Root of boot drive */ 481 482 482 "BootDir", 483 NULL 483 484 }, 484 485 { /* 31 (LDID_BOOT_HOST) = Root of boot drive host */ 485 486 486 "BootHost", 487 NULL 487 488 }, 488 489 { /* 32 (LDID_OLD_WINBOOT) = subdir of root */ 489 490 490 "OldWinBootDir", 491 NULL 491 492 }, 492 493 { /* 33 (LDID_OLD_WIN) = old win dir */ 493 494 494 "OldWinDir", 495 NULL 495 496 } 496 497 /* the rest (34-38) isn't too interesting, so I'll forget about it */ 497 498 }; 498 499 499 /* 500 /* 500 501 * LDD == Logical Device Descriptor 501 502 * LDID == Logical Device ID … … 527 528 for (n=0; n < sizeof(LDID_Data)/sizeof(LDID_DATA); n++) 528 529 { 529 530 531 532 533 534 535 536 537 538 539 530 buffer[0] = '\0'; 531 532 len = MAX_PATH; 533 if ( (hKey) && (LDID_Data[n].RegValName) 534 && (RegQueryValueExA(hKey, LDID_Data[n].RegValName, 535 NULL, &type, buffer, &len) == ERROR_SUCCESS) 536 && (type == REG_SZ) ) 537 { 538 TRACE("found value '%s' for LDID %d\n", buffer, n); 539 } 540 else 540 541 switch(n) 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 } 567 568 569 570 571 572 573 542 { 543 case LDID_SRCPATH: 544 FIXME("LDID_SRCPATH: what exactly do we have to do here ?\n"); 545 strcpy(buffer, "X:\\FIXME"); 546 break; 547 case LDID_SYS: 548 GetSystemDirectoryA(buffer, MAX_PATH); 549 break; 550 case LDID_APPS: 551 case LDID_MACHINE: 552 case LDID_HOST_WINBOOT: 553 case LDID_BOOT: 554 case LDID_BOOT_HOST: 555 strcpy(buffer, "C:\\"); 556 break; 557 default: 558 if (LDID_Data[n].StdString) 559 { 560 DWORD len = GetWindowsDirectoryA(buffer, MAX_PATH); 561 LPSTR p; 562 p = buffer + len; 563 *p++ = '\\'; 564 strcpy(p, LDID_Data[n].StdString); 565 } 566 break; 567 } 568 if (buffer[0]) 569 { 570 INIT_LDD(ldd, n); 571 ldd.pszPath = buffer; 572 TRACE("LDID %d -> '%s'\n", ldd.ldid, ldd.pszPath); 573 CtlSetLdd16(&ldd); 574 } 574 575 } 575 576 if (hKey) RegCloseKey(hKey); 576 577 } 577 578 /*********************************************************************** 579 * CtlDelLdd 578 579 /*********************************************************************** 580 * CtlDelLdd (SETUPX.37) 580 581 * 581 582 * RETURN … … 589 590 590 591 if (!std_LDDs_done) 591 592 SETUPX_CreateStandardLDDs(); 592 593 593 594 if (ldid < LDID_ASSIGN_START) 594 595 return ERR_VCP_LDDINVALID; 595 596 596 597 pCurr = pFirstLDD; … … 598 599 while ((pCurr != NULL) && (ldid > pCurr->pldd->ldid)) 599 600 { 600 601 601 pPrev = pCurr; 602 pCurr = pCurr->next; 602 603 } 603 604 if ( (pCurr == NULL) /* hit end of list */ 604 605 || (ldid != pCurr->pldd->ldid) ) 605 606 return ERR_VCP_LDDFIND; /* correct ? */ 606 607 607 608 /* ok, found our victim: eliminate it */ 608 609 609 610 if (pPrev) 610 611 pPrev->next = pCurr->next; 611 612 612 613 if (pCurr == pFirstLDD) 613 614 pFirstLDD = NULL; 614 615 HeapFree(GetProcessHeap(), 0, pCurr); 615 616 616 617 return OK; 617 618 } 618 619 619 620 /*********************************************************************** 620 * 621 * CtlDelLdd (SETUPX.37) 621 622 */ 622 623 RETERR16 WINAPI CtlDelLdd16(LOGDISKID16 ldid) … … 627 628 628 629 /*********************************************************************** 629 * CtlFindLdd 630 * CtlFindLdd (SETUPX.35) 630 631 * 631 632 * doesn't check pldd ptr validity: crash (W98SE) … … 634 635 * ERR_VCP_LDDINVALID if pldd->cbSize != structsize 635 636 * 1 in all other cases ?? 636 * 637 * 637 638 */ 638 639 RETERR16 WINAPI CtlFindLdd16(LPLOGDISKDESC pldd) … … 641 642 642 643 TRACE("(%p)\n", pldd); 643 644 644 645 if (!std_LDDs_done) 645 646 SETUPX_CreateStandardLDDs(); 646 647 647 648 if (pldd->cbSize != sizeof(LOGDISKDESC_S)) … … 652 653 while ((pCurr != NULL) && (pldd->ldid > pCurr->pldd->ldid)) 653 654 { 654 655 655 pPrev = pCurr; 656 pCurr = pCurr->next; 656 657 } 657 658 if ( (pCurr == NULL) /* hit end of list */ 658 659 || (pldd->ldid != pCurr->pldd->ldid) ) 659 660 return ERR_VCP_LDDFIND; /* correct ? */ 660 661 661 662 memcpy(pldd, pCurr->pldd, pldd->cbSize); 662 663 /* hmm, we probably ought to strcpy() the string ptrs here */ 663 664 664 665 return 1; /* what is this ?? */ 665 666 } 666 667 667 668 /*********************************************************************** 668 * CtlSetLdd 669 * CtlSetLdd (SETUPX.33) 669 670 * 670 671 * Set an LDD entry. … … 684 685 685 686 if (!std_LDDs_done) 686 687 SETUPX_CreateStandardLDDs(); 687 688 688 689 if (pldd->cbSize != sizeof(LOGDISKDESC_S)) 689 690 return ERR_VCP_LDDINVALID; 690 691 691 692 heap = GetProcessHeap(); … … 694 695 while ((pCurr != NULL) && (pldd->ldid > pCurr->pldd->ldid)) 695 696 { 696 697 697 pPrev = pCurr; 698 pCurr = pCurr->next; 698 699 } 699 700 if (pCurr == NULL) /* hit end of list */ 700 701 { 701 702 is_new = TRUE; 702 703 pCurr = HeapAlloc(heap, 0, sizeof(LDD_LIST)); 703 704 pCurr->pldd = HeapAlloc(heap, 0, sizeof(LOGDISKDESC_S)); … … 708 709 { 709 710 pCurrLDD = pCurr->pldd; 710 if (pCurrLDD->pszPath)HeapFree(heap, 0, pCurrLDD->pszPath);711 if (pCurrLDD->pszVolLabel)HeapFree(heap, 0, pCurrLDD->pszVolLabel);712 if (pCurrLDD->pszDiskName)HeapFree(heap, 0, pCurrLDD->pszDiskName);711 if (pCurrLDD->pszPath) HeapFree(heap, 0, pCurrLDD->pszPath); 712 if (pCurrLDD->pszVolLabel) HeapFree(heap, 0, pCurrLDD->pszVolLabel); 713 if (pCurrLDD->pszDiskName) HeapFree(heap, 0, pCurrLDD->pszDiskName); 713 714 } 714 715 … … 716 717 717 718 if (pldd->pszPath) 718 pCurrLDD->pszPath 719 pCurrLDD->pszPath = HEAP_strdupA(heap, 0, pldd->pszPath); 719 720 if (pldd->pszVolLabel) 720 pCurrLDD->pszVolLabel= HEAP_strdupA(heap, 0, pldd->pszVolLabel);721 pCurrLDD->pszVolLabel = HEAP_strdupA(heap, 0, pldd->pszVolLabel); 721 722 if (pldd->pszDiskName) 722 pCurrLDD->pszDiskName= HEAP_strdupA(heap, 0, pldd->pszDiskName);723 pCurrLDD->pszDiskName = HEAP_strdupA(heap, 0, pldd->pszDiskName); 723 724 724 725 if (is_new) /* link into list */ 725 726 { 726 727 if (pPrev) 727 728 728 { 729 pCurr->next = pPrev->next; 729 730 pPrev->next = pCurr; 730 731 732 733 } 734 731 } 732 if (!pFirstLDD) 733 pFirstLDD = pCurr; 734 } 735 735 736 return OK; 736 737 } … … 738 739 739 740 /*********************************************************************** 740 * CtlAddLdd 741 * CtlAddLdd (SETUPX.36) 741 742 * 742 743 * doesn't check pldd ptr validity: crash (W98SE) … … 751 752 752 753 /*********************************************************************** 753 * CtlGetLdd 754 * CtlGetLdd (SETUPX.34) 754 755 * 755 756 * doesn't check pldd ptr validity: crash (W98SE) … … 758 759 * RETURN 759 760 * ERR_VCP_LDDINVALID if pldd->cbSize != structsize 760 * 761 * 761 762 */ 762 763 static RETERR16 SETUPX_GetLdd(LPLOGDISKDESC pldd) … … 765 766 766 767 if (!std_LDDs_done) 767 768 SETUPX_CreateStandardLDDs(); 768 769 769 770 if (pldd->cbSize != sizeof(LOGDISKDESC_S)) … … 774 775 while ((pCurr != NULL) && (pldd->ldid > pCurr->pldd->ldid)) 775 776 { 776 777 777 pPrev = pCurr; 778 pCurr = pCurr->next; 778 779 } 779 780 if (pCurr == NULL) /* hit end of list */ 780 781 return ERR_VCP_LDDFIND; /* correct ? */ 781 782 782 783 memcpy(pldd, pCurr->pldd, pldd->cbSize); … … 795 796 796 797 /*********************************************************************** 797 * CtlGetLddPath(SETUPX.38)798 * CtlGetLddPath (SETUPX.38) 798 799 * 799 800 * Gets the path of an LDD. … … 809 810 if (szPath) 810 811 { 811 812 813 814 815 812 LOGDISKDESC_S ldd; 813 INIT_LDD(ldd, ldid); 814 if (CtlFindLdd16(&ldd) == ERR_VCP_LDDFIND) 815 return ERR_VCP_LDDUNINIT; 816 SETUPX_GetLdd(&ldd); 816 817 strcpy(szPath, ldd.pszPath); 817 818 TRACE("ret '%s' for LDID %d\n", szPath, ldid); 818 819 } 819 820 return OK; … … 821 822 822 823 /*********************************************************************** 823 * CtlSetLddPath(SETUPX.508)824 * CtlSetLddPath (SETUPX.508) 824 825 * 825 826 * Sets the path of an LDD. … … 830 831 LOGDISKDESC_S ldd; 831 832 TRACE("(%d, '%s');\n", ldid, szPath); 832 833 833 834 INIT_LDD(ldd, ldid); 834 835 ldd.pszPath = szPath; … … 847 848 * -- registry lookup --> 848 849 * C:\Program Files (or C:\ if not found in registry) 849 * 850 * 850 851 * FIXME: 851 852 * - maybe we ought to add a caching array for speed ? - I don't care :) … … 853 854 * LDIDs for both install and removal sections. 854 855 * - probably the whole function can be removed as installers add that on their 855 * own 856 * own 856 857 */ 857 858 static BOOL SETUPX_AddCustomLDID(int ldid, INT16 hInf) … … 869 870 if (!(sectionbuf = SETUPX_GetSections(filename))) 870 871 { 871 872 872 ERR("couldn't get sections !\n"); 873 return FALSE; 873 874 } 874 875 for (pSec=sectionbuf; *pSec; pSec += strlen(pSec)+1) 875 876 { 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 877 if (!(entrybuf = SETUPX_GetSectionEntries(filename, pSec))) 878 { 879 ERR("couldn't get section entries !\n"); 880 goto end; 881 } 882 for (pEnt=entrybuf; *pEnt; pEnt += strlen(pEnt)+1) 883 { 884 if (strstr(pEnt, ldidstr)) 885 { 886 pEqual = strchr(pEnt, '='); 887 if (!pEqual) /* crippled entry ?? */ 888 continue; 889 890 /* make sure we found the LDID on left side of the equation */ 891 if (pEnt+strlen(ldidstr) <= pEqual) 892 { /* found */ 893 894 /* but we don't want entries in the strings section */ 895 if (!strcasecmp(pSec, "Strings")) 896 goto next_section; 897 p = pEqual+1; 898 goto found; 899 } 900 } 901 } 901 902 next_section: 902 903 } … … 907 908 if (*(DWORD *)pSub > 2) 908 909 { 909 910 910 ERR("malformed entry '%s' ?\n", p); 911 goto end; 911 912 } 912 913 TRACE("found section '%s'\n", *(pSub+1)); … … 916 917 if (!(regsectionbuf = SETUPX_GetSectionEntries(filename, *(pSub+1)))) 917 918 { 918 919 919 ERR("couldn't get registry section entries !\n"); 920 goto end; 920 921 } 921 922 /* sectionbuf is > 1024 bytes anyway, so use it */ … … 928 929 end: 929 930 SETUPX_FreeSubStrings(pSub); 930 if (sectionbuf) 931 if (entrybuf) 932 if (regsectionbuf) 931 if (sectionbuf) HeapFree(GetProcessHeap(), 0, sectionbuf); 932 if (entrybuf) HeapFree(GetProcessHeap(), 0, entrybuf); 933 if (regsectionbuf) HeapFree(GetProcessHeap(), 0, regsectionbuf); 933 934 return ret; 934 935 } … … 947 948 if (CtlFindLdd16(&ldd) == ERR_VCP_LDDFIND) 948 949 { 949 950 951 952 953 954 950 /* hmm, it seems the installers already do the work for us 951 * (by calling CtlSetLddPath) that SETUPX_AddCustomLDID 952 * is supposed to do. Grmbl ;-) 953 * Well, I'll leave it here anyway, but print error... */ 954 ERR("hmm, LDID %d not registered yet !?\n", ldid); 955 handled = SETUPX_AddCustomLDID(ldid, hInf); 955 956 } 956 957 else 957 958 958 handled = TRUE; 959 959 960 SETUPX_GetLdd(&ldd); 960 961 961 962 if (!handled) 962 963 { 963 964 FIXME("What is LDID %d ??\n", ldid); 964 965 *p = "LDID_FIXME"; 965 966 } 966 967 else 967 968 *p = ldd.pszPath; 968 969 969 970 return handled; … … 971 972 972 973 /*********************************************************************** 973 * 974 * GenFormStrWithoutPlaceHolders 974 975 * 975 976 * ought to be pretty much implemented, I guess... … … 980 981 LPSTR pDst = szDst, p, pPHBegin; 981 982 int count; 982 983 983 984 TRACE("(%p, '%s', %04x);\n", szDst, szSrc, hInf); 984 985 while (pSrc < pSrcEnd) 985 986 { 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 987 p = strchr(pSrc, '%'); 988 if (p) 989 { 990 count = (int)p - (int)pSrc; 991 strncpy(pDst, pSrc, count); 992 pSrc += count; 993 pDst += count; 994 pPHBegin = p+1; 995 p = strchr(pPHBegin, '%'); 996 if (p) 997 { 998 char placeholder[80]; /* that really ought to be enough ;) */ 999 int ldid; 1000 BOOL done = TRUE; 1001 count = (int)p - (int)pPHBegin; 1002 strncpy(placeholder, pPHBegin, count); 1003 placeholder[count] = '\0'; 1004 ldid = atoi(placeholder); 1005 if (ldid) 1006 { 1007 LPSTR p; 1008 done = SETUPX_IP_TranslateLDID(ldid, &p, hInf); 1009 strcpy(pDst, p); 1010 if (done) 1011 pDst += strlen(pDst); 1012 } 1013 else 1014 { /* hmm, string placeholder. Need to look up 1015 in the [strings] section of the hInf */ 1016 DWORD ret; 1017 char buf[256]; /* long enough ? */ 1018 1019 ret = GetPrivateProfileStringA("strings", placeholder, "", 1020 buf, 256, IP_GetFileName(hInf)); 1021 if (ret) 1022 { 1023 strcpy(pDst, buf); 1024 pDst += strlen(buf); 1025 } 1026 else 1027 { 1028 ERR("placeholder string '%s' not found !\n", placeholder); 1029 done = FALSE; 1030 } 1031 } 1032 if (!done) 1033 { /* copy raw placeholder string over */ 1034 count = (int)p - (int)pPHBegin + 2; 1035 strncpy(pDst, pPHBegin-1, count); 1036 pDst += count; 1037 1038 } 1039 pSrc = p+1; 1040 continue; 1041 } 1042 } 1043 1044 /* copy the remaining source string over */ 1045 strncpy(pDst, pSrc, (int)pSrcEnd - (int)pSrc + 1); 1046 break; 1046 1047 } 1047 1048 TRACE("ret '%s'\n", szDst); … … 1049 1050 1050 1051 /*********************************************************************** 1051 * 1052 * VcpOpen 1052 1053 * 1053 1054 * No idea what to do here. … … 1060 1061 1061 1062 /*********************************************************************** 1062 * 1063 * VcpClose 1063 1064 * 1064 1065 * Is fl related to VCPDISKINFO.fl ? … … 1091 1092 for (n=0; n < *(DWORD *)pSub; n++) 1092 1093 { 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1094 pCopyEntry = *(pSub+1+n); 1095 if (*pCopyEntry == '@') 1096 { 1097 ERR("single file not handled yet !\n"); 1098 continue; 1099 } 1100 1101 /* get source directory for that entry */ 1102 INIT_LDD(ldd, LDID_SRCPATH); 1103 SETUPX_GetLdd(&ldd); 1104 pSrcDir = ldd.pszPath; 1105 1105 1106 /* get destination directory for that entry */ 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1107 if (!(GetPrivateProfileStringA("DestinationDirs", pCopyEntry, "", 1108 pDestStr, sizeof(pDestStr), filename))) 1109 continue; 1110 1111 /* translate destination dir if given as LDID */ 1112 ldid = atoi(pDestStr); 1113 if (ldid) 1114 { 1115 if (!(SETUPX_IP_TranslateLDID(ldid, &pDstDir, hInf))) 1116 continue; 1117 } 1118 else 1119 pDstDir = pDestStr; 1120 1121 /* now that we have the destination dir, iterate over files to copy */ 1122 pFileEntries = SETUPX_GetSectionEntries(filename, pCopyEntry); 1122 1123 for (p=pFileEntries; *p; p +=strlen(p)+1) 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 } 1144 1124 { 1125 pSubFile = SETUPX_GetSubStrings(p, ','); 1126 pSrcFile = *(pSubFile+1); 1127 pDstFile = (*(DWORD *)pSubFile > 1) ? *(pSubFile+2) : pSrcFile; 1128 TRACE("copying file '%s\\%s' to '%s\\%s'\n", pSrcDir, pSrcFile, pDstDir, pDstFile); 1129 if (*(DWORD *)pSubFile > 2) 1130 { 1131 WORD flag; 1132 if ((flag = atoi(*(pSubFile+3)))) /* ah, flag */ 1133 { 1134 if (flag & 0x2c) 1135 FIXME("VNLP_xxx flag %d not handled yet.\n", flag); 1136 } 1137 else 1138 FIXME("temp file name '%s' given. Need to register in wininit.ini !\n", *(pSubFile+3)); /* strong guess that this is VcpQueueCopy() */ 1139 } 1140 SETUPX_FreeSubStrings(pSubFile); 1141 /* we don't copy ANYTHING yet ! (I'm too lazy and want to verify 1142 * this first before destroying whole partitions ;-) */ 1143 } 1144 } 1145 1145 1146 return res; 1146 1147 } 1147 1148 1148 1149 /*********************************************************************** 1149 * 1150 * GenInstall 1150 1151 * 1151 1152 * general install function for .INF file sections 1152 1153 * 1153 1154 * This is not perfect - patch whenever you can ! 1154 * 1155 * 1155 1156 * wFlags == GENINSTALL_DO_xxx 1156 1157 * e.g. NetMeeting: … … 1169 1170 if (!pEntries) 1170 1171 { 1171 1172 1172 ERR("couldn't find entries for section '%s' !\n", szInstallSection); 1173 return ERR_IP_SECT_NOT_FOUND; 1173 1174 } 1174 1175 for (p=pEntries; *p; p +=strlen(p)+1) 1175 1176 { 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1177 pEnd = strchr(p, '='); 1178 if (!pEnd) continue; 1179 pSub = SETUPX_GetSubStrings(pEnd+1, ','); /* split entries after the '=' */ 1180 SETUPX_IsolateSubString(&p, &pEnd); 1181 len = (int)pEnd - (int)p; 1182 1183 if (wFlags & GENINSTALL_DO_FILES) 1184 { 1185 if (!strncasecmp(p, "CopyFiles", len)) 1186 { 1187 SETUPX_CopyFiles(pSub, hInfFile); 1188 continue; 1189 } 1189 1190 #if IMPLEMENT_THAT 1190 1191 1192 1193 1194 1195 1191 else 1192 if (!strncasecmp(p, "DelFiles", len)) 1193 { 1194 SETUPX_DelFiles(filename, szInstallSection, pSub); 1195 continue; 1196 } 1196 1197 #endif 1197 1198 1199 1198 } 1199 if (wFlags & GENINSTALL_DO_INI) 1200 { 1200 1201 #if IMPLEMENT_THAT 1201 1202 1203 1204 1205 1202 if (!strncasecmp(p, "UpdateInis", len)) 1203 { 1204 SETUPX_UpdateInis(filename, szInstallSection, pSub); 1205 continue; 1206 } 1206 1207 #endif 1207 1208 1209 1208 } 1209 if (wFlags & GENINSTALL_DO_REG) 1210 { 1210 1211 #if IMPLEMENT_THAT 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1212 /* probably use SUReg*() functions here */ 1213 if (!strncasecmp(p, "AddReg", len)) 1214 { 1215 SETUPX_AddReg(filename, szInstallSection, pSub); 1216 continue; 1217 } 1218 else 1219 if (!strncasecmp(p, "DelReg", len)) 1220 { 1221 SETUPX_DelReg(filename, szInstallSection, pSub); 1222 continue; 1223 } 1223 1224 #endif 1224 1225 1226 1225 } 1226 1227 SETUPX_FreeSubStrings(pSub); 1227 1228 } 1228 1229 HeapFree(GetProcessHeap(), 0, pEntries); -
trunk/src/setupapi/stubs.c
r4989 r6649 1 1 /* -*- tab-width: 8; c-basic-offset: 8 -*- */ 2 /* $Id: stubs.c,v 1.2 2001-09-05 13:38:24 bird Exp $ */ 2 3 /* 3 4 * SetupAPI stubs … … 16 17 17 18 /*********************************************************************** 18 * 19 * SetupCloseFileQueue 19 20 */ 20 21 VOID WINAPI SetupCloseFileQueue(HSPFILEQ QueueHandle) 21 22 { 22 23 } 24 25 /*********************************************************************** 26 * 23 FIXME("not implemented (setupapi.dll) \n"); 24 } 25 26 /*********************************************************************** 27 * SetupCommitFileQueueA 27 28 */ 28 29 BOOL WINAPI SetupCommitFileQueueA(HWND Owner, HSPFILEQ QueueHandle, 29 30 31 { 32 33 34 } 35 36 /*********************************************************************** 37 * 30 PSP_FILE_CALLBACK_A MsgHandler, 31 PVOID Context) 32 { 33 FIXME("not implemented (setupapi.dll) \n"); 34 return FALSE; 35 } 36 37 /*********************************************************************** 38 * SetupIterateCabinetA 38 39 */ 39 40 BOOL WINAPI SetupIterateCabinetA(PCSTR CabinetFile, DWORD Reserved, 40 41 PSP_FILE_CALLBACK_A MsgHandler, PVOID Context) 41 42 { 42 43 44 } 45 46 /*********************************************************************** 47 * 43 FIXME("not implemented (setupapi.dll) \n"); 44 return 0; 45 } 46 47 /*********************************************************************** 48 * SetupIterateCabinetW 48 49 */ 49 50 BOOL WINAPI SetupIterateCabinetW(PWSTR CabinetFile, DWORD Reserved, 50 PSP_FILE_CALLBACK_W MsgHandler, PVOID Context) 51 { 52 53 54 } 55 56 57 /*********************************************************************** 58 * 51 PSP_FILE_CALLBACK_W MsgHandler, PVOID Context) 52 { 53 FIXME("not implemented (setupapi.dll) \n"); 54 return 0; 55 } 56 57 58 /*********************************************************************** 59 * SetupGetLineTextA 59 60 */ 60 61 BOOL WINAPI SetupGetLineTextA (PINFCONTEXT Context, HINF InfHandle, … … 62 63 DWORD ReturnBufferSize, PDWORD RequiredSize) 63 64 { 64 65 66 } 67 68 /*********************************************************************** 69 * 70 */ 71 BOOL WINAPI SetupGetStringFieldA(PINFCONTEXT Context, DWORD FieldIndex, 65 FIXME("not implemented (setupapi.dll) \n"); 66 return 0; 67 } 68 69 /*********************************************************************** 70 * SetupGetStringFieldA 71 */ 72 BOOL WINAPI SetupGetStringFieldA(PINFCONTEXT Context, DWORD FieldIndex, 72 73 LPSTR ReturnBuffer, DWORD ReturnBufferSize, 73 74 PDWORD RequiredSize) 74 75 { 75 76 77 } 78 79 80 /*********************************************************************** 81 * 76 FIXME("not implemented (setupapi.dll) \n"); 77 return 0; 78 } 79 80 81 /*********************************************************************** 82 * SetupFindNextLine 82 83 */ 83 84 BOOL WINAPI SetupFindNextLine (PINFCONTEXT ContextIn, PINFCONTEXT ContextOut) 84 85 { 85 86 87 } 88 89 90 /*********************************************************************** 91 * 86 FIXME("not implemented (setupapi.dll) \n"); 87 return 0; 88 } 89 90 91 /*********************************************************************** 92 * SetupInitDefaultQueueCallback 92 93 */ 93 94 PVOID WINAPI SetupInitDefaultQueueCallback(HWND OwnerWindow) 94 95 { 95 96 97 } 98 99 /*********************************************************************** 100 * 96 FIXME("not implemented (setupapi.dll) \n"); 97 return 0; 98 } 99 100 /*********************************************************************** 101 * SetupInitDefaultQueueCallbackEx 101 102 */ 102 103 PVOID WINAPI SetupInitDefaultQueueCallbackEx(HWND OwnerWindow, 103 104 105 106 107 { 108 109 110 } 111 112 /*********************************************************************** 113 * 104 HWND AlternativeProgressWindow, 105 UINT ProgressMessage, 106 DWORD res1, 107 PVOID res2) 108 { 109 FIXME("not implemented (setupapi.dll) \n"); 110 return 0; 111 } 112 113 /*********************************************************************** 114 * SetupCloseInfFile 114 115 */ 115 116 VOID WINAPI SetupCloseInfFile (HINF InfHandle) 116 117 { 117 118 } 119 120 121 /*********************************************************************** 122 * 118 FIXME("not implemented (setupapi.dll) \n"); 119 } 120 121 122 /*********************************************************************** 123 * SetupDefaultQueueCallbackA 123 124 */ 124 125 UINT WINAPI SetupDefaultQueueCallbackA (PVOID Context, UINT Notification, 125 126 UINT Param1, UINT Param2) 126 127 { 127 128 129 } 130 131 132 /*********************************************************************** 133 * 128 FIXME("not implemented (setupapi.dll) \n"); 129 return 0; 130 } 131 132 133 /*********************************************************************** 134 * SetupFindFirstLineA 134 135 */ 135 136 BOOL WINAPI SetupFindFirstLineA (HINF InfHandle, PCSTR Section, PCSTR Key, 136 137 PINFCONTEXT Context) 137 138 { 138 139 140 } 141 142 /*********************************************************************** 143 * 139 FIXME("not implemented (setupapi.dll) \n"); 140 return 0; 141 } 142 143 /*********************************************************************** 144 * SetupGetLineByIndexA 144 145 */ 145 146 BOOL WINAPI SetupGetLineByIndexA (HINF InfHandle, PCSTR Section, DWORD Index, 146 147 PINFCONTEXT Context) 147 148 { 148 149 150 } 151 152 153 /*********************************************************************** 154 * 149 FIXME("not implemented (setupapi.dll) \n"); 150 return FALSE; 151 } 152 153 154 /*********************************************************************** 155 * SetupInstallFromInfSectionA 155 156 */ 156 157 BOOL WINAPI SetupInstallFromInfSectionA (HWND Owner, HINF InfHandle, PCSTR SectionName, … … 160 161 PSP_DEVINFO_DATA DeviceInfoData) 161 162 { 162 163 164 } 165 166 /*********************************************************************** 167 * 163 FIXME("not implemented (setupapi.dll) \n"); 164 return 0; 165 } 166 167 /*********************************************************************** 168 * SetupOpenAppendInfFileA 168 169 */ 169 170 BOOL WINAPI SetupOpenAppendInfFileA (PCSTR FileName, HINF InfHandle, 170 171 { 172 173 174 } 175 176 /*********************************************************************** 177 * 171 PUINT ErrorLine) 172 { 173 FIXME("not implemented (setupapi.dll) \n"); 174 return FALSE; 175 } 176 177 /*********************************************************************** 178 * SetupOpenFileQueue 178 179 */ 179 180 HSPFILEQ WINAPI SetupOpenFileQueue (VOID) 180 181 { 181 182 183 } 184 185 /*********************************************************************** 186 * 182 FIXME("not implemented (setupapi.dll) \n"); 183 return (HSPFILEQ) INVALID_HANDLE_VALUE; 184 } 185 186 /*********************************************************************** 187 * SetupOpenInfFileA 187 188 */ 188 189 HINF WINAPI SetupOpenInfFileA (PCSTR FileName, PCSTR InfClass, DWORD InfStyle, 189 190 PUINT ErrorLine) 190 191 { 191 192 193 } 194 195 /*********************************************************************** 196 * 192 FIXME("not implemented (setupapi.dll) \n"); 193 return 0; 194 } 195 196 /*********************************************************************** 197 * SetupQueueCopyA 197 198 */ 198 199 BOOL WINAPI SetupQueueCopyA (HSPFILEQ QueueHandle, PCSTR SourceRootPath, PCSTR SourcePath, 199 200 201 { 202 203 204 } 205 206 /*********************************************************************** 207 * 200 PCSTR SourceFileName, PCSTR SourceDescription, PCSTR SourceTagFile, 201 PCSTR TargetDirectory, PCSTR TargetFileName, DWORD CopyStyle) 202 { 203 FIXME("not implemented (setupapi.dll) \n"); 204 return FALSE; 205 } 206 207 /*********************************************************************** 208 * SetupSetDirectoryIdA 208 209 */ 209 210 BOOL WINAPI SetupSetDirectoryIdA (HINF InfHandle, 210 211 212 { 213 214 215 } 216 217 218 /*********************************************************************** 219 * 211 DWORD Id, 212 PCSTR Directory) 213 { 214 FIXME("not implemented (setupapi.dll) \n"); 215 return FALSE; 216 } 217 218 219 /*********************************************************************** 220 * SetupTermDefaultQueueCallback 220 221 */ 221 222 VOID WINAPI SetupTermDefaultQueueCallback (PVOID Callback) 222 223 { 223 224 } 225 224 FIXME("not implemented (setupapi.dll) \n"); 225 } 226 -
trunk/src/shdocvw/classinfo.c
r4943 r6649 1 /* $Id: classinfo.c,v 1.2 2001-09-05 13:39:11 bird Exp $ */ 1 2 /* 2 3 * Implementation of IProvideClassInfo interfaces for IE Web Browser control … … 56 57 */ 57 58 58 static ICOM_VTABLE(IProvideClassInfo) WBPCI_Vtbl = 59 static ICOM_VTABLE(IProvideClassInfo) WBPCI_Vtbl = 59 60 { 60 61 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE … … 141 142 */ 142 143 143 static ICOM_VTABLE(IProvideClassInfo2) WBPCI2_Vtbl = 144 static ICOM_VTABLE(IProvideClassInfo2) WBPCI2_Vtbl = 144 145 { 145 146 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE -
trunk/src/shdocvw/events.c
r4943 r6649 1 /* $Id: events.c,v 1.2 2001-09-05 13:39:11 bird Exp $ */ 1 2 /* 2 3 * Implementation of event-related interfaces for IE Web Browser control: … … 86 87 */ 87 88 88 static ICOM_VTABLE(IConnectionPointContainer) WBCPC_Vtbl = 89 static ICOM_VTABLE(IConnectionPointContainer) WBCPC_Vtbl = 89 90 { 90 91 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE … … 181 182 */ 182 183 183 static ICOM_VTABLE(IConnectionPoint) WBCP_Vtbl = 184 static ICOM_VTABLE(IConnectionPoint) WBCP_Vtbl = 184 185 { 185 186 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE -
trunk/src/shdocvw/factory.c
r4943 r6649 1 /* $Id: factory.c,v 1.2 2001-09-05 13:39:11 bird Exp $ */ 1 2 /* 2 3 * Implementation of class factory for IE Web Browser … … 95 96 } 96 97 97 static ICOM_VTABLE(IClassFactory) WBCF_Vtbl = 98 static ICOM_VTABLE(IClassFactory) WBCF_Vtbl = 98 99 { 99 100 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE -
trunk/src/shdocvw/misc.c
r4943 r6649 1 /* $Id: misc.c,v 1.2 2001-09-05 13:39:12 bird Exp $ */ 1 2 /* 2 3 * Implementation of miscellaneous interfaces for IE Web Browser control: … … 67 68 */ 68 69 69 static ICOM_VTABLE(IQuickActivate) WBQA_Vtbl = 70 static ICOM_VTABLE(IQuickActivate) WBQA_Vtbl = 70 71 { 71 72 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE -
trunk/src/shdocvw/oleobject.c
r4943 r6649 1 /* $Id: oleobject.c,v 1.2 2001-09-05 13:39:12 bird Exp $ */ 1 2 /* 2 3 * Implementation of IOleObject interfaces for IE Web Browser … … 396 397 */ 397 398 398 static ICOM_VTABLE(IOleObject) WBOOBJ_Vtbl = 399 static ICOM_VTABLE(IOleObject) WBOOBJ_Vtbl = 399 400 { 400 401 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE … … 514 515 */ 515 516 516 static ICOM_VTABLE(IOleInPlaceObject) WBOIPO_Vtbl = 517 static ICOM_VTABLE(IOleInPlaceObject) WBOIPO_Vtbl = 517 518 { 518 519 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE … … 589 590 */ 590 591 591 static ICOM_VTABLE(IOleControl) WBOC_Vtbl = 592 static ICOM_VTABLE(IOleControl) WBOC_Vtbl = 592 593 { 593 594 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE -
trunk/src/shdocvw/persist.c
r4943 r6649 1 /* $Id: persist.c,v 1.2 2001-09-05 13:39:12 bird Exp $ */ 1 2 /* 2 3 * Implementation of IPersist interfaces for IE Web Browser control … … 81 82 */ 82 83 83 static ICOM_VTABLE(IPersistStorage) WBPS_Vtbl = 84 static ICOM_VTABLE(IPersistStorage) WBPS_Vtbl = 84 85 { 85 86 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE … … 170 171 */ 171 172 172 static ICOM_VTABLE(IPersistStreamInit) WBPSI_Vtbl = 173 static ICOM_VTABLE(IPersistStreamInit) WBPSI_Vtbl = 173 174 { 174 175 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE -
trunk/src/shdocvw/shdocvw_main.c
r4943 r6649 1 /* $Id: shdocvw_main.c,v 1.2 2001-09-05 13:39:12 bird Exp $ */ 1 2 /* 2 3 * SHDOCVW - Internet Explorer Web Control … … 66 67 67 68 /*********************************************************************** 68 * 69 * DllRegisterServer (SHDOCVW.124) 69 70 */ 70 71 HRESULT WINAPI SHDOCVW_DllRegisterServer() … … 75 76 76 77 /*********************************************************************** 77 * 78 * DllUnregisterServer (SHDOCVW.127) 78 79 */ 79 80 HRESULT WINAPI SHDOCVW_DllUnregisterServer() -
trunk/src/shdocvw/webbrowser.c
r4943 r6649 1 /* $Id: webbrowser.c,v 1.2 2001-09-05 13:39:12 bird Exp $ */ 1 2 /* 2 3 * Implementation of IWebBrowser interface for IE Web Browser control … … 228 229 */ 229 230 230 static ICOM_VTABLE(IWebBrowser) WB_Vtbl = 231 static ICOM_VTABLE(IWebBrowser) WB_Vtbl = 231 232 { 232 233 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
Note:
See TracChangeset
for help on using the changeset viewer.