Ignore:
Timestamp:
Sep 7, 1999, 9:26:19 AM (26 years ago)
Author:
davidr
Message:

Initial port of OLE2.
Added regsvr32

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ole32/clsid.cpp

    r291 r851  
    3333    LONG                lDataLen = 80;
    3434    oStringW            szKey(lpszProgID);
    35     oStringW            szCLSID(lDataLen);
     35    oStringW            szCLSID(lDataLen, 1);
    3636    HKEY                hKey;
    3737    HRESULT             rc;
     
    156156
    157157// ----------------------------------------------------------------------
    158 // StringFromCLSID
    159 // Memory allocated here on behalf of application should be freed using CoTaskMemFree()
    160 // ----------------------------------------------------------------------
    161 HRESULT WIN32API StringFromCLSID(REFCLSID rclsid, LPOLESTR *ppsz)
    162 {
    163     char        tmp[50];
    164     LPWSTR      szclsid;
    165     size_t      strLen;
    166 
    167     dprintf(("OLE32: StringFromCLSID"));
    168 
    169     // Setup new string...
    170     strLen  = sprintf(tmp, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
     158// WINE_StringFromCLSID
     159// ----------------------------------------------------------------------
     160HRESULT WINE_StringFromCLSID(const CLSID *rclsid, LPSTR idstr)
     161{
     162    dprintf(("OLE32: WINE_StringFromCLSID"));
     163
     164    if (rclsid == NULL)
     165    {
     166        dprintf(("       clsid: (NULL)"));
     167        *idstr = 0;
     168        return E_FAIL;
     169    }
     170
     171    // Setup new string...
     172    sprintf(idstr, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
    171173            rclsid->Data1,
    172174            rclsid->Data2,
     
    181183            rclsid->Data4[7]);
    182184
     185    dprintf(("       clsid: %s", idstr));
     186
     187    return OLE_OK;
     188}
     189
     190// ----------------------------------------------------------------------
     191// StringFromCLSID
     192// Memory allocated here on behalf of application should be freed using CoTaskMemFree()
     193// ----------------------------------------------------------------------
     194HRESULT WIN32API StringFromCLSID(REFCLSID rclsid, LPOLESTR *ppsz)
     195{
     196    char        tmp[50];
     197    LPWSTR      szclsid;
     198    size_t      strLen;
     199
     200    dprintf(("OLE32: StringFromCLSID"));
     201
     202    // Setup new string...
     203    WINE_StringFromCLSID(rclsid, tmp);
     204
     205    strLen = strlen(tmp);
     206
    183207    // Grab buffer for string...
    184208    szclsid = (LPWSTR)CoTaskMemAlloc((strLen + 1) * sizeof(WCHAR));
     
    204228
    205229    // Setup new string...
    206     strLen  = sprintf(tmp, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
    207             riid->Data1,
    208             riid->Data2,
    209             riid->Data3,
    210             riid->Data4[0],
    211             riid->Data4[1],
    212             riid->Data4[2],
    213             riid->Data4[3],
    214             riid->Data4[4],
    215             riid->Data4[5],
    216             riid->Data4[6],
    217             riid->Data4[7]);
     230    WINE_StringFromCLSID(riid, tmp);
     231
     232    strLen = strlen(tmp);
    218233
    219234    // Grab buffer for string...
     
    232247int WIN32API StringFromGUID2(REFGUID rguid, LPOLESTR lpsz, int cbMax)
    233248{
    234     char        tmp[64];
     249    char        tmp[50];
    235250    size_t      strLen;
    236251
     
    238253
    239254    // Setup new string...
    240     strLen  = sprintf(tmp, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
    241             rguid->Data1,
    242             rguid->Data2,
    243             rguid->Data3,
    244             rguid->Data4[0],
    245             rguid->Data4[1],
    246             rguid->Data4[2],
    247             rguid->Data4[3],
    248             rguid->Data4[4],
    249             rguid->Data4[5],
    250             rguid->Data4[6],
    251             rguid->Data4[7]);
     255    WINE_StringFromCLSID(rguid, tmp);
     256
     257    strLen = strlen(tmp);
    252258
    253259    if(cbMax < (strLen * 2 + 1))
Note: See TracChangeset for help on using the changeset viewer.