}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateCompletionQueue(DWORD queueDepth, GROUP_AFFINITY* pAffinity,\r
- INDCompletionQueue** ppCompletionQueue)\r
+CreateCompletionQueue(REFIID iid, DWORD queueDepth, GROUP_AFFINITY* pAffinity,\r
+ VOID** ppCompletionQueue)\r
{\r
return CNDCompletionQueue::CreateInstance(this, queueDepth, ppCompletionQueue);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateMemoryRegion(INDMemoryRegion** ppMemoryRegion)\r
+CreateMemoryRegion(REFIID iid, VOID** ppMemoryRegion)\r
{\r
+ if (iid != IID_INDMemoryRegion) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
return CNDMemoryRegion::CreateInstance(this, ppMemoryRegion);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateMemoryWindow(INDMemoryWindow** ppMemoryWindow)\r
+CreateMemoryWindow(REFIID iid, VOID** ppMemoryWindow)\r
{\r
+ if (iid != IID_INDMemoryWindow) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
return CNDMemoryWindow::CreateInstance(this, ppMemoryWindow);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateSharedReceiveQueue(DWORD queueDepth, DWORD maxSGE,\r
+CreateSharedReceiveQueue(REFIID iid, DWORD queueDepth, DWORD maxSge,\r
DWORD notifyThreshold, GROUP_AFFINITY* pAffinity,\r
- INDSharedReceiveQueue** ppSharedReceiveQueue)\r
+ VOID** ppSharedReceiveQueue)\r
{\r
- return CNDSharedReceiveQueue::CreateInstance(this, queueDepth, maxSGE,\r
+ if (iid != IID_INDSharedReceiveQueue) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
+ return CNDSharedReceiveQueue::CreateInstance(this, queueDepth, maxSge,\r
notifyThreshold, pAffinity,\r
ppSharedReceiveQueue);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateQueuePair(INDCompletionQueue* pReceiveCompletionQueue,\r
- INDCompletionQueue* pInitiatorCompletionQueue, VOID* context,\r
+CreateQueuePair(REFIID iid, IUnknown* pReceiveCompletionQueue,\r
+ IUnknown* pInitiatorCompletionQueue, VOID* context,\r
DWORD receiveQueueDepth, DWORD initiatorQueueDepth,\r
- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE,\r
- INDQueuePair** ppQueuePair)\r
+ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSge,\r
+ VOID** ppQueuePair)\r
{\r
CNDCompletionQueue *rcq = (CNDCompletionQueue *) pReceiveCompletionQueue;\r
CNDCompletionQueue *icq = (CNDCompletionQueue *) pInitiatorCompletionQueue;\r
\r
+ if (iid != IID_INDQueuePair) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
return CNDQueuePair::CreateInstance(this, rcq, icq, NULL,\r
context, receiveQueueDepth, initiatorQueueDepth,\r
- maxReceiveRequestSGE, maxInitiatorRequestSGE,\r
+ maxReceiveRequestSge, maxInitiatorRequestSge,\r
ppQueuePair);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateQueuePairWithSRQ(INDCompletionQueue* pReceiveCompletionQueue,\r
- INDCompletionQueue* pInitiatorCompletionQueue,\r
- INDSharedReceiveQueue* pSharedReceiveQueue, VOID* context,\r
- DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSGE,\r
- INDQueuePair** ppQueuePair)\r
+CreateQueuePairWithSrq(REFIID iid, IUnknown* pReceiveCompletionQueue,\r
+ IUnknown* pInitiatorCompletionQueue,\r
+ IUnknown* pSharedReceiveQueue, VOID* context,\r
+ DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSge,\r
+ VOID** ppQueuePair)\r
{\r
CNDCompletionQueue *rcq = (CNDCompletionQueue *) pReceiveCompletionQueue;\r
CNDCompletionQueue *icq = (CNDCompletionQueue *) pInitiatorCompletionQueue;\r
CNDSharedReceiveQueue *srq = (CNDSharedReceiveQueue *) pSharedReceiveQueue;\r
\r
+ if (iid != IID_INDQueuePair) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
return CNDQueuePair::CreateInstance(this, rcq, icq, srq,\r
context, 0, initiatorQueueDepth, 0,\r
- maxInitiatorRequestSGE, ppQueuePair);\r
+ maxInitiatorRequestSge, ppQueuePair);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateSharedEndpoint(INDSharedEndpoint** ppSharedEndpoint)\r
+CreateSharedEndpoint(REFIID iid, VOID** ppSharedEndpoint)\r
{\r
+ if (iid != IID_INDSharedEndpoint) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
return CNDSharedEndpoint::CreateInstance(this, ppSharedEndpoint);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateConnector(INDConnector** ppConnector)\r
+CreateConnector(REFIID iid, VOID** ppConnector)\r
{\r
+ if (iid != IID_INDConnector) {\r
+ return E_NOINTERFACE;\r
+ }\r
return CNDConnector::CreateInstance(this, ppConnector);\r
}\r
\r
STDMETHODIMP CNDAdapter::\r
-CreateListen(INDListen** ppListen)\r
+CreateListen(REFIID iid, VOID** ppListen)\r
{\r
+ if (iid != IID_INDListen) {\r
+ return E_NOINTERFACE;\r
+ }\r
+\r
return CNDListen::CreateInstance(this, ppListen);\r
}\r
STDMETHODIMP_(HANDLE) GetFileHandle();\r
STDMETHODIMP Query(ND_ADAPTER_INFO* pInfo, SIZE_T* pcbInfo);\r
STDMETHODIMP QueryAddressList(SOCKET_ADDRESS_LIST* pAddressList, SIZE_T* pcbAddressList);\r
- STDMETHODIMP CreateCompletionQueue(DWORD queueDepth, GROUP_AFFINITY* pAffinity,\r
- INDCompletionQueue** ppCompletionQueue);\r
- STDMETHODIMP CreateMemoryRegion(INDMemoryRegion** ppMemoryRegion);\r
- STDMETHODIMP CreateMemoryWindow(INDMemoryWindow** ppMemoryWindow);\r
- STDMETHODIMP CreateSharedReceiveQueue(DWORD queueDepth, DWORD maxSGE,\r
+ STDMETHODIMP CreateCompletionQueue(REFIID iid, DWORD queueDepth, GROUP_AFFINITY* pAffinity,\r
+ VOID** ppCompletionQueue);\r
+ STDMETHODIMP CreateMemoryRegion(REFIID iid, VOID** ppMemoryRegion);\r
+ STDMETHODIMP CreateMemoryWindow(REFIID iid, VOID** ppMemoryWindow);\r
+ STDMETHODIMP CreateSharedReceiveQueue(REFIID iid, DWORD queueDepth, DWORD maxSge,\r
DWORD notifyThreshold, GROUP_AFFINITY* pAffinity,\r
- INDSharedReceiveQueue** ppSharedReceiveQueue);\r
- STDMETHODIMP CreateQueuePair(INDCompletionQueue* pReceiveCompletionQueue,\r
- INDCompletionQueue* pInitiatorCompletionQueue, VOID* context,\r
+ VOID** ppSharedReceiveQueue);\r
+ STDMETHODIMP CreateQueuePair(REFIID iid, IUnknown* pReceiveCompletionQueue,\r
+ IUnknown* pInitiatorCompletionQueue, VOID* context,\r
DWORD receiveQueueDepth, DWORD initiatorQueueDepth,\r
- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE,\r
- INDQueuePair** ppQueuePair);\r
- STDMETHODIMP CreateQueuePairWithSRQ(INDCompletionQueue* pReceiveCompletionQueue,\r
- INDCompletionQueue* pInitiatorCompletionQueue,\r
- INDSharedReceiveQueue* pSharedReceiveQueue, VOID* context,\r
- DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSGE,\r
- INDQueuePair** ppQueuePair);\r
- STDMETHODIMP CreateSharedEndpoint(INDSharedEndpoint** ppSharedEndpoint);\r
- STDMETHODIMP CreateConnector(INDConnector** ppConnector);\r
- STDMETHODIMP CreateListen(INDListen** ppListen);\r
+ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSge,\r
+ VOID** ppQueuePair);\r
+ STDMETHODIMP CreateQueuePairWithSrq(REFIID, IUnknown* pReceiveCompletionQueue,\r
+ IUnknown* pInitiatorCompletionQueue,\r
+ IUnknown* pSharedReceiveQueue, VOID* context,\r
+ DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSge,\r
+ VOID** ppQueuePair);\r
+ STDMETHODIMP CreateSharedEndpoint(REFIID iid, VOID** ppSharedEndpoint);\r
+ STDMETHODIMP CreateConnector(REFIID iid, VOID** ppConnector);\r
+ STDMETHODIMP CreateListen(REFIID iid, VOID** ppListen);\r
\r
CNDAdapter(CNDProvider *pProvider);\r
~CNDAdapter();\r