//**************************************************************************
//* File: pchat.mof
//**************************************************************************

//**************************************************************************
//* This MOF was generated from the "\\.\ROOT\pchealth"
//* To compile this MOF on another machine you should edit this pragma.
//**************************************************************************
#pragma autorecover
#pragma classflags("forceupdate")

#pragma namespace("\\\\.\\ROOT")

instance of __namespace
{
    Name = "pchealth";
};

#pragma namespace ("\\\\.\\Root\\pchealth")

//*************************************************************
//***   Registers Framework Provide                         
//*************************************************************
instance of __Win32Provider as $P
{
    Name = "pchatprv";
    ClsId = "{5d24c539-5b5b-11d3-8ddd-00c04f688c0b}";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsGet = TRUE;
    SupportsPut = TRUE;
    SupportsDelete = TRUE;
    SupportsEnumeration = TRUE;
    QuerySupportLevels = {"WQL:UnarySelect"};
};

instance of __MethodProviderRegistration
{
    Provider = $P;
};

//**************************************************************************
//* Class: PCHAT_PrintSystem
//**************************************************************************
[dynamic: ToInstance, provider("pchatprv")]
class PCHAT_PrintSystem
{
    [key] string Name;
    string       Path;
    boolean      UsePrintMgrSpooling;
    string       GenDrv;
    string       UniDrv;

};

//**************************************************************************
//* Class: PCHAT_Printer
//**************************************************************************
[dynamic: ToInstance, provider("pchatprv")]
class PCHAT_Printer
{
    [key] string Name;
    string       Filename;
    uint64       Size;
    datetime     Date;
    string       Version;
    string       Manufacturer;
    string       Path;
    boolean      Default;
    boolean      Paused;
    boolean      SpoolEnabled;
    boolean      Network;
    uint32       NSTimeout;
    uint32       RetryTimeout;

    [implemented: ToInstance] void   EnableSpooler([in, id(0)] boolean fEnable);
    [implemented: ToInstance] void   SetAsDefault();
    [implemented: ToInstance] void   PrinterProperties();
    [implemented: ToInstance] void   RemovePause();
    [implemented: ToInstance] void   TestPrinter([in, id(0)] string strURL);
    [implemented: ToInstance] Uint32 ErrorStatus();
};

//**************************************************************************
//* Class: PCHAT_PrintJob
//**************************************************************************
[dynamic: ToInstance, provider("pchatprv")]
class PCHAT_PrintJob
{
    [key] string Name;
    string       Document;
    string       Status;
    string       User;
    datetime     TimeSubmitted;
    uint32       PagesPrinted;
    uint32       Size;
};

//* EOF pchat.mof
