]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
Refresh of wv-ver
authorSean Hefty <sean.hefty@intel.com>
Wed, 14 Jul 2010 18:28:16 +0000 (11:28 -0700)
committerSean Hefty <sean.hefty@intel.com>
Wed, 14 Jul 2010 18:28:16 +0000 (11:28 -0700)
trunk/core/winverbs/user/wv_provider.cpp
trunk/core/winverbs/user/wv_provider.h

index 65b0c878754b432b52faaed3eecdaf0d8df075b1..48e0fb7737701ba589d3bdb11a432ebcc9860325 100644 (file)
@@ -40,6 +40,7 @@ CWVProvider::CWVProvider()
 {\r
        InterlockedIncrement(&WvRef);\r
        m_hFile = INVALID_HANDLE_VALUE;\r
+       KernelVersion = WV_KERNEL_VERSION;\r
 }\r
 \r
 CWVProvider::~CWVProvider()\r
@@ -81,6 +82,20 @@ GetFileHandle(void)
        return m_hFile;\r
 }\r
 \r
+/*\r
+ * Version query was not supported in initial version 1 release.\r
+ */\r
+void CWVProvider::\r
+SetKernelVersion(void)\r
+{\r
+       DWORD                   bytes;\r
+\r
+       if (!WvDeviceIoControl(m_hFile, WV_IOCTL_VERSION_QUERY, NULL, 0,\r
+                                                  &KernelVersion, sizeof(KernelVersion), &bytes, NULL)\r
+               KernelVersion = 1;\r
+       }\r
+}\r
+\r
 STDMETHODIMP CWVProvider::\r
 QueryDeviceList(NET64* pGuidList, SIZE_T* pBufferSize)\r
 {\r
index 5daa4c77ea942f2f2bf4121dabf7cdea52dd5e9b..9e98a2a9446d26cb2cb0a636f3a1927c326eeb3c 100644 (file)
@@ -91,6 +91,7 @@ public:
                        hr = HRESULT_FROM_WIN32(GetLastError());\r
                        goto err2;\r
                }\r
+               wv->SetKernelVersion();\r
                *ppProvider = wv;\r
                return WV_SUCCESS;\r
 \r
@@ -100,6 +101,11 @@ public:
                *ppProvider = NULL;\r
                return hr;\r
        }\r
+\r
+       UINT64 KernelVersion;\r
+\r
+private:\r
+       void SetKernelVersion();\r
 };\r
 \r
 #endif // _WV_PROVIDER_H_
\ No newline at end of file