[ros-diffs] [janderwald] 46518: [KSPROXY, MSDVBNP, MSVIDCTL, BDAPLGIN] - Implement DllRegisterServer, DllUnregisterServer for those components - Add msdvbnp, msvidctl to build - Add msdvbnp, bdaplgin, msvidctl to bootcd

janderwald at svn.reactos.org janderwald at svn.reactos.org
Sun Mar 28 21:06:48 CEST 2010


Author: janderwald
Date: Sun Mar 28 21:06:48 2010
New Revision: 46518

URL: http://svn.reactos.org/svn/reactos?rev=46518&view=rev
Log:
[KSPROXY, MSDVBNP, MSVIDCTL, BDAPLGIN]
- Implement DllRegisterServer, DllUnregisterServer for those components
- Add msdvbnp, msvidctl to build
- Add msdvbnp, bdaplgin, msvidctl to bootcd

Modified:
    trunk/reactos/baseaddress.rbuild
    trunk/reactos/boot/bootdata/packages/reactos.dff
    trunk/reactos/dll/directx/bdaplgin/bdaplgin.cpp
    trunk/reactos/dll/directx/directx.rbuild
    trunk/reactos/dll/directx/ksproxy/ksproxy.cpp
    trunk/reactos/dll/directx/msdvbnp/msdvbnp.cpp
    trunk/reactos/dll/directx/msdvbnp/scanningtuner.cpp
    trunk/reactos/dll/directx/msvidctl/msvidctl.cpp

