Sample program: Displaying the Properties view of an object

 
#ifdef UNICODE
   #define _UNICODE
#endif
#include  <windows.h>                    // Windows APIs and datatypes
#include  "cwbsoapi.h"                   // System Object Access APIs
#include  "cwbrc.h"                      // iSeries DPC APIs
#include  "cwbun.h"                      // iSeries Navigator APIs
 
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                          LPSTR lpszCmdLine, int nCmdShow)
{
MSG               msg;                          // Message structure
HWND              hWnd;                         // Window handle
cwbRC_SysHandle   hSystem;                      // System handle
CWBSO_LIST_HANDLE hList  = CWBSO_NULL_HANDLE;   // List handle
CWBSO_ERR_HANDLE  hError = CWBSO_NULL_HANDLE;   // Error handle
CWBSO_OBJ_HANDLE  hObject = CWBSO_NULL_HANDLE;  // Object handle
cwbCO_SysHandle   hSystemHandle;                // System object handle
unsigned long     listSize = 0;                 // List size
unsigned short    listStatus = 0;               // List status
unsigned int      rc;                           // System Object Access return codes
 
//*******************************************************************
// Start a conversation with iSeries server SYSNAME.  Specify
// application name APPNAME.
//******************************************************************
 
cwbUN_GetSystemHandle((char *)"SYSNAME", (char *)"APPNAME", &hSystemHandle);

cwbRC_StartSysEx(hSystemHandle, &hSystem);
 
//*******************************************************************
// Create a list of spooled files.  Set desired filter criteria.
//*******************************************************************
 
// Create a list of spooled files on system SYSNAME
CWBSO_CreateListHandleEx(hSystemHandle,
                         CWBSO_LIST_SFL,
                         &hList);
 
// Only include spooled files on printer P3812 for user TLK
CWBSO_SetListFilter(hList, CWBSO_SFLF_DeviceFilter, "P3812");
CWBSO_SetListFilter(hList, CWBSO_SFLF_UserFilter, "TLK");
 
//*******************************************************************
// Open the list.
//*******************************************************************
 
// Create an error handle
CWBSO_CreateErrorHandle(&hError);
 
// Open the list of spooled files
rc = CWBSO_OpenList(hList, hError);
// If an error occurred, display a message box
if (rc == CWBSO_ERROR_OCCURRED)
  CWBSO_DisplayErrMsg(hError);
else
{
  //*****************************************************************
  // Display the properties of the first object in the list
  //*****************************************************************
 
  // Get the number of objects in the list
  CWBSO_GetListSize(hList, &listSize, &listStatus, hError);
 
  if (listSize > 0)
  {
    // Get the first object in the list
    CWBSO_GetObjHandle(hList, 0, &hObject, hError);
 
    // Display the properties window for this object
    CWBSO_DisplayObjAttr(hObject, hInstance, nCmdShow, &hWnd, hError);
 
    // Dispatch messages for the properties window
    while(GetMessage(&msg, NULL, 0, 0))
    {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
 }
 
    // Properties window has been closed - delete object handle
    CWBSO_DeleteObjHandle(hObject);
  }
}
 
//*******************************************************************
// Processing complete - clean up and exit.
//*******************************************************************
 
// Close the list
CWBSO_CloseList(hList, hError);
 
// Clean up handles
CWBSO_DeleteErrorHandle(hError);
CWBSO_DeleteListHandle(hList);
 
// End the conversation started by EHNDP_StartSys
cwbRC_StopSys(hSystem);
 
//********************************************************************
// Return from WinMain.
//********************************************************************
 
return rc;
}