home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / dbmsg / mapi / remote.srv / wdsadm.idl < prev    next >
Text File  |  1996-04-11  |  11KB  |  210 lines

  1. [
  2.     uuid(2BC66860-E91E-11CE-B2F0-00AA00510E3B),
  3.     version(1.0),
  4.     pointer_default(unique)
  5. ]
  6.  
  7. #define MAX_ALIAS_SIZE      16+1
  8. #define MAX_STRING_SIZE     32+1
  9. #define MAX_PHONE_SIZE      12+1
  10. #define MAX_COMMENT_SIZE    79+1
  11. #define MAX_PASSWORD_SIZE   MAX_ALIAS_SIZE
  12.  
  13. interface WINDSADM
  14. {
  15.     // ANSI data structures
  16.     typedef struct _ADM_MAILBOX_INFO_A
  17.     {
  18.         char            szMailboxName[MAX_ALIAS_SIZE];
  19.         char            szFullName[MAX_STRING_SIZE];
  20.         char            szJobTitle[MAX_STRING_SIZE];
  21.         char            szOffice[MAX_STRING_SIZE];
  22.         char            szPhone[MAX_PHONE_SIZE];
  23.         char            szAltPhone[MAX_PHONE_SIZE];
  24.         char            szFax[MAX_PHONE_SIZE];
  25.         char            szPassword[MAX_ALIAS_SIZE];
  26.         char            szCompany[MAX_STRING_SIZE];
  27.         char            szDepartment[MAX_STRING_SIZE];
  28.         char            szComments[MAX_COMMENT_SIZE];
  29.         char            szManagerName[MAX_STRING_SIZE];
  30.         char            szManagerAlias[MAX_STRING_SIZE];
  31.         unsigned long   dwManagerID;
  32.         unsigned long   dwObjID;
  33.         unsigned long   dwFlags;
  34.     } ADM_MAILBOX_INFO_A;
  35.  
  36.     typedef struct _DLM_INFO_A
  37.     {
  38.         char            szMemberName[36];
  39.         char            szMemberAlias[20];
  40.         unsigned long   dwMemberID;
  41.         unsigned long   dwMemberType;
  42.     } DLM_INFO_A;
  43.  
  44.     typedef struct _DLM_LIST_A
  45.     {
  46.         DLM_INFO_A            Info;
  47.         struct _DLM_LIST_A *  pNext;
  48.     } DLM_LIST_A;
  49.  
  50.     typedef struct _DLM_ARRAY_A
  51.     {
  52.         unsigned long                   dwCount;
  53.         [size_is(dwCount)] DLM_INFO_A   pMembers[];
  54.     } DLM_ARRAY_A;
  55.  
  56.     typedef [transmit_as(DLM_ARRAY_A)] DLM_LIST_A   DLM_XMIT_LIST_A;
  57.  
  58.     // UNICODE data structures
  59.     typedef struct _ADM_MAILBOX_INFO_W
  60.     {
  61.         wchar_t         szMailboxName[MAX_ALIAS_SIZE];
  62.         wchar_t         szFullName[MAX_STRING_SIZE];
  63.         wchar_t         szJobTitle[MAX_STRING_SIZE];
  64.         wchar_t         szOffice[MAX_STRING_SIZE];
  65.         wchar_t         szPhone[MAX_PHONE_SIZE];
  66.         wchar_t         szAltPhone[MAX_PHONE_SIZE];
  67.         wchar_t         szFax[MAX_PHONE_SIZE];
  68.         wchar_t         szPassword[MAX_ALIAS_SIZE];
  69.         wchar_t         szCompany[MAX_STRING_SIZE];
  70.         wchar_t         szDepartment[MAX_STRING_SIZE];
  71.         wchar_t         szComments[MAX_COMMENT_SIZE];
  72.         wchar_t         szManagerName[MAX_STRING_SIZE];
  73.         wchar_t         szManagerAlias[MAX_STRING_SIZE];
  74.         unsigned long   dwManagerID;
  75.         unsigned long   dwObjID;
  76.         unsigned long   dwFlags;
  77.     } ADM_MAILBOX_INFO_W;
  78.  
  79.     typedef struct _DLM_INFO_W
  80.     {
  81.         wchar_t         szMemberName[36];
  82.         wchar_t         szMemberAlias[20];
  83.         unsigned long   dwMemberID;
  84.         unsigned long   dwMemberType;
  85.     } DLM_INFO_W;
  86.  
  87.     typedef struct _DLM_LIST_W
  88.     {
  89.         DLM_INFO_W            Info;
  90.         struct _DLM_LIST_W *  pNext;
  91.     } DLM_LIST_W;
  92.  
  93.     typedef struct _DLM_ARRAY_W
  94.     {
  95.         unsigned long                   dwCount;
  96.         [size_is(dwCount)] DLM_INFO_W   pMembers[];
  97.     } DLM_ARRAY_W;
  98.  
  99.     typedef [transmit_as(DLM_ARRAY_W)] DLM_LIST_W   DLM_XMIT_LIST_W;
  100.  
  101.  
  102.     
  103.     long RemoteAdmIsServerRunning
  104.             ();
  105.     long RemoteAdmDeleteObject
  106.             ([in] unsigned long                                         dwObjID);
  107.     long RemoteAdmGetServerMailboxes
  108.             ([out] long *                                               pPipeNumber);
  109.     long RemoteAdmGetServerDistLists
  110.             ([out] long *                                               pPipeNumber);
  111.     long RemoteAdmEmptyMailbox
  112.             ([in] unsigned long                                         dwMailboxID);
  113.     long RemoteAdmGetGALDirectory
  114.             ([in] unsigned long                                         dwFlags,
  115.              [out] long *                                               pPipeNumber);
  116.  
  117.     // ANSI version of the RPC calls
  118.     long RemoteAdmTerminateNotifA
  119.             ([in, string] unsigned char *                               szComputerName,
  120.              [in] unsigned long                                         ulConnectionID);
  121.     long RemoteAdmValidateNotifA
  122.             ([in, string] unsigned char *                               szComputerName,
  123.              [in] unsigned long                                         ulNotifMask,
  124.              [out] unsigned long *                                      pulConnectionID);
  125.     long RemoteAdmCreateMailboxA
  126.             ([in] ADM_MAILBOX_INFO_A *                                  pMailboxInfo);
  127.     long RemoteAdmGetMailboxPropsA
  128.             ([in] unsigned long                                         dwObjID,
  129.              [out] unsigned long *                                      pdwObjType,
  130.              [out] ADM_MAILBOX_INFO_A *                                 pMailboxInfo);
  131.     long RemoteAdmSetMailboxPropsA
  132.             ([in] ADM_MAILBOX_INFO_A *                                  pMailboxInfo);
  133.  
  134.     long RemoteAdmCreateDistListA
  135.             ([in, string] unsigned char *                               szDLAlias,
  136.              [in, string] unsigned char *                               szDLFullName,
  137.              [in] unsigned long                                         dwFlags,
  138.              [in, string] unsigned char *                               szOwnerAlias,
  139.              [in, string] unsigned char *                               szOwnerName,
  140.              [in] unsigned long                                         dwOwnerID,
  141.              [in] DLM_XMIT_LIST_A *                                     pMembers);
  142.     long RemoteAdmGetDLPropsA
  143.             ([in] unsigned long                                         dwObjID,
  144.              [out, string, size_is(MAX_ALIAS_SIZE)] unsigned char *     szDLAlias,
  145.              [out, string, size_is(MAX_STRING_SIZE)] unsigned char *    szDLFullName,
  146.              [out] unsigned long *                                      pdwFlags,
  147.              [out, string, size_is(MAX_ALIAS_SIZE)] unsigned char *     szOwnerAlias,
  148.              [out, string, size_is(MAX_STRING_SIZE)] unsigned char *    szOwnerName,
  149.              [out] unsigned long *                                      pdwOwnerID,
  150.              [out, string, size_is(MAX_COMMENT_SIZE)] unsigned char *   szComments,
  151.              [in, out] DLM_XMIT_LIST_A *                                pMembers);
  152.     long RemoteAdmSetDLPropsA
  153.             ([in] unsigned long                                         dwObjID,
  154.              [in, string] unsigned char *                               szDLAlias,
  155.              [in, string] unsigned char *                               szDLFullName,
  156.              [in] unsigned long                                         dwFlags,
  157.              [in, string] unsigned char *                               szOwnerAlias,
  158.              [in, string] unsigned char *                               szOwnerName,
  159.              [in] unsigned long                                         dwOwnerID,
  160.              [in, string] unsigned char *                               szComments,
  161.              [in, out] DLM_XMIT_LIST_A *                                pMembers);
  162.  
  163.     // UNICODE version of the RPC calls
  164.     long RemoteAdmTerminateNotifW
  165.             ([in, string] wchar_t *                                     szComputerName,
  166.              [in] unsigned long                                         ulConnectionID);
  167.     long RemoteAdmValidateNotifW
  168.             ([in, string] wchar_t *                                     szComputerName,
  169.              [in] unsigned long                                         ulNotifMask,
  170.              [out] unsigned long *                                      pulConnectionID);
  171.  
  172.     long RemoteAdmCreateMailboxW
  173.             ([in] ADM_MAILBOX_INFO_W *                                  pMailboxInfo);
  174.     long RemoteAdmGetMailboxPropsW
  175.             ([in] unsigned long                                         dwObjID,
  176.              [out] unsigned long *                                      pdwObjType,
  177.              [out] ADM_MAILBOX_INFO_W *                                 pMailboxInfo);
  178.     long RemoteAdmSetMailboxPropsW
  179.             ([in] ADM_MAILBOX_INFO_W *                                  pMailboxInfo);
  180.  
  181.     long RemoteAdmCreateDistListW
  182.             ([in, string] wchar_t *                                     szDLAlias,
  183.              [in, string] wchar_t *                                     szDLFullName,
  184.              [in] unsigned long                                         dwFlags,
  185.              [in, string] wchar_t *                                     szOwnerAlias,
  186.              [in, string] wchar_t *                                     szOwnerName,
  187.              [in] unsigned long                                         dwOwnerID,
  188.              [in] DLM_XMIT_LIST_W *                                     pMembers);
  189.     long RemoteAdmGetDLPropsW
  190.             ([in] unsigned long                                         dwObjID,
  191.              [out, string, size_is(MAX_ALIAS_SIZE)] wchar_t *           szDLAlias,
  192.              [out, string, size_is(MAX_STRING_SIZE)] wchar_t *          szDLFullName,
  193.              [out] unsigned long *                                      pdwFlags,
  194.              [out, string, size_is(MAX_ALIAS_SIZE)] wchar_t *           szOwnerAlias,
  195.              [out, string, size_is(MAX_STRING_SIZE)] wchar_t *          szOwnerName,
  196.              [out] unsigned long *                                      pdwOwnerID,
  197.              [out, string, size_is(MAX_COMMENT_SIZE)] wchar_t *         szComments,
  198.              [in, out] DLM_XMIT_LIST_W *                                pMembers);
  199.     long RemoteAdmSetDLPropsW
  200.             ([in] unsigned long                                         dwObjID,
  201.              [in, string] wchar_t *                                     szDLAlias,
  202.              [in, string] wchar_t *                                     szDLFullName,
  203.              [in] unsigned long                                         dwFlags,
  204.              [in, string] wchar_t *                                     szOwnerAlias,
  205.              [in, string] wchar_t *                                     szOwnerName,
  206.              [in] unsigned long                                         dwOwnerID,
  207.              [in, string] wchar_t *                                     szComments,
  208.              [in, out] DLM_XMIT_LIST_W *                                pMembers);
  209. }
  210.