// PPMCB.idl : IDL source for PPMCB.dll
//

// Begin IPPMError Interface Specification

import "oaidl.idl";

// Severity flags
const DWORD SEVERITY_FATAL  = 0xBADDBADD;
const DWORD SEVERITY_NORMAL = 0x00000000;

// PPM specific error codes
const DWORD PPM_E_RECVSIZE  = 0x8004C301;
const DWORD PPM_E_SEQSKIP   = 0x8004C302;
const DWORD PPM_E_TIMER     = 0x8004C303;

[
	object,
	uuid(1EFE33B1-2B86-11d0-9CA2-00A0C9081C19),
    local,
	helpstring("IPPMError Interface"),
	pointer_default(unique)
]
interface IPPMError : IUnknown
{
[id(1)] HRESULT PPMError(
    [in] HRESULT                    hError,
    [in] DWORD                      dwSeverity,
    [in] DWORD                      dwCookie,
    [in, size_is(iDataLen)] BYTE    pData[],
    [in] unsigned int               iDataLen);
}; // interface IPPMError


// Begin IPPMNotificationInterface Interface Specification

[
    object,
    uuid(1EFE33B4-2B86-11d0-9CA2-00A0C9081C19),
    helpstring("IPPMNotification Interface"),
    pointer_default(unique),
    local
]
interface IPPMNotification: IUnknown
{
    [id(1)] HRESULT PPMNotification(
        [in] HRESULT                    hError,
        [in] DWORD                      dwSeverity,
    [in] DWORD                      dwCookie,
    [in, size_is(iDataLen)] BYTE    pData[],
    [in] unsigned int               iDataLen);
}; // interface IPPMNotificationInterface


