0
@@ -993,7 +993,7 @@ ole_cp2encoding(UINT cp)
0
- pGetCPInfoEx = (BOOL (*)(UINT, DWORD,
LPVOID))
0
+ pGetCPInfoEx = (BOOL (*)(UINT, DWORD,
struct myCPINFOEX *))
0
GetProcAddress(GetModuleHandle("kernel32"), "GetCPInfoEx");
0
pGetCPInfoEx = (void*)-1;
0
@@ -1289,7 +1289,8 @@ ole_ary_m_entry(VALUE val, long *pid)
0
-static void * get_ptr_of_variant(VARIANT *pvar)
0
+get_ptr_of_variant(VARIANT *pvar)
0
@@ -1766,13 +1767,13 @@ ole_val2olevariantdata(VALUE val, VARTYPE vt, struct olevariantdata *pvar)
0
if (((vt & ~VT_BYREF) == (VT_ARRAY | VT_UI1)) && TYPE(val) == T_STRING) {
0
long len = RSTRING_LEN(val);
0
SAFEARRAY *psa = SafeArrayCreateVector(VT_UI1, 0, len);
0
rb_raise(rb_eRuntimeError, "fail to SafeArrayCreateVector");
0
- hr = SafeArrayAccessData(psa,
(void **)&pdest);
0
+ hr = SafeArrayAccessData(psa,
&pdest);
0
memcpy(pdest, RSTRING_PTR(val), len);
0
SafeArrayUnaccessData(psa);
0
@@ -2150,10 +2151,10 @@ ole_variant2val(VARIANT *pvar)
0
/* get IDispatch interface from IUnknown interface */
0
@@ -2162,9 +2163,9 @@ ole_variant2val(VARIANT *pvar)
0
punk = V_UNKNOWN(pvar);
0
- hr = punk->lpVtbl->QueryInterface(punk, &IID_IDispatch,
0
+ hr = punk->lpVtbl->QueryInterface(punk, &IID_IDispatch, &p);
0
obj = create_win32ole_object(cWIN32OLE, pDispatch, 0, 0);
0
@@ -2529,6 +2530,7 @@ ole_bind_obj(VALUE moniker, int argc, VALUE *argv, VALUE self)
0
@@ -2551,8 +2553,8 @@ ole_bind_obj(VALUE moniker, int argc, VALUE *argv, VALUE self)
0
StringValuePtr(moniker));
0
hr = pMoniker->lpVtbl->BindToObject(pMoniker, pBindCtx, NULL,
0
@@ -2582,6 +2584,7 @@ fole_s_connect(int argc, VALUE *argv, VALUE self)
0
@@ -2610,8 +2613,8 @@ fole_s_connect(int argc, VALUE *argv, VALUE self)
0
ole_raise(hr, eWIN32OLERuntimeError,
0
"OLE server `%s' not running", StringValuePtr(svr_name));
0
- hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch,
0
+ hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch, &p);
0
ole_raise(hr, eWIN32OLERuntimeError,
0
@@ -3085,6 +3088,7 @@ fole_initialize(int argc, VALUE *argv, VALUE self)
0
@@ -3117,13 +3121,14 @@ fole_initialize(int argc, VALUE *argv, VALUE self)
0
/* get IDispatch interface */
0
hr = CoCreateInstance(&clsid, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
0
- &IID_IDispatch, (void**)&pDispatch);
0
ole_raise(hr, eWIN32OLERuntimeError,
0
"failed to create WIN32OLE object from `%s'",
0
StringValuePtr(svr_name));
0
ole_set_member(self, pDispatch);
0
@@ -3863,6 +3868,7 @@ fole_each(VALUE self)
0
IEnumVARIANT *pEnum = NULL;
0
RETURN_ENUMERATOR(self, 0, 0);
0
@@ -3885,14 +3891,17 @@ fole_each(VALUE self)
0
ole_raise(hr, eWIN32OLERuntimeError, "failed to get IEnum Interface");
0
- if (V_VT(&result) == VT_UNKNOWN)
0
+ if (V_VT(&result) == VT_UNKNOWN)
{0
hr = V_UNKNOWN(&result)->lpVtbl->QueryInterface(V_UNKNOWN(&result),
0
- else if (V_VT(&result) == VT_DISPATCH)
0
+ } else if (V_VT(&result) == VT_DISPATCH) {
0
hr = V_DISPATCH(&result)->lpVtbl->QueryInterface(V_DISPATCH(&result),
0
if (FAILED(hr) || !pEnum) {
0
ole_raise(hr, rb_eRuntimeError, "failed to get IEnum Interface");
0
@@ -4358,6 +4367,7 @@ fole_query_interface(VALUE self, VALUE str_iid)
0
pBuf = ole_vstr2wc(str_iid);
0
hr = CLSIDFromString(pBuf, &iid);
0
@@ -4374,13 +4384,14 @@ fole_query_interface(VALUE self, VALUE str_iid)
0
hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &iid,
0
ole_raise(hr, eWIN32OLERuntimeError,
0
"failed to get interface `%s'",
0
StringValuePtr(str_iid));
0
return create_win32ole_object(cWIN32OLE, pDispatch, 0, 0);
0
@@ -4644,13 +4655,14 @@ fole_activex_initialize(VALUE self)
0
IPersistMemory *pPersistMemory;
0
OLEData_Get_Struct(self, pole);
0
- hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &IID_IPersistMemory,
0
- (void **)&pPersistMemory);
0
+ hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &IID_IPersistMemory, &p);
0
hr = pPersistMemory->lpVtbl->InitNew(pPersistMemory);
0
OLE_RELEASE(pPersistMemory);
0
@@ -7851,6 +7863,7 @@ find_default_source(VALUE ole, IID *piid, ITypeInfo **ppTypeInfo)
0
IProvideClassInfo2 *pProvideClassInfo2;
0
IProvideClassInfo *pProvideClassInfo;
0
@@ -7864,8 +7877,9 @@ find_default_source(VALUE ole, IID *piid, ITypeInfo **ppTypeInfo)
0
pDispatch = pole->pDispatch;
0
hr = pDispatch->lpVtbl->QueryInterface(pDispatch,
0
&IID_IProvideClassInfo2,
0
-
(void**)&pProvideClassInfo2);
0
+ pProvideClassInfo2 = p;
0
hr = pProvideClassInfo2->lpVtbl->GetGUID(pProvideClassInfo2,
0
GUIDKIND_DEFAULT_SOURCE_DISP_IID,
0
@@ -7879,9 +7893,9 @@ find_default_source(VALUE ole, IID *piid, ITypeInfo **ppTypeInfo)
0
hr = pDispatch->lpVtbl->QueryInterface(pDispatch,
0
&IID_IProvideClassInfo,
0
-
(void**)&pProvideClassInfo);
0
+
pProvideClassInfo = p;0
hr = pProvideClassInfo->lpVtbl->GetClassInfo(pProvideClassInfo,
0
OLE_RELEASE(pProvideClassInfo);
0
@@ -7964,6 +7978,7 @@ ev_advise(int argc, VALUE *argv, VALUE self)
0
struct oleeventdata *poleev;
0
rb_scan_args(argc, argv, "11", &ole, &itf);
0
@@ -7992,12 +8007,13 @@ ev_advise(int argc, VALUE *argv, VALUE self)
0
pDispatch = pole->pDispatch;
0
hr = pDispatch->lpVtbl->QueryInterface(pDispatch,
0
&IID_IConnectionPointContainer,
0
-
(void **)&pContainer);
0
OLE_RELEASE(pTypeInfo);
0
ole_raise(hr, rb_eRuntimeError,
0
"failed to query IConnectionPointContainer");
0
hr = pContainer->lpVtbl->FindConnectionPoint(pContainer,
Comments
No one has commented yet.