94 lines
2.2 KiB
C++
94 lines
2.2 KiB
C++
/*****************************************************************************\
|
|
* MODULE: request.h
|
|
*
|
|
* PURPOSE: Implementation of COM interface for BidiSpooler
|
|
*
|
|
* Copyright (C) 2000 Microsoft Corporation
|
|
*
|
|
* History:
|
|
*
|
|
* 03/07/00 Weihai Chen (weihaic) Created
|
|
*
|
|
\*****************************************************************************/
|
|
|
|
#ifndef _TBIDIREQUEST
|
|
#define _TBIDIREQUEST
|
|
|
|
#include "priv.h"
|
|
|
|
class TBidiRequest : public IBidiRequestSpl
|
|
{
|
|
public:
|
|
// IUnknown
|
|
STDMETHOD (QueryInterface) (
|
|
REFIID iid,
|
|
void** ppv) ;
|
|
|
|
STDMETHOD_ (ULONG, AddRef) () ;
|
|
|
|
STDMETHOD_ (ULONG, Release)() ;
|
|
|
|
STDMETHOD (SetSchema) (
|
|
IN CONST LPCWSTR pszSchema);
|
|
|
|
STDMETHOD (SetInputData) (
|
|
IN CONST DWORD dwType,
|
|
IN CONST BYTE *pData,
|
|
IN CONST UINT uSize);
|
|
|
|
STDMETHOD (GetResult) (
|
|
OUT HRESULT *phr);
|
|
|
|
STDMETHOD (GetOutputData) (
|
|
IN CONST DWORD dwIndex,
|
|
OUT LPWSTR *ppszSchema,
|
|
OUT PDWORD pdwType,
|
|
OUT PBYTE *ppData,
|
|
OUT PULONG uSize);
|
|
|
|
STDMETHOD (GetEnumCount)(
|
|
OUT PDWORD pdwTotal);
|
|
|
|
STDMETHOD (GetSchema) (
|
|
OUT LPWSTR *ppszSchema);
|
|
|
|
STDMETHOD (GetInputData) (
|
|
OUT PDWORD pdwType,
|
|
OUT PBYTE *ppData,
|
|
OUT PULONG puSize);
|
|
|
|
STDMETHOD (SetResult) (
|
|
IN CONST HRESULT hr);
|
|
|
|
STDMETHOD (AppendOutputData) (
|
|
IN CONST LPCWSTR pszSchema,
|
|
IN CONST DWORD dwType,
|
|
IN CONST BYTE *pData,
|
|
IN CONST ULONG uSize);
|
|
|
|
// Constructor
|
|
TBidiRequest() ;
|
|
|
|
// Destructor
|
|
~TBidiRequest() ;
|
|
|
|
inline BOOL
|
|
bValid() CONST {return m_bValid;};
|
|
|
|
private:
|
|
// Reference count
|
|
BOOL m_bValid;
|
|
LONG m_cRef ;
|
|
LPWSTR m_pSchema;
|
|
BIDI_TYPE m_kDataType;
|
|
DWORD m_dwDataSize;
|
|
PBYTE m_pbData;
|
|
DWORD m_dwResponseCount;
|
|
HRESULT m_hr;
|
|
TCriticalSection m_CritSec;
|
|
TResponseDataList m_ResponseDataList;
|
|
|
|
} ;
|
|
|
|
#endif
|