--- /dev/null
+Bottom: 726c23827e3e3079ed330d8bd63ea79aad673b39
+Top: eb4a8ef725ebe4701a4586deb929fe272b445999
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2010-07-27 16:20:38 -0700
+
+Refresh of rm-cf
+
+---
+
+diff --git a/trunk/ulp/netdirect2/user/nd_main.cpp b/trunk/ulp/netdirect2/user/nd_main.cpp
+index 1b9e049..e995d60 100644
+--- a/trunk/ulp/netdirect2/user/nd_main.cpp
++++ b/trunk/ulp/netdirect2/user/nd_main.cpp
+@@ -72,17 +72,12 @@ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv)
+ {\r
+ UNREFERENCED_PARAMETER(rclsid);\r
+ \r
+- if (riid != IID_IClassFactory) {\r
++ if (riid != IID_INDProvider) {\r
+ *ppv = NULL;\r
+ return E_NOINTERFACE;\r
+ }\r
+ \r
+- *ppv = new CNDClassFactory();\r
+- if (*ppv == NULL) {\r
+- return E_OUTOFMEMORY;\r
+- }\r
+-\r
+- return S_OK;\r
++ return CNDProvider::CreateInstance(ppv);\r
+ }\r
+ \r
+ int WSPStartup(WORD wVersionRequested, LPWSPDATA lpWSPData,\r
+diff --git a/trunk/ulp/netdirect2/user/nd_provider.cpp b/trunk/ulp/netdirect2/user/nd_provider.cpp
+index cbc9c22..37362f7 100644
+--- a/trunk/ulp/netdirect2/user/nd_provider.cpp
++++ b/trunk/ulp/netdirect2/user/nd_provider.cpp
+@@ -1,5 +1,6 @@
+ /*\r
+ * Copyright (c) 2009-2010 Intel Corporation. All rights reserved.\r
++ * Copyright (c) 2010 Microsoft Corporation. All rights reserved.\r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+@@ -64,7 +65,7 @@ CNDProvider::~CNDProvider()
+ if (m_pWvProvider) {\r
+ m_pWvProvider->Release();\r
+ }\r
+- InterlockedDecrement(&m_gRef);\r
++ InterlockedDecrement(&g_nRef);\r
+ }\r
+ \r
+ STDMETHODIMP CNDProvider::\r
+@@ -176,55 +177,3 @@ OpenAdapter(REFIID iid, UINT64 adapterId, VOID** ppAdapter)
+ \r
+ return CNDAdapter::CreateInstance(this, adapterId, ppAdapter);\r
+ }\r
+-\r
+-\r
+-//-------------------------\r
+-// CNDClassFactory routines\r
+-//-------------------------\r
+-\r
+-STDMETHODIMP CNDClassFactory::\r
+-QueryInterface(REFIID riid, LPVOID FAR* ppvObj)\r
+-{\r
+- if (riid != IID_IUnknown && riid != IID_IClassFactory) {\r
+- *ppvObj = NULL;\r
+- return E_NOINTERFACE;\r
+- }\r
+-\r
+- *ppvObj = this;\r
+- AddRef();\r
+- return ND_SUCCESS;\r
+-}\r
+-\r
+-STDMETHODIMP_(ULONG) CNDClassFactory::\r
+-AddRef(void)\r
+-{\r
+- return CNDBase::AddRef();\r
+-}\r
+-\r
+-STDMETHODIMP_(ULONG) CNDClassFactory::\r
+-Release(void)\r
+-{\r
+- return CNDBase::Release();\r
+-}\r
+-\r
+-STDMETHODIMP CNDClassFactory::\r
+-CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppObject)\r
+-{\r
+- if (pUnkOuter != NULL) {\r
+- return CLASS_E_NOAGGREGATION;\r
+- }\r
+-\r
+- if (riid != IID_INDProvider) {\r
+- *ppObject = NULL;\r
+- return E_NOINTERFACE;\r
+- }\r
+-\r
+- return CNDProvider::CreateInstance((CNDProvider **) ppObject);\r
+-}\r
+-\r
+-STDMETHODIMP CNDClassFactory::\r
+-LockServer(BOOL fLock)\r
+-{\r
+- UNREFERENCED_PARAMETER(fLock);\r
+- return S_OK;\r
+-}\r
+diff --git a/trunk/ulp/netdirect2/user/nd_provider.h b/trunk/ulp/netdirect2/user/nd_provider.h
+index 0c38d8e..21962a2 100644
+--- a/trunk/ulp/netdirect2/user/nd_provider.h
++++ b/trunk/ulp/netdirect2/user/nd_provider.h
+@@ -1,5 +1,6 @@
+ /*\r
+ * Copyright (c) 2009-2010 Intel Corporation. All rights reserved.\r
++ * Copyright (c) 2010 Microsoft Corporation. All rights reserved.\r
+ *\r
+ * This software is available to you under the OpenIB.org BSD license\r
+ * below:\r
+@@ -90,22 +91,4 @@ private:
+ STDMETHODIMP Init();\r
+ };\r
+ \r
+-\r
+-class CNDClassFactory : public IClassFactory, public CNDBase\r
+-{\r
+-public:\r
+- // IUnknown methods\r
+- STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR* ppvObj);\r
+- STDMETHODIMP_(ULONG) AddRef();\r
+- STDMETHODIMP_(ULONG) Release();\r
+-\r
+- // IClassFactory methods\r
+- STDMETHODIMP CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppObject);\r
+- STDMETHODIMP LockServer(BOOL fLock);\r
+-\r
+- CNDClassFactory() {};\r
+- ~CNDClassFactory() {};\r
+- void Delete() {delete this;}\r
+-};\r
+-\r
+ #endif // _ND_PROVIDER_H_
+\ No newline at end of file