119 lines
3.4 KiB
Plaintext
119 lines
3.4 KiB
Plaintext
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// File: OleStor.idl Cairo only interfaces for OLE Storage
|
||
|
//
|
||
|
// Contents: IOverlappedStream interface definition
|
||
|
//
|
||
|
// History: 14-Sep-1995 HenryLee initial version
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
cpp_quote("//+-------------------------------------------------------------------------")
|
||
|
cpp_quote("//")
|
||
|
cpp_quote("// Microsoft Windows")
|
||
|
cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
|
||
|
cpp_quote("//")
|
||
|
cpp_quote("//--------------------------------------------------------------------------")
|
||
|
cpp_quote("#if ( _MSC_VER >= 1020 )")
|
||
|
cpp_quote("#pragma once")
|
||
|
cpp_quote("#endif")
|
||
|
|
||
|
#ifndef DO_NO_IMPORTS
|
||
|
import "wtypes.idl";
|
||
|
import "unknwn.idl";
|
||
|
import "objidl.idl";
|
||
|
#endif
|
||
|
|
||
|
typedef [wire_marshal(ULONG)] void * HEVENT;
|
||
|
interface IOverlappedCompletion;
|
||
|
|
||
|
typedef struct _STGOVERLAPPED {
|
||
|
DWORD Internal;
|
||
|
DWORD InternalHigh;
|
||
|
DWORD Offset;
|
||
|
DWORD OffsetHigh;
|
||
|
HEVENT hEvent;
|
||
|
IOverlappedCompletion * lpCompletion;
|
||
|
DWORD reserved;
|
||
|
} STGOVERLAPPED, *LPSTGOVERLAPPED;
|
||
|
|
||
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// Contents: IOverlappedCompletion interface definition
|
||
|
//
|
||
|
// History: 14-Sep-1995 HenryLee initial version
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
[
|
||
|
object,
|
||
|
uuid(521a28f0-e40b-11ce-b2c9-00aa00680937),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IOverlappedCompletion : IUnknown
|
||
|
{
|
||
|
HRESULT OnComplete (
|
||
|
[in] HRESULT hr,
|
||
|
[in] DWORD pcbTransferred,
|
||
|
[in] STGOVERLAPPED *lpOverlapped);
|
||
|
}
|
||
|
|
||
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// Contents: IOverlappedStream interface definition
|
||
|
//
|
||
|
// History: 14-Sep-1995 HenryLee initial version
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
[
|
||
|
object,
|
||
|
uuid(49384070-e40a-11ce-b2c9-00aa00680937),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IOverlappedStream : IStream
|
||
|
{
|
||
|
|
||
|
[local]
|
||
|
HRESULT ReadOverlapped (
|
||
|
[in, size_is(cb)] void * pv,
|
||
|
[in] ULONG cb,
|
||
|
[out] ULONG * pcbRead,
|
||
|
[in] STGOVERLAPPED *lpOverlapped);
|
||
|
|
||
|
[call_as(ReadOverlapped)]
|
||
|
HRESULT RemoteReadOverlapped (
|
||
|
[in, size_is(cb)] byte * pv,
|
||
|
[in] ULONG cb,
|
||
|
[out] ULONG * pcbRead,
|
||
|
[in] STGOVERLAPPED *lpOverlapped);
|
||
|
|
||
|
|
||
|
[local]
|
||
|
HRESULT __stdcall WriteOverlapped (
|
||
|
[in, size_is(cb)] void *pv,
|
||
|
[in] ULONG cb,
|
||
|
[out] ULONG * pcbWritten,
|
||
|
[in] STGOVERLAPPED *lpOverlapped);
|
||
|
|
||
|
[call_as(WriteOverlapped)]
|
||
|
HRESULT __stdcall RemoteWriteOverlapped (
|
||
|
[in, size_is(cb)] byte *pv,
|
||
|
[in] ULONG cb,
|
||
|
[out] ULONG * pcbWritten,
|
||
|
[in] STGOVERLAPPED *lpOverlapped);
|
||
|
|
||
|
HRESULT GetOverlappedResult (
|
||
|
[in, out] STGOVERLAPPED *lpOverlapped,
|
||
|
[out] DWORD * plcbTransfer,
|
||
|
[in] BOOL fWait);
|
||
|
|
||
|
}
|