Modified: trunk/reactos/baseaddress.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/baseaddress.rbuild?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/baseaddress.rbuild [iso-8859-1] (original)
+++ trunk/reactos/baseaddress.rbuild [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -24,6 +24,7 @@
 	<property name="BASEADDRESS_PSTOREC"		value="0x513d0000" />
 	<property name="BASEADDRESS_LPK"		value="0x516c0000" />
 	<property name="BASEADDRESS_MSGSM32ACM"		value="0x56db0000" />
+	<property name="BASEADDRESS_MSDVBNP"		value="0x58280000" />
 	<property name="BASEADDRESS_MSG711ACM"		value="0x584f0000" />
 	<property name="BASEADDRESS_IMAADP32ACM"	value="0x585e0000" />
 	<property name="BASEADDRESS_BDAPLGIN"	value="0x58600000" />
@@ -32,6 +33,7 @@
 	<property name="BASEADDRESS_MMSYS"		value="0x588a0000" />
 	<property name="BASEADDRESS_JOY"		value="0x589b0000" />
 	<property name="BASEADDRESS_QMGR"		value="0x59620000" />
+	<property name="BASEADDRESS_MSVIDCTL"		value="0x59660000" />
 	<property name="BASEADDRESS_UXTHEME"		value="0x5ad70000" />
 	<property name="BASEADDRESS_VDMDBG"		value="0x5b0d0000" />
 	<property name="BASEADDRESS_UNTFS"		value="0x5b340000" />

Modified: trunk/reactos/boot/bootdata/packages/reactos.dff
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/reactos.dff?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -151,6 +151,7 @@
 ;dll\cpl\usrmgr\usrmgr.cpl                          1
 
 dll\directx\amstream\amstream.dll                   1
+dll\directx\bdaplgin\bdaplgin.ax                    1
 dll\directx\dinput\dinput.dll                       1
 dll\directx\dinput8\dinput8.dll                     1
 dll\directx\dmusic\dmusic.dll                       1
@@ -164,6 +165,8 @@
 dll\directx\ksproxy\ksproxy.ax                      1
 dll\directx\ksuser\ksuser.dll                       1
 dll\directx\msdmo\msdmo.dll                         1
+dll\directx\msdvbnp\msdvbnp.ax                      1
+dll\directx\msvidctl\msvidctl.dll                   1
 dll\directx\quartz\quartz.dll                       1
 dll\directx\qedit\qedit.dll                         1
 dll\directx\wine\d3d8\d3d8.dll                      1

Modified: trunk/reactos/dll/directx/bdaplgin/bdaplgin.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/bdaplgin/bdaplgin.cpp?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/dll/directx/bdaplgin/bdaplgin.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/bdaplgin/bdaplgin.cpp [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -52,7 +52,27 @@
 WINAPI
 DllUnregisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass;
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_SET_VALUE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        RegDeleteKeyW(hClass, pStr);
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 extern "C"
@@ -61,7 +81,39 @@
 WINAPI
 DllRegisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass, hKey, hSubKey;
+    static LPCWSTR ModuleName = L"bdaplgin.ax";
+    static LPCWSTR ThreadingModel = L"Both";
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_WRITE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        if (RegCreateKeyExW(hClass, pStr, 0, 0, 0, KEY_WRITE, NULL, &hKey, 0) == ERROR_SUCCESS)
+        {
+            if (RegCreateKeyExW(hKey, L"InprocServer32", 0, 0, 0, KEY_WRITE, NULL, &hSubKey, 0) == ERROR_SUCCESS)
+            {
+                RegSetValueExW(hSubKey, 0, 0, REG_SZ, (const BYTE*)ModuleName, (wcslen(ModuleName) + 1) * sizeof(WCHAR));
+                RegSetValueExW(hSubKey, L"ThreadingModel", 0, REG_SZ, (const BYTE*)ThreadingModel, (wcslen(ThreadingModel) + 1) * sizeof(WCHAR));
+                RegCloseKey(hSubKey);
+            }
+            RegCloseKey(hKey);
+        }
+
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 KSDDKAPI

Modified: trunk/reactos/dll/directx/directx.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/directx.rbuild?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/dll/directx/directx.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/directx.rbuild [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -43,6 +43,12 @@
 	<directory name="msdmo">
 		<xi:include href="msdmo/msdmo.rbuild" />
 	</directory>
+	<directory name="msdvbnp">
+		<xi:include href="msdvbnp/msdvbnp.rbuild" />
+	</directory>
+	<directory name="msvidctl">
+		<xi:include href="msvidctl/msvidctl.rbuild" />
+	</directory>
 	<directory name="qedit">
 		<xi:include href="qedit/qedit.rbuild" />
 	</directory>

Modified: trunk/reactos/dll/directx/ksproxy/ksproxy.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ksproxy/ksproxy.cpp?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/dll/directx/ksproxy/ksproxy.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/ksproxy/ksproxy.cpp [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -343,7 +343,27 @@
 WINAPI
 DllUnregisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass;
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_SET_VALUE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        RegDeleteKeyW(hClass, pStr);
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 extern "C"
@@ -352,7 +372,39 @@
 WINAPI
 DllRegisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass, hKey, hSubKey;
+    static LPCWSTR ModuleName = L"ksproxy.ax";
+    static LPCWSTR ThreadingModel = L"Both";
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_WRITE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        if (RegCreateKeyExW(hClass, pStr, 0, 0, 0, KEY_WRITE, NULL, &hKey, 0) == ERROR_SUCCESS)
+        {
+            if (RegCreateKeyExW(hKey, L"InprocServer32", 0, 0, 0, KEY_WRITE, NULL, &hSubKey, 0) == ERROR_SUCCESS)
+            {
+                RegSetValueExW(hSubKey, 0, 0, REG_SZ, (const BYTE*)ModuleName, (wcslen(ModuleName) + 1) * sizeof(WCHAR));
+                RegSetValueExW(hSubKey, L"ThreadingModel", 0, REG_SZ, (const BYTE*)ThreadingModel, (wcslen(ThreadingModel) + 1) * sizeof(WCHAR));
+                RegCloseKey(hSubKey);
+            }
+            RegCloseKey(hKey);
+        }
+
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 KSDDKAPI

Modified: trunk/reactos/dll/directx/msdvbnp/msdvbnp.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/msdvbnp/msdvbnp.cpp?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/dll/directx/msdvbnp/msdvbnp.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/msdvbnp/msdvbnp.cpp [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -48,7 +48,27 @@
 WINAPI
 DllUnregisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass;
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_SET_VALUE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        RegDeleteKeyW(hClass, pStr);
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 extern "C"
@@ -57,7 +77,39 @@
 WINAPI
 DllRegisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass, hKey, hSubKey;
+    static LPCWSTR ModuleName = L"msdvbnp.ax";
+    static LPCWSTR ThreadingModel = L"Both";
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_WRITE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        if (RegCreateKeyExW(hClass, pStr, 0, 0, 0, KEY_WRITE, NULL, &hKey, 0) == ERROR_SUCCESS)
+        {
+            if (RegCreateKeyExW(hKey, L"InprocServer32", 0, 0, 0, KEY_WRITE, NULL, &hSubKey, 0) == ERROR_SUCCESS)
+            {
+                RegSetValueExW(hSubKey, 0, 0, REG_SZ, (const BYTE*)ModuleName, (wcslen(ModuleName) + 1) * sizeof(WCHAR));
+                RegSetValueExW(hSubKey, L"ThreadingModel", 0, REG_SZ, (const BYTE*)ThreadingModel, (wcslen(ThreadingModel) + 1) * sizeof(WCHAR));
+                RegCloseKey(hSubKey);
+            }
+            RegCloseKey(hKey);
+        }
+
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 KSDDKAPI

Modified: trunk/reactos/dll/directx/msdvbnp/scanningtuner.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/msdvbnp/scanningtuner.cpp?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/dll/directx/msdvbnp/scanningtuner.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/msdvbnp/scanningtuner.cpp [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -287,7 +287,7 @@
     IDVBTuneRequest * pDVBTRequest,
     IDVBTLocator *pDVBTLocator)
 {
-    HRESULT hr;
+    HRESULT hr = S_OK;
     ULONG Index;
     IBDA_Topology *pTopo;
     IUnknown *pNode;

Modified: trunk/reactos/dll/directx/msvidctl/msvidctl.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/msvidctl/msvidctl.cpp?rev=46518&r1=46517&r2=46518&view=diff
==============================================================================
--- trunk/reactos/dll/directx/msvidctl/msvidctl.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/directx/msvidctl/msvidctl.cpp [iso-8859-1] Sun Mar 28 21:06:48 2010
@@ -48,7 +48,27 @@
 WINAPI
 DllUnregisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass;
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_SET_VALUE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        RegDeleteKeyW(hClass, pStr);
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 extern "C"
@@ -57,7 +77,39 @@
 WINAPI
 DllRegisterServer(void)
 {
-    return S_OK;
+    ULONG Index = 0;
+    LPOLESTR pStr;
+    HRESULT hr = S_OK;
+    HKEY hClass, hKey, hSubKey;
+    static LPCWSTR ModuleName = L"msvidctl.ax";
+    static LPCWSTR ThreadingModel = L"Both";
+
+    if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_WRITE, &hClass) != ERROR_SUCCESS)
+        return E_FAIL;
+
+    do
+    {
+        hr = StringFromCLSID(*InterfaceTable[Index].riid, &pStr);
+        if (FAILED(hr))
+            break;
+
+        if (RegCreateKeyExW(hClass, pStr, 0, 0, 0, KEY_WRITE, NULL, &hKey, 0) == ERROR_SUCCESS)
+        {
+            if (RegCreateKeyExW(hKey, L"InprocServer32", 0, 0, 0, KEY_WRITE, NULL, &hSubKey, 0) == ERROR_SUCCESS)
+            {
+                RegSetValueExW(hSubKey, 0, 0, REG_SZ, (const BYTE*)ModuleName, (wcslen(ModuleName) + 1) * sizeof(WCHAR));
+                RegSetValueExW(hSubKey, L"ThreadingModel", 0, REG_SZ, (const BYTE*)ThreadingModel, (wcslen(ThreadingModel) + 1) * sizeof(WCHAR));
+                RegCloseKey(hSubKey);
+            }
+            RegCloseKey(hKey);
+        }
+
+        CoTaskMemFree(pStr);
+        Index++;
+    }while(InterfaceTable[Index].lpfnCI != 0);
+
+    RegCloseKey(hClass);
+    return hr;
 }
 
 KSDDKAPI




More information about the Ros-diffs mailing list