summaryrefslogtreecommitdiff
path: root/wpd/WpdServiceSampleDriver/WpdService.h
blob: 0e28eadfc4920ab4da15703115ec18e23afbc430 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

class WpdService
{
public:
    WpdService();
    virtual ~WpdService();

    HRESULT Initialize(_In_ FakeDevice* pDevice);

    HRESULT DispatchWpdMessage(
        _In_    REFPROPERTYKEY         Command,
        _In_    IPortableDeviceValues* pParams,
        _In_    IPortableDeviceValues* pResults);

private:
    HRESULT OnGetServiceObjectID(
        _In_    LPCWSTR                pszRequestFilename,
        _In_    IPortableDeviceValues* pParams,
        _In_    IPortableDeviceValues* pResults);

    HRESULT CheckRequestFilename(
        _In_    LPCWSTR                 pszRequestFilename);

private:
    WpdServiceMethods       m_ServiceMethods;
    WpdServiceCapabilities  m_ServiceCapabilities;
    FakeContactsService*    m_pContactsService;
};