Remove stale HPC Pack 2008 Beta 1 objects
[mirror/winof/.git] / ulp / nd / user / NdMw.h
1 /*\r
2  * Copyright (c) 2008 Microsoft Corporation.  All rights reserved.\r
3  *\r
4  * This software is available to you under the OpenIB.org BSD license\r
5  * below:\r
6  *\r
7  *     Redistribution and use in source and binary forms, with or\r
8  *     without modification, are permitted provided that the following\r
9  *     conditions are met:\r
10  *\r
11  *      - Redistributions of source code must retain the above\r
12  *        copyright notice, this list of conditions and the following\r
13  *        disclaimer.\r
14  *\r
15  *      - Redistributions in binary form must reproduce the above\r
16  *        copyright notice, this list of conditions and the following\r
17  *        disclaimer in the documentation and/or other materials\r
18  *        provided with the distribution.\r
19  *\r
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
22  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
23  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
24  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
25  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
26  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
27  * SOFTWARE.\r
28  *\r
29  * $Id:$\r
30  */\r
31 \r
32 #pragma once\r
33 #include "ndspi.h"\r
34 \r
35 \r
36 namespace NetworkDirect\r
37 {\r
38 \r
39     class CAdapter;\r
40 \r
41     class CMw :\r
42         public INDMemoryWindow\r
43     {\r
44     public:\r
45         CMw(void);\r
46         ~CMw(void);\r
47 \r
48         HRESULT Initialize(\r
49             CAdapter* pParent,\r
50             ND_RESULT* pInvalidateResult );\r
51 \r
52         // *** IUnknown methods ***\r
53         HRESULT STDMETHODCALLTYPE QueryInterface(\r
54             REFIID riid,\r
55             LPVOID FAR* ppvObj\r
56             );\r
57 \r
58         ULONG STDMETHODCALLTYPE AddRef(void);\r
59 \r
60         ULONG STDMETHODCALLTYPE Release(void);\r
61 \r
62         // *** INDMemoryWindow methods ***\r
63         HRESULT STDMETHODCALLTYPE Close(void);\r
64 \r
65         //operator ND_RESULT*(){ return m_pInvalidateResult; };\r
66 \r
67     private:\r
68         volatile LONG m_nRef;\r
69 \r
70         CAdapter* m_pParent;\r
71 \r
72         ND_RESULT* m_pInvalidateResult;\r
73     };\r
74 \r
75 } // namespace