Changeset 8677 for trunk/src


Ignore:
Timestamp:
Jun 15, 2002, 1:54:35 PM (23 years ago)
Author:
sandervl
Message:

removed all code

Location:
trunk/src/quartz
Files:
53 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/quartz/main.c

    r6952 r8677  
    1 /*
    2  * Exported APIs.
    3  *
    4  * hidenori@a2.ctktv.ne.jp
    5  */
    6 
    7 #include "config.h"
    8 
    9 #include "windef.h"
    10 #include "winerror.h"
    11 #include "winbase.h"
    12 #include "wingdi.h"
    13 #include "winuser.h"
    14 #include "winnls.h"
    15 #include "mmsystem.h"
    16 #include "ole2.h"
    17 #include "wine/obj_oleaut.h"
    18 #include "strmif.h"
    19 #include "control.h"
    20 #include "uuids.h"
    21 #include "errors.h"
    22 
    23 #include "debugtools.h"
    24 DEFAULT_DEBUG_CHANNEL(quartz);
    25 
    26 #include "quartz_private.h"
    27 #include "fgraph.h"
    28 #include "sysclock.h"
    29 #include "memalloc.h"
    30 #include "devenum.h"
    31 #include "fmap.h"
    32 #include "fmap2.h"
    33 #include "seekpass.h"
    34 #include "audren.h"
    35 
    36 
    37 typedef struct QUARTZ_CLASSENTRY
    38 {
    39         const CLSID*    pclsid;
    40         QUARTZ_pCreateIUnknown  pCreateIUnk;
    41 } QUARTZ_CLASSENTRY;
    42 
    43 
    44 static HRESULT WINAPI
    45 IClassFactory_fnQueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj);
    46 static ULONG WINAPI IClassFactory_fnAddRef(LPCLASSFACTORY iface);
    47 static ULONG WINAPI IClassFactory_fnRelease(LPCLASSFACTORY iface);
    48 static HRESULT WINAPI IClassFactory_fnCreateInstance(LPCLASSFACTORY iface,LPUNKNOWN pOuter,REFIID riid,LPVOID *ppobj);
    49 static HRESULT WINAPI IClassFactory_fnLockServer(LPCLASSFACTORY iface,BOOL dolock);
    50 
    51 static ICOM_VTABLE(IClassFactory) iclassfact =
    52 {
    53         ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
    54         IClassFactory_fnQueryInterface,
    55         IClassFactory_fnAddRef,
    56         IClassFactory_fnRelease,
    57         IClassFactory_fnCreateInstance,
    58         IClassFactory_fnLockServer
    59 };
    60 
    61 typedef struct
    62 {
    63         /* IUnknown fields */
    64         ICOM_VFIELD(IClassFactory);
    65         LONG    ref;
    66         /* IClassFactory fields */
    67         const QUARTZ_CLASSENTRY* pEntry;
    68 } IClassFactoryImpl;
    69 
    70 static const QUARTZ_CLASSENTRY QUARTZ_ClassList[] =
    71 {
    72         { &CLSID_FilterGraph, &QUARTZ_CreateFilterGraph },
    73         { &CLSID_SystemClock, &QUARTZ_CreateSystemClock },
    74         { &CLSID_MemoryAllocator, &QUARTZ_CreateMemoryAllocator },
    75         { &CLSID_SystemDeviceEnum, &QUARTZ_CreateSystemDeviceEnum },
    76         { &CLSID_FilterMapper, &QUARTZ_CreateFilterMapper },
    77         { &CLSID_FilterMapper2, &QUARTZ_CreateFilterMapper2 },
    78         { &CLSID_SeekingPassThru, &QUARTZ_CreateSeekingPassThru },
    79         { &CLSID_AudioRender, &QUARTZ_CreateAudioRenderer },
    80         { NULL, NULL },
    81 };
    82 
    83 /* per-process variables */
    84 static CRITICAL_SECTION csHeap;
    85 static DWORD dwClassObjRef;
    86 static HANDLE hDLLHeap;
    87 
    88 void* QUARTZ_AllocObj( DWORD dwSize )
    89 {
    90         void*   pv;
    91 
    92         EnterCriticalSection( &csHeap );
    93         dwClassObjRef ++;
    94         pv = HeapAlloc( hDLLHeap, 0, dwSize );
    95         if ( pv == NULL )
    96                 dwClassObjRef --;
    97         LeaveCriticalSection( &csHeap );
    98 
    99         return pv;
    100 }
    101 
    102 void QUARTZ_FreeObj( void* pobj )
    103 {
    104         EnterCriticalSection( &csHeap );
    105         HeapFree( hDLLHeap, 0, pobj );
    106         dwClassObjRef --;
    107         LeaveCriticalSection( &csHeap );
    108 }
    109 
    110 void* QUARTZ_AllocMem( DWORD dwSize )
    111 {
    112         return HeapAlloc( hDLLHeap, 0, dwSize );
    113 }
    114 
    115 void QUARTZ_FreeMem( void* pMem )
    116 {
    117         HeapFree( hDLLHeap, 0, pMem );
    118 }
    119 
    120 void* QUARTZ_ReallocMem( void* pMem, DWORD dwSize )
    121 {
    122         if ( pMem == NULL )
    123                 return QUARTZ_AllocMem( dwSize );
    124 
    125         return HeapReAlloc( hDLLHeap, 0, pMem, dwSize );
    126 }
    127 
    128 static
    129 LPWSTR QUARTZ_strncpyAtoW( LPWSTR lpwstr, LPCSTR lpstr, INT wbuflen )
    130 {
    131         INT     len;
    132 
    133         len = MultiByteToWideChar( CP_ACP, 0, lpstr, -1, lpwstr, wbuflen );
    134         if ( len == 0 )
    135                 *lpwstr = 0;
    136         return lpwstr;
    137 }
    138 
    139 
    140 /************************************************************************/
    141 
    142 static HRESULT WINAPI
    143 IClassFactory_fnQueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj)
    144 {
    145         ICOM_THIS(IClassFactoryImpl,iface);
    146 
    147         TRACE("(%p)->(%p,%p)\n",This,riid,ppobj);
    148         if ( ( IsEqualGUID( &IID_IUnknown, riid ) ) ||
    149              ( IsEqualGUID( &IID_IClassFactory, riid ) ) )
    150         {
    151                 *ppobj = iface;
    152                 IClassFactory_AddRef(iface);
    153                 return S_OK;
    154         }
    155 
    156         return E_NOINTERFACE;
    157 }
    158 
    159 static ULONG WINAPI IClassFactory_fnAddRef(LPCLASSFACTORY iface)
    160 {
    161         ICOM_THIS(IClassFactoryImpl,iface);
    162 
    163         TRACE("(%p)->()\n",This);
    164 
    165         return InterlockedExchangeAdd(&(This->ref),1) + 1;
    166 }
    167 
    168 static ULONG WINAPI IClassFactory_fnRelease(LPCLASSFACTORY iface)
    169 {
    170         ICOM_THIS(IClassFactoryImpl,iface);
    171         LONG    ref;
    172 
    173         TRACE("(%p)->()\n",This);
    174         ref = InterlockedExchangeAdd(&(This->ref),-1) - 1;
    175         if ( ref > 0 )
    176                 return (ULONG)ref;
    177 
    178         QUARTZ_FreeObj(This);
    179         return 0;
    180 }
    181 
    182 static HRESULT WINAPI IClassFactory_fnCreateInstance(LPCLASSFACTORY iface,LPUNKNOWN pOuter,REFIID riid,LPVOID *ppobj)
    183 {
    184         ICOM_THIS(IClassFactoryImpl,iface);
    185         HRESULT hr;
    186         IUnknown*       punk;
    187 
    188         TRACE("(%p)->(%p,%s,%p)\n",This,pOuter,debugstr_guid(riid),ppobj);
    189 
    190         if ( ppobj == NULL )
    191                 return E_POINTER;
    192         if ( pOuter != NULL && !IsEqualGUID( riid, &IID_IUnknown ) )
    193                 return CLASS_E_NOAGGREGATION;
    194 
    195         *ppobj = NULL;
    196 
    197         hr = (*This->pEntry->pCreateIUnk)(pOuter,(void**)&punk);
    198         if ( hr != S_OK )
    199                 return hr;
    200 
    201         hr = IUnknown_QueryInterface(punk,riid,ppobj);
    202         IUnknown_Release(punk);
    203 
    204         return hr;
    205 }
    206 
    207 static HRESULT WINAPI IClassFactory_fnLockServer(LPCLASSFACTORY iface,BOOL dolock)
    208 {
    209         ICOM_THIS(IClassFactoryImpl,iface);
    210         HRESULT hr;
    211 
    212         TRACE("(%p)->(%d)\n",This,dolock);
    213         if (dolock)
    214                 hr = IClassFactory_AddRef(iface);
    215         else
    216                 hr = IClassFactory_Release(iface);
    217 
    218         return hr;
    219 }
    220 
    221 
    222 
    223 static HRESULT IClassFactory_Alloc( const CLSID* pclsid, void** ppobj )
    224 {
    225         const QUARTZ_CLASSENTRY*        pEntry;
    226         IClassFactoryImpl*      pImpl;
    227 
    228         TRACE( "(%s,%p)\n", debugstr_guid(pclsid), ppobj );
    229 
    230         pEntry = QUARTZ_ClassList;
    231         while ( pEntry->pclsid != NULL )
    232         {
    233                 if ( IsEqualGUID( pclsid, pEntry->pclsid ) )
    234                         goto found;
    235                 pEntry ++;
    236         }
    237 
    238         return CLASS_E_CLASSNOTAVAILABLE;
    239 found:
    240         pImpl = (IClassFactoryImpl*)QUARTZ_AllocObj( sizeof(IClassFactoryImpl) );
    241         if ( pImpl == NULL )
    242                 return E_OUTOFMEMORY;
    243 
    244         TRACE( "allocated successfully.\n" );
    245 
    246         ICOM_VTBL(pImpl) = &iclassfact;
    247         pImpl->ref = 1;
    248         pImpl->pEntry = pEntry;
    249 
    250         *ppobj = (void*)pImpl;
    251         return S_OK;
    252 }
    253 
    254 
    255 /***********************************************************************
    256  *              QUARTZ_InitProcess (internal)
    257  */
    258 static BOOL QUARTZ_InitProcess( void )
    259 {
    260         TRACE("()\n");
    261 
    262         dwClassObjRef = 0;
    263         hDLLHeap = (HANDLE)NULL;
    264         InitializeCriticalSection( &csHeap );
    265 
    266         hDLLHeap = HeapCreate( 0, 0x10000, 0 );
    267         if ( hDLLHeap == (HANDLE)NULL )
    268                 return FALSE;
    269 
    270         return TRUE;
    271 }
    272 
    273 /***********************************************************************
    274  *              QUARTZ_UninitProcess (internal)
    275  */
    276 static void QUARTZ_UninitProcess( void )
    277 {
    278         TRACE("()\n");
    279 
    280         if ( dwClassObjRef != 0 )
    281                 ERR( "you must release some objects allocated from quartz.\n" );
    282         if ( hDLLHeap != (HANDLE)NULL )
    283         {
    284                 HeapDestroy( hDLLHeap );
    285                 hDLLHeap = (HANDLE)NULL;
    286         }
    287         DeleteCriticalSection( &csHeap );
    288 }
    289 
    290 /***********************************************************************
    291  *              QUARTZ_DllMain
    292  */
    293 BOOL WINAPI QUARTZ_DllMain(
    294         HINSTANCE hInstDLL,
    295         DWORD fdwReason,
    296         LPVOID lpvReserved )
    297 {
    298         TRACE("(%08x,%08lx,%p)\n",hInstDLL,fdwReason,lpvReserved);
    299 
    300         switch ( fdwReason )
    301         {
    302         case DLL_PROCESS_ATTACH:
    303                 if ( !QUARTZ_InitProcess() )
    304                         return FALSE;
    305                 break;
    306         case DLL_PROCESS_DETACH:
    307                 QUARTZ_UninitProcess();
    308                 break;
    309         case DLL_THREAD_ATTACH:
    310                 break;
    311         case DLL_THREAD_DETACH:
    312                 break;
    313         }
    314 
    315         return TRUE;
    316 }
    317 
    318 
    319 /***********************************************************************
    320  *              DllCanUnloadNow (QUARTZ.@)
    321  *
    322  * RETURNS
    323  *    Success: S_OK
    324  *    Failure: S_FALSE
    325  */
    326 HRESULT WINAPI QUARTZ_DllCanUnloadNow(void)
    327 {
    328         HRESULT hr;
    329 
    330         EnterCriticalSection( &csHeap );
    331         hr = ( dwClassObjRef == 0 ) ? S_OK : S_FALSE;
    332         LeaveCriticalSection( &csHeap );
    333 
    334         return hr;
    335 }
    336 
    337 /***********************************************************************
    338  *              DllGetClassObject (QUARTZ.@)
    339  */
    340 HRESULT WINAPI QUARTZ_DllGetClassObject(
    341                 const CLSID* pclsid,const IID* piid,void** ppv)
    342 {
    343         *ppv = NULL;
    344         if ( IsEqualCLSID( &IID_IUnknown, piid ) ||
    345              IsEqualCLSID( &IID_IClassFactory, piid ) )
    346         {
    347                 return IClassFactory_Alloc( pclsid, ppv );
    348         }
    349 
    350         return CLASS_E_CLASSNOTAVAILABLE;
    351 }
    352 
    353 /***********************************************************************
    354  *              DllRegisterServer (QUARTZ.@)
    355  */
    356 
    357 HRESULT WINAPI QUARTZ_DllRegisterServer( void )
    358 {
    359         FIXME( "(): stub\n" );
    360         return E_FAIL;
    361 }
    362 
    363 /***********************************************************************
    364  *              DllUnregisterServer (QUARTZ.@)
    365  */
    366 
    367 HRESULT WINAPI QUARTZ_DllUnregisterServer( void )
    368 {
    369         FIXME( "(): stub\n" );
    370         return E_FAIL;
    371 }
    372 
    373 /**************************************************************************/
    374 /**************************************************************************/
    375 
    376 /* FIXME - all string should be defined in the resource of quartz. */
    377 
    378 static LPCSTR hresult_to_string( HRESULT hr )
    379 {
    380         switch ( hr )
    381         {
    382         #define ENTRY(x)        case x: return (const char*)#x
    383         /* some known codes */
    384         ENTRY(S_OK);
    385         ENTRY(S_FALSE);
    386         ENTRY(E_FAIL);
    387         ENTRY(E_POINTER);
    388         ENTRY(E_NOTIMPL);
    389         ENTRY(E_NOINTERFACE);
    390         ENTRY(E_OUTOFMEMORY);
    391         ENTRY(CLASS_E_CLASSNOTAVAILABLE);
    392         ENTRY(CLASS_E_NOAGGREGATION);
    393 
    394         /* vfwmsgs.h */
    395         ENTRY(VFW_S_NO_MORE_ITEMS);
    396         ENTRY(VFW_E_BAD_KEY);
    397         ENTRY(VFW_E_INVALIDMEDIATYPE);
    398         ENTRY(VFW_E_INVALIDSUBTYPE);
    399         ENTRY(VFW_E_NEED_OWNER);
    400         ENTRY(VFW_E_ENUM_OUT_OF_SYNC);
    401         ENTRY(VFW_E_ALREADY_CONNECTED);
    402         ENTRY(VFW_E_FILTER_ACTIVE);
    403         ENTRY(VFW_E_NO_TYPES);
    404         ENTRY(VFW_E_NO_ACCEPTABLE_TYPES);
    405         ENTRY(VFW_E_INVALID_DIRECTION);
    406         ENTRY(VFW_E_NOT_CONNECTED);
    407         ENTRY(VFW_E_NO_ALLOCATOR);
    408         ENTRY(VFW_E_RUNTIME_ERROR);
    409         ENTRY(VFW_E_BUFFER_NOTSET);
    410         ENTRY(VFW_E_BUFFER_OVERFLOW);
    411         ENTRY(VFW_E_BADALIGN);
    412         ENTRY(VFW_E_ALREADY_COMMITTED);
    413         ENTRY(VFW_E_BUFFERS_OUTSTANDING);
    414         ENTRY(VFW_E_NOT_COMMITTED);
    415         ENTRY(VFW_E_SIZENOTSET);
    416         ENTRY(VFW_E_NO_CLOCK);
    417         ENTRY(VFW_E_NO_SINK);
    418         ENTRY(VFW_E_NO_INTERFACE);
    419         ENTRY(VFW_E_NOT_FOUND);
    420         ENTRY(VFW_E_CANNOT_CONNECT);
    421         ENTRY(VFW_E_CANNOT_RENDER);
    422         ENTRY(VFW_E_CHANGING_FORMAT);
    423         ENTRY(VFW_E_NO_COLOR_KEY_SET);
    424         ENTRY(VFW_E_NOT_OVERLAY_CONNECTION);
    425         ENTRY(VFW_E_NOT_SAMPLE_CONNECTION);
    426         ENTRY(VFW_E_PALETTE_SET);
    427         ENTRY(VFW_E_COLOR_KEY_SET);
    428         ENTRY(VFW_E_NO_COLOR_KEY_FOUND);
    429         ENTRY(VFW_E_NO_PALETTE_AVAILABLE);
    430         ENTRY(VFW_E_NO_DISPLAY_PALETTE);
    431         ENTRY(VFW_E_TOO_MANY_COLORS);
    432         ENTRY(VFW_E_STATE_CHANGED);
    433         ENTRY(VFW_E_NOT_STOPPED);
    434         ENTRY(VFW_E_NOT_PAUSED);
    435         ENTRY(VFW_E_NOT_RUNNING);
    436         ENTRY(VFW_E_WRONG_STATE);
    437         ENTRY(VFW_E_START_TIME_AFTER_END);
    438         ENTRY(VFW_E_INVALID_RECT);
    439         ENTRY(VFW_E_TYPE_NOT_ACCEPTED);
    440         ENTRY(VFW_E_SAMPLE_REJECTED);
    441         ENTRY(VFW_E_SAMPLE_REJECTED_EOS);
    442         ENTRY(VFW_S_DUPLICATE_NAME);
    443         ENTRY(VFW_E_DUPLICATE_NAME);
    444         ENTRY(VFW_E_TIMEOUT);
    445         ENTRY(VFW_E_INVALID_FILE_FORMAT);
    446         ENTRY(VFW_E_ENUM_OUT_OF_RANGE);
    447         ENTRY(VFW_E_CIRCULAR_GRAPH);
    448         ENTRY(VFW_E_NOT_ALLOWED_TO_SAVE);
    449         ENTRY(VFW_E_TIME_ALREADY_PASSED);
    450         ENTRY(VFW_E_ALREADY_CANCELLED);
    451         ENTRY(VFW_E_CORRUPT_GRAPH_FILE);
    452         ENTRY(VFW_E_ADVISE_ALREADY_SET);
    453         ENTRY(VFW_S_STATE_INTERMEDIATE);
    454         ENTRY(VFW_E_NO_MODEX_AVAILABLE);
    455         ENTRY(VFW_E_NO_ADVISE_SET);
    456         ENTRY(VFW_E_NO_FULLSCREEN);
    457         ENTRY(VFW_E_IN_FULLSCREEN_MODE);
    458         ENTRY(VFW_E_UNKNOWN_FILE_TYPE);
    459         ENTRY(VFW_E_CANNOT_LOAD_SOURCE_FILTER);
    460         ENTRY(VFW_S_PARTIAL_RENDER);
    461         ENTRY(VFW_E_FILE_TOO_SHORT);
    462         ENTRY(VFW_E_INVALID_FILE_VERSION);
    463         ENTRY(VFW_S_SOME_DATA_IGNORED);
    464         ENTRY(VFW_S_CONNECTIONS_DEFERRED);
    465         ENTRY(VFW_E_INVALID_CLSID);
    466         ENTRY(VFW_E_INVALID_MEDIA_TYPE);
    467         ENTRY(VFW_E_SAMPLE_TIME_NOT_SET);
    468         ENTRY(VFW_S_RESOURCE_NOT_NEEDED);
    469         ENTRY(VFW_E_MEDIA_TIME_NOT_SET);
    470         ENTRY(VFW_E_NO_TIME_FORMAT_SET);
    471         ENTRY(VFW_E_MONO_AUDIO_HW);
    472         ENTRY(VFW_S_MEDIA_TYPE_IGNORED);
    473         ENTRY(VFW_E_NO_DECOMPRESSOR);
    474         ENTRY(VFW_E_NO_AUDIO_HARDWARE);
    475         ENTRY(VFW_S_VIDEO_NOT_RENDERED);
    476         ENTRY(VFW_S_AUDIO_NOT_RENDERED);
    477         ENTRY(VFW_E_RPZA);
    478         ENTRY(VFW_S_RPZA);
    479         ENTRY(VFW_E_PROCESSOR_NOT_SUITABLE);
    480         ENTRY(VFW_E_UNSUPPORTED_AUDIO);
    481         ENTRY(VFW_E_UNSUPPORTED_VIDEO);
    482         ENTRY(VFW_E_MPEG_NOT_CONSTRAINED);
    483         ENTRY(VFW_E_NOT_IN_GRAPH);
    484         ENTRY(VFW_S_ESTIMATED);
    485         ENTRY(VFW_E_NO_TIME_FORMAT);
    486         ENTRY(VFW_E_READ_ONLY);
    487         ENTRY(VFW_S_RESERVED);
    488         ENTRY(VFW_E_BUFFER_UNDERFLOW);
    489         ENTRY(VFW_E_UNSUPPORTED_STREAM);
    490         ENTRY(VFW_E_NO_TRANSPORT);
    491         ENTRY(VFW_S_STREAM_OFF);
    492         ENTRY(VFW_S_CANT_CUE);
    493         ENTRY(VFW_E_BAD_VIDEOCD);
    494         ENTRY(VFW_S_NO_STOP_TIME);
    495         ENTRY(VFW_E_OUT_OF_VIDEO_MEMORY);
    496         ENTRY(VFW_E_VP_NEGOTIATION_FAILED);
    497         ENTRY(VFW_E_DDRAW_CAPS_NOT_SUITABLE);
    498         ENTRY(VFW_E_NO_VP_HARDWARE);
    499         ENTRY(VFW_E_NO_CAPTURE_HARDWARE);
    500         ENTRY(VFW_E_DVD_OPERATION_INHIBITED);
    501         ENTRY(VFW_E_DVD_INVALIDDOMAIN);
    502         ENTRY(VFW_E_DVD_NO_BUTTON);
    503         ENTRY(VFW_E_DVD_GRAPHNOTREADY);
    504         ENTRY(VFW_E_DVD_RENDERFAIL);
    505         ENTRY(VFW_E_DVD_DECNOTENOUGH);
    506         ENTRY(VFW_E_DDRAW_VERSION_NOT_SUITABLE);
    507         ENTRY(VFW_E_COPYPROT_FAILED);
    508         ENTRY(VFW_S_NOPREVIEWPIN);
    509         ENTRY(VFW_E_TIME_EXPIRED);
    510         ENTRY(VFW_S_DVD_NON_ONE_SEQUENTIAL);
    511         ENTRY(VFW_E_DVD_WRONG_SPEED);
    512         ENTRY(VFW_E_DVD_MENU_DOES_NOT_EXIST);
    513         ENTRY(VFW_E_DVD_CMD_CANCELLED);
    514         ENTRY(VFW_E_DVD_STATE_WRONG_VERSION);
    515         ENTRY(VFW_E_DVD_STATE_CORRUPT);
    516         ENTRY(VFW_E_DVD_STATE_WRONG_DISC);
    517         ENTRY(VFW_E_DVD_INCOMPATIBLE_REGION);
    518         ENTRY(VFW_E_DVD_NO_ATTRIBUTES);
    519         ENTRY(VFW_E_DVD_NO_GOUP_PGC);
    520         ENTRY(VFW_E_DVD_LOW_PARENTAL_LEVEL);
    521         ENTRY(VFW_E_DVD_NOT_IN_KARAOKE_MODE);
    522         ENTRY(VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE);
    523         ENTRY(VFW_S_DVD_NOT_ACCURATE);
    524         ENTRY(VFW_E_FRAME_STEP_UNSUPPORTED);
    525         ENTRY(VFW_E_DVD_STREAM_DISABLED);
    526         ENTRY(VFW_E_DVD_TITLE_UNKNOWN);
    527         ENTRY(VFW_E_DVD_INVALID_DISC);
    528         ENTRY(VFW_E_DVD_NO_RESUME_INFORMATION);
    529         ENTRY(VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD);
    530         ENTRY(VFW_E_PIN_ALREADY_BLOCKED);
    531         ENTRY(VFW_E_CERTIFICATION_FAILURE);
    532         #undef  ENTRY
    533         }
    534 
    535         return NULL;
    536 }
    537 
    538 /***********************************************************************
    539  *      AMGetErrorTextA (quartz.@)
    540  */
    541 DWORD WINAPI AMGetErrorTextA(HRESULT hr, LPSTR pszbuf, DWORD dwBufLen)
    542 {
    543         LPCSTR  lpszRes;
    544         DWORD len;
    545 
    546         lpszRes = hresult_to_string( hr );
    547         if ( lpszRes == NULL )
    548                 return 0;
    549         len = (DWORD)(strlen(lpszRes)+1);
    550         if ( len > dwBufLen )
    551                 return 0;
    552 
    553         memcpy( pszbuf, lpszRes, len );
    554         return len;
    555 }
    556 
    557 /***********************************************************************
    558  *      AMGetErrorTextW (quartz.@)
    559  */
    560 DWORD WINAPI AMGetErrorTextW(HRESULT hr, LPWSTR pwszbuf, DWORD dwBufLen)
    561 {
    562         CHAR    szBuf[MAX_ERROR_TEXT_LEN+1];
    563         DWORD   dwLen;
    564 
    565         dwLen = AMGetErrorTextA(hr,szBuf,MAX_ERROR_TEXT_LEN);
    566         if ( dwLen == 0 )
    567                 return 0;
    568         szBuf[dwLen] = 0;
    569 
    570         QUARTZ_strncpyAtoW( pwszbuf, szBuf, dwBufLen );
    571 
    572         return lstrlenW( pwszbuf );
    573 }
     1/* all codes are removed by author */
  • trunk/src/quartz/makefile

    r6952 r8677  
    1 # $Id: makefile,v 1.5 2001-10-06 08:54:26 sandervl Exp $
     1# $Id: makefile,v 1.6 2002-06-15 11:54:31 sandervl Exp $
    22
    33#
     
    2828#
    2929OBJS = \
    30 $(OBJDIR)\amundoc.obj \
    31 $(OBJDIR)\audren.obj \
    32 $(OBJDIR)\basefilt.obj \
    33 $(OBJDIR)\basepin.obj \
    34 $(OBJDIR)\complist.obj \
    35 $(OBJDIR)\devenum.obj \
    36 $(OBJDIR)\devmon.obj \
    37 $(OBJDIR)\enumunk.obj \
    38 $(OBJDIR)\fgevent.obj \
    39 $(OBJDIR)\fgidisp.obj \
    40 $(OBJDIR)\fgpass.obj \
    41 $(OBJDIR)\fgraph.obj \
    42 $(OBJDIR)\fmap.obj \
    43 $(OBJDIR)\fmap2.obj \
    44 $(OBJDIR)\ifgraph.obj \
    45 $(OBJDIR)\igconfig.obj \
    46 $(OBJDIR)\igrver.obj \
    47 $(OBJDIR)\imcntl.obj \
    48 $(OBJDIR)\imfilter.obj \
    49 $(OBJDIR)\impos.obj \
    50 $(OBJDIR)\imseek.obj \
    51 $(OBJDIR)\iunk.obj \
    5230$(OBJDIR)\main.obj \
    53 $(OBJDIR)\memalloc.obj \
    54 $(OBJDIR)\mtype.obj \
    55 $(OBJDIR)\regsvr.obj \
    56 $(OBJDIR)\sample.obj \
    57 $(OBJDIR)\seekpass.obj \
    58 $(OBJDIR)\sysclock.obj \
    59 $(OBJDIR)\initterm.obj \
    60 $(OBJDIR)\initquartz.obj \
    61 $(OBJDIR)\guid.obj \
    62 $(OBJDIR)\quartzrsrc.obj
     31$(OBJDIR)\quartzrsrc.obj \
     32$(DLLENTRY)
    6333
    6434
  • trunk/src/quartz/quartz.def

    r6720 r8677  
    1 ; $Id: quartz.def,v 1.3 2001-09-15 15:35:59 sandervl Exp $
     1; $Id: quartz.def,v 1.4 2002-06-15 11:54:32 sandervl Exp $
    22
    33;
     
    77
    88EXPORTS
    9   DllCanUnloadNow      = _QUARTZ_DllCanUnloadNow@0            @1
    10   DllGetClassObject    = _QUARTZ_DllGetClassObject@12         @2
    11   DllRegisterServer    = _QUARTZ_DllRegisterServer@0          @3
    12   DllUnregisterServer  = _QUARTZ_DllUnregisterServer@0        @4
    13   AMGetErrorTextA      = _AMGetErrorTextA@12                  @5
    14   AMGetErrorTextW      = _AMGetErrorTextW@12                  @6
    15   AmpFactorToDB        = _QUARTZ_AmpFactorToDB@4              @7
    16   DBToAmpFactor        = _QUARTZ_DBToAmpFactor@4              @8
     9;;  DllCanUnloadNow      = _QUARTZ_DllCanUnloadNow@0            @1
     10;;  DllGetClassObject    = _QUARTZ_DllGetClassObject@12         @2
     11;;  DllRegisterServer    = _QUARTZ_DllRegisterServer@0          @3
     12;;  DllUnregisterServer  = _QUARTZ_DllUnregisterServer@0        @4
     13;;  AMGetErrorTextA      = _AMGetErrorTextA@12                  @5
     14;;  AMGetErrorTextW      = _AMGetErrorTextW@12                  @6
     15;;  AmpFactorToDB        = _QUARTZ_AmpFactorToDB@4              @7
     16;;  DBToAmpFactor        = _QUARTZ_DBToAmpFactor@4              @8
    1717
Note: See TracChangeset for help on using the changeset viewer.