mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
3.0 KiB
139 lines
3.0 KiB
/*****************************************************************************\
|
|
* MODULE: bidispl.idl
|
|
*
|
|
* PURPOSE: Implementation of COM interface for BidiSpooler
|
|
*
|
|
* Copyright (C) 2000 Microsoft Corporation
|
|
*
|
|
* History:
|
|
*
|
|
* 03/07/00 Weihai Chen (weihaic) Created
|
|
*
|
|
\*****************************************************************************/
|
|
|
|
#include <olectl.h>
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
[
|
|
object,
|
|
uuid(8F348BD7-4B47-4755-8A9D-0F422DF3DC89),
|
|
helpstring("BidiSpl Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
|
|
interface IBidiRequest : IUnknown
|
|
{
|
|
HRESULT SetSchema (
|
|
[in] const LPCWSTR pszSchema) ;
|
|
|
|
HRESULT SetInputData (
|
|
[in] const DWORD dwType,
|
|
[in] const BYTE *pData,
|
|
[in] const UINT uSize);
|
|
|
|
HRESULT GetResult (
|
|
[out] HRESULT *phr);
|
|
|
|
HRESULT GetOutputData (
|
|
[in] const DWORD dwIndex,
|
|
[out] LPWSTR *ppszSchema,
|
|
[out] DWORD *pdwType,
|
|
[out] BYTE **ppData,
|
|
[out] ULONG *uSize);
|
|
|
|
HRESULT GetEnumCount (
|
|
[out] DWORD *pdwTotal);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(D752F6C0-94A8-4275-A77D-8F1D1A1121AE),
|
|
helpstring("BidiRequestContainer Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IBidiRequestContainer : IUnknown
|
|
{
|
|
|
|
HRESULT AddRequest (
|
|
[in] IBidiRequest *pRequest);
|
|
|
|
HRESULT GetEnumObject (
|
|
[out] IEnumUnknown **ppenum);
|
|
|
|
HRESULT GetRequestCount (
|
|
[out] ULONG *puCount);
|
|
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(D580DC0E-DE39-4649-BAA8-BF0B85A03A97),
|
|
helpstring("BidiSpl Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IBidiSpl : IUnknown
|
|
{
|
|
HRESULT BindDevice (
|
|
[in] const LPCWSTR pszDeviceName,
|
|
[in] const DWORD dwAccess);
|
|
|
|
HRESULT UnbindDevice ();
|
|
|
|
HRESULT SendRecv (
|
|
[in] const LPCWSTR pszAction,
|
|
[in] IBidiRequest *pRequest);
|
|
|
|
|
|
HRESULT MultiSendRecv (
|
|
[in] const LPCWSTR pszAction,
|
|
[in] IBidiRequestContainer *pRequestContainer);
|
|
|
|
}
|
|
|
|
|
|
|
|
[
|
|
uuid (99147959-6905-46d6-A75F-E0594F012B74),
|
|
version (1.0),
|
|
helpstring ("bidispl 1.0 Type Library")
|
|
]
|
|
|
|
library IBidiSplLib
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
[
|
|
uuid (B9162A23-45F9-47cc-80F5-FE0FE9B9E1A2),
|
|
helpstring ("BidiRequest Class")
|
|
]
|
|
coclass BidiRequest
|
|
{
|
|
[default] interface IBidiRequest;
|
|
};
|
|
|
|
[
|
|
uuid (FC5B8A24-DB05-4a01-8388-22EDF6C2BBBA),
|
|
helpstring ("BidiRequestContainer Class")
|
|
]
|
|
coclass BidiRequestContainer
|
|
{
|
|
[default] interface IBidiRequestContainer;
|
|
};
|
|
|
|
[
|
|
uuid (2A614240-A4C5-4c33-BD87-1BC709331639),
|
|
helpstring ("BidiSpl Class")
|
|
]
|
|
coclass BidiSpl
|
|
{
|
|
[default] interface IBidiSpl;
|
|
};
|
|
|
|
}
|
|
|
|
|