summaryrefslogtreecommitdiff
path: root/wpd/WpdServiceSampleDriver/WpdService.cpp
diff options
context:
space:
mode:
authorAdonais Romero González <[email protected]>2024-05-06 16:21:31 -0700
committerGitHub <[email protected]>2024-05-06 16:21:31 -0700
commita74a241c664c4e1d7c0838287b34076c19d9858a (patch)
tree6ff7562612967b122acf8acf8a69c4dcfd5905db /wpd/WpdServiceSampleDriver/WpdService.cpp
parentdef8e8e34ed2b7b1deb2fc9112ac4255f1a0f2ba (diff)
parent15477ce52bbb6b42ca591ecdfb484cac089f89ab (diff)
Merge develop changes prior to upcoming WDK release (May 2024)
Diffstat (limited to 'wpd/WpdServiceSampleDriver/WpdService.cpp')
-rw-r--r--wpd/WpdServiceSampleDriver/WpdService.cpp132
1 files changed, 0 insertions, 132 deletions
diff --git a/wpd/WpdServiceSampleDriver/WpdService.cpp b/wpd/WpdServiceSampleDriver/WpdService.cpp
deleted file mode 100644
index 4a255b0b..00000000
--- a/wpd/WpdServiceSampleDriver/WpdService.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#include "stdafx.h"
-
-#include "WpdService.tmh"
-
-WpdService::WpdService() : m_pContactsService(NULL)
-{
-}
-
-WpdService::~WpdService()
-{
-
-}
-
-HRESULT WpdService::Initialize(_In_ FakeDevice* pDevice)
-{
- if (pDevice == NULL)
- {
- return E_POINTER;
- }
- m_pContactsService = pDevice->GetContactsService();
- m_ServiceMethods.Initialize(m_pContactsService);
- m_ServiceCapabilities.Initialize(m_pContactsService);
- return S_OK;
-}
-
-HRESULT WpdService::DispatchWpdMessage(
- _In_ REFPROPERTYKEY Command,
- _In_ IPortableDeviceValues* pParams,
- _In_ IPortableDeviceValues* pResults)
-{
- HRESULT hr = S_OK;
- LPWSTR pszRequestFilename = NULL;
-
- // Get the request filename to process the service message
- hr = pParams->GetStringValue(PRIVATE_SAMPLE_DRIVER_REQUEST_FILENAME, &pszRequestFilename);
- if (FAILED(hr))
- {
- hr = E_INVALIDARG;
- CHECK_HR(hr, "Failed to get the required requested filename");
- }
-
- if (hr == S_OK)
- {
- hr = CheckRequestFilename(pszRequestFilename);
- CHECK_HR(hr, "Unknown request filename %ws received", pszRequestFilename);
- }
-
- if (hr == S_OK)
- {
- if (Command.fmtid == WPD_CATEGORY_SERVICE_CAPABILITIES)
- {
- hr = m_ServiceCapabilities.DispatchWpdMessage(Command, pParams, pResults);
- }
- else if (IsEqualPropertyKey(Command, WPD_COMMAND_SERVICE_METHODS_START_INVOKE))
- {
- hr = m_ServiceMethods.OnStartInvoke(pParams, pResults);
- }
- else if (IsEqualPropertyKey(Command, WPD_COMMAND_SERVICE_METHODS_END_INVOKE))
- {
- hr = m_ServiceMethods.OnEndInvoke(pParams, pResults);
- }
- else if (IsEqualPropertyKey(Command, WPD_COMMAND_SERVICE_METHODS_CANCEL_INVOKE))
- {
- hr = m_ServiceMethods.OnCancelInvoke(pParams, pResults);
- }
- else if (IsEqualPropertyKey(Command, WPD_COMMAND_SERVICE_COMMON_GET_SERVICE_OBJECT_ID))
- {
- hr = OnGetServiceObjectID(pszRequestFilename, pParams, pResults);
- }
- else
- {
- hr = E_NOTIMPL;
- CHECK_HR(hr, "Unknown command %ws.%d received",CComBSTR(Command.fmtid), Command.pid);
- }
- }
-
- CoTaskMemFree(pszRequestFilename);
-
- return hr;
-}
-
-/**
- * This method is called when we receive a WPD_COMMAND_SERVICE_COMMON_GET_SERVICE_OBJECT_ID
- * command.
- *
- * The parameters sent to us are:
- * None
- *
- * The driver should:
- * - Return the objectID associated with the filename.
- *
- */
-HRESULT WpdService::OnGetServiceObjectID(
- _In_ LPCWSTR pszRequestFilename,
- _In_ IPortableDeviceValues* pParams,
- _In_ IPortableDeviceValues* pResults)
-{
- HRESULT hr = S_OK;
-
- if((pParams == NULL) ||
- (pResults == NULL))
- {
- hr = E_POINTER;
- CHECK_HR(hr, "Cannot have NULL parameter");
- return hr;
- }
-
- // For simplicity, the request filename is the same as the service object ID
- hr = pResults->SetStringValue(WPD_PROPERTY_SERVICE_OBJECT_ID, pszRequestFilename);
- CHECK_HR(hr, "Failed to set WPD_PROPERTY_COMMON_OBJECT_IDS");
-
- return hr;
-}
-
-HRESULT WpdService::CheckRequestFilename(
- _In_ LPCWSTR pszRequestFilename)
-{
- HRESULT hr = HRESULT_FROM_WIN32(ERROR_NOT_FOUND);
- CAtlStringW strRequestFilename = pszRequestFilename;
-
- // For simplicity, the request filename happens to be the same as the service object ID
- if (strRequestFilename.CompareNoCase(m_pContactsService->GetRequestFilename()) == 0)
- {
- hr = S_OK;
- }
- else
- {
- CHECK_HR(hr, "Unknown request filename %ws received", pszRequestFilename);
- }
-
- return hr;
-}