~ubuntu-branches/ubuntu/feisty/fpc/feisty

« back to all changes in this revision

Viewing changes to packages/extra/winunits/jwaiadmext.pas

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-01-27 20:08:50 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070127200850-9mrptaqqjsx9nwa7
Tags: 2.0.4-5
* Fixed Build-Depends.
* Add myself to Uploaders in debian/control.
* Make sure that the sources are really patched before building them.
* Build unit 'libc' on powerpc too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{******************************************************************************}
2
 
{                                                                              }
3
 
{ IISAdmin Extensions API interface Unit for Object Pascal                     }
4
 
{                                                                              }
5
 
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
6
 
{ Corporation. All Rights Reserved.                                            }
7
 
{                                                                              }
8
 
{ The original file is: iadmext.h, released November 2002. The original Pascal }
9
 
{ code is: IAdmExt.pas, released March 2002. The initial developer of the      }
10
 
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
11
 
{                                                                              }
12
 
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
13
 
{ Marcel van Brakel. All Rights Reserved.                                      }
14
 
{                                                                              }
15
 
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
16
 
{                                                                              }
17
 
{ You may retrieve the latest version of this file at the Project JEDI         }
18
 
{ APILIB home page, located at http://jedi-apilib.sourceforge.net              }
19
 
{                                                                              }
20
 
{ The contents of this file are used with permission, subject to the Mozilla   }
21
 
{ Public License Version 1.1 (the "License"); you may not use this file except }
22
 
{ in compliance with the License. You may obtain a copy of the License at      }
23
 
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
24
 
{                                                                              }
25
 
{ Software distributed under the License is distributed on an "AS IS" basis,   }
26
 
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
27
 
{ the specific language governing rights and limitations under the License.    }
28
 
{                                                                              }
29
 
{ Alternatively, the contents of this file may be used under the terms of the  }
30
 
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
31
 
{ provisions of the LGPL License are applicable instead of those above.        }
32
 
{ If you wish to allow use of your version of this file only under the terms   }
33
 
{ of the LGPL License and not to allow others to use your version of this file }
34
 
{ under the MPL, indicate your decision by deleting  the provisions above and  }
35
 
{ replace  them with the notice and other provisions required by the LGPL      }
36
 
{ License.  If you do not delete the provisions above, a recipient may use     }
37
 
{ your version of this file under either the MPL or the LGPL License.          }
38
 
{                                                                              }
39
 
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
40
 
{                                                                              }
41
 
{******************************************************************************}
42
 
 
43
 
// $Id: jwaiadmext.pas,v 1.1 2005/04/04 07:56:10 marco Exp $
44
 
 
45
 
unit JwaIAdmExt;
46
 
 
47
 
{$WEAKPACKAGEUNIT}
48
 
 
49
 
{$HPPEMIT ''}
50
 
{$HPPEMIT '#include "iadmext.h"'}
51
 
{$HPPEMIT ''}
52
 
 
53
 
{$I jediapilib.inc}
54
 
 
55
 
interface
56
 
 
57
 
uses
58
 
  JwaIisCnfg, JwaWinType;
59
 
 
60
 
//
61
 
// The Main Interface. All extensions must support this interface.
62
 
//
63
 
// {51DFE970-F6F2-11d0-B9BD-00A0C922E750}
64
 
 
65
 
const
66
 
  IID_IADMEXT: TGUID = (D1:$51dfe970; D2:$f6f2; D3:$11d0; D4:($b9, $bd, $0, $a0, $c9, $22, $e7, $50));
67
 
  {$EXTERNALSYM IID_IADMEXT}
68
 
 
69
 
//
70
 
// InProcess COM Registration. All extensions must write a subkey name by the
71
 
// CLSID for the above interface under this key in the Registry.
72
 
//
73
 
 
74
 
  IISADMIN_EXTENSIONS_REG_KEYA = 'SOFTWARE\Microsoft\InetStp\Extensions';
75
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_REG_KEYA}
76
 
  IISADMIN_EXTENSIONS_REG_KEYW = WideString('SOFTWARE\Microsoft\InetStp\Extensions');
77
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_REG_KEYW}
78
 
  IISADMIN_EXTENSIONS_REG_KEY  = TEXT('SOFTWARE\Microsoft\InetStp\Extensions');
79
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_REG_KEY}
80
 
 
81
 
//
82
 
// COM Registration. CLSIDS for the DCOM interface provided by these extensions will
83
 
// be written to this key and ID by IISADMIN as a multisz property.
84
 
//
85
 
// This is intended for use by other applications which need to find out what classid's are
86
 
// registered.
87
 
//
88
 
 
89
 
  IISADMIN_EXTENSIONS_CLSID_MD_KEYA = 'LM/IISADMIN/EXTENSIONS/DCOMCLSIDS';
90
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_KEYA}
91
 
  IISADMIN_EXTENSIONS_CLSID_MD_KEYW = WideString('LM/IISADMIN/EXTENSIONS/DCOMCLSIDS');
92
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_KEYW}
93
 
  IISADMIN_EXTENSIONS_CLSID_MD_KEY  = TEXT('LM/IISADMIN/EXTENSIONS/DCOMCLSIDS');
94
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_KEY}
95
 
  IISADMIN_EXTENSIONS_CLSID_MD_ID   = MD_IISADMIN_EXTENSIONS;
96
 
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_ID}
97
 
 
98
 
type
99
 
  IADMEXT = interface (IUnknown)
100
 
  ['{51DFE970-F6F2-11d0-B9BD-00A0C922E750}']
101
 
    //
102
 
    // All methods below will be called under a thread which has called
103
 
    // CoInitializeEx(NULL, COINIT_MULTITHREADED).
104
 
    //
105
 
    // The IMSAdminBase Object will be available during all of these calls.
106
 
    //
107
 
 
108
 
    //
109
 
    // Initialize will be called by IISADMIN when it initializes.
110
 
    //
111
 
    function Initialize: HRESULT; stdcall;
112
 
 
113
 
    //
114
 
    // EnumDcomCLSIDs will be called by IISADMIN when it initializes,
115
 
    // and the returned CLSIDs will be written to the metabase at
116
 
    // the path IISADMIN_EXTENSIONS_CLSID_MD_KEY.
117
 
    //
118
 
    function EnumDcomCLSIDs(var pclsidDcom: CLSID; dwEnumIndex: DWORD): HRESULT; stdcall;
119
 
 
120
 
    //
121
 
    // Terminate will be called by IISADMIN when it terminates.
122
 
    //
123
 
    function Terminate: HRESULT; stdcall;
124
 
  end;
125
 
  {$EXTERNALSYM IADMEXT}
126
 
 
127
 
implementation
128
 
 
129
 
end.
130
 
 
 
1
{******************************************************************************}
 
2
{                                                                              }
 
3
{ IISAdmin Extensions API interface Unit for Object Pascal                     }
 
4
{                                                                              }
 
5
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
 
6
{ Corporation. All Rights Reserved.                                            }
 
7
{                                                                              }
 
8
{ The original file is: iadmext.h, released November 2002. The original Pascal }
 
9
{ code is: IAdmExt.pas, released March 2002. The initial developer of the      }
 
10
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
 
11
{                                                                              }
 
12
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
 
13
{ Marcel van Brakel. All Rights Reserved.                                      }
 
14
{                                                                              }
 
15
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
 
16
{                                                                              }
 
17
{ You may retrieve the latest version of this file at the Project JEDI         }
 
18
{ APILIB home page, located at http://jedi-apilib.sourceforge.net              }
 
19
{                                                                              }
 
20
{ The contents of this file are used with permission, subject to the Mozilla   }
 
21
{ Public License Version 1.1 (the "License"); you may not use this file except }
 
22
{ in compliance with the License. You may obtain a copy of the License at      }
 
23
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
 
24
{                                                                              }
 
25
{ Software distributed under the License is distributed on an "AS IS" basis,   }
 
26
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
 
27
{ the specific language governing rights and limitations under the License.    }
 
28
{                                                                              }
 
29
{ Alternatively, the contents of this file may be used under the terms of the  }
 
30
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
 
31
{ provisions of the LGPL License are applicable instead of those above.        }
 
32
{ If you wish to allow use of your version of this file only under the terms   }
 
33
{ of the LGPL License and not to allow others to use your version of this file }
 
34
{ under the MPL, indicate your decision by deleting  the provisions above and  }
 
35
{ replace  them with the notice and other provisions required by the LGPL      }
 
36
{ License.  If you do not delete the provisions above, a recipient may use     }
 
37
{ your version of this file under either the MPL or the LGPL License.          }
 
38
{                                                                              }
 
39
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
 
40
{                                                                              }
 
41
{******************************************************************************}
 
42
 
 
43
 
 
44
unit JwaIAdmExt;
 
45
 
 
46
{$WEAKPACKAGEUNIT}
 
47
 
 
48
{$HPPEMIT ''}
 
49
{$HPPEMIT '#include "iadmext.h"'}
 
50
{$HPPEMIT ''}
 
51
 
 
52
{$I jediapilib.inc}
 
53
 
 
54
interface
 
55
 
 
56
uses
 
57
  JwaIisCnfg, JwaWinType;
 
58
 
 
59
//
 
60
// The Main Interface. All extensions must support this interface.
 
61
//
 
62
// {51DFE970-F6F2-11d0-B9BD-00A0C922E750}
 
63
 
 
64
const
 
65
  IID_IADMEXT: TGUID = (D1:$51dfe970; D2:$f6f2; D3:$11d0; D4:($b9, $bd, $0, $a0, $c9, $22, $e7, $50));
 
66
  {$EXTERNALSYM IID_IADMEXT}
 
67
 
 
68
//
 
69
// InProcess COM Registration. All extensions must write a subkey name by the
 
70
// CLSID for the above interface under this key in the Registry.
 
71
//
 
72
 
 
73
  IISADMIN_EXTENSIONS_REG_KEYA = 'SOFTWARE\Microsoft\InetStp\Extensions';
 
74
  {$EXTERNALSYM IISADMIN_EXTENSIONS_REG_KEYA}
 
75
  IISADMIN_EXTENSIONS_REG_KEYW = WideString('SOFTWARE\Microsoft\InetStp\Extensions');
 
76
  {$EXTERNALSYM IISADMIN_EXTENSIONS_REG_KEYW}
 
77
  IISADMIN_EXTENSIONS_REG_KEY  = TEXT('SOFTWARE\Microsoft\InetStp\Extensions');
 
78
  {$EXTERNALSYM IISADMIN_EXTENSIONS_REG_KEY}
 
79
 
 
80
//
 
81
// COM Registration. CLSIDS for the DCOM interface provided by these extensions will
 
82
// be written to this key and ID by IISADMIN as a multisz property.
 
83
//
 
84
// This is intended for use by other applications which need to find out what classid's are
 
85
// registered.
 
86
//
 
87
 
 
88
  IISADMIN_EXTENSIONS_CLSID_MD_KEYA = 'LM/IISADMIN/EXTENSIONS/DCOMCLSIDS';
 
89
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_KEYA}
 
90
  IISADMIN_EXTENSIONS_CLSID_MD_KEYW = WideString('LM/IISADMIN/EXTENSIONS/DCOMCLSIDS');
 
91
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_KEYW}
 
92
  IISADMIN_EXTENSIONS_CLSID_MD_KEY  = TEXT('LM/IISADMIN/EXTENSIONS/DCOMCLSIDS');
 
93
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_KEY}
 
94
  IISADMIN_EXTENSIONS_CLSID_MD_ID   = MD_IISADMIN_EXTENSIONS;
 
95
  {$EXTERNALSYM IISADMIN_EXTENSIONS_CLSID_MD_ID}
 
96
 
 
97
type
 
98
  IADMEXT = interface (IUnknown)
 
99
  ['{51DFE970-F6F2-11d0-B9BD-00A0C922E750}']
 
100
    //
 
101
    // All methods below will be called under a thread which has called
 
102
    // CoInitializeEx(NULL, COINIT_MULTITHREADED).
 
103
    //
 
104
    // The IMSAdminBase Object will be available during all of these calls.
 
105
    //
 
106
 
 
107
    //
 
108
    // Initialize will be called by IISADMIN when it initializes.
 
109
    //
 
110
    function Initialize: HRESULT; stdcall;
 
111
 
 
112
    //
 
113
    // EnumDcomCLSIDs will be called by IISADMIN when it initializes,
 
114
    // and the returned CLSIDs will be written to the metabase at
 
115
    // the path IISADMIN_EXTENSIONS_CLSID_MD_KEY.
 
116
    //
 
117
    function EnumDcomCLSIDs(var pclsidDcom: CLSID; dwEnumIndex: DWORD): HRESULT; stdcall;
 
118
 
 
119
    //
 
120
    // Terminate will be called by IISADMIN when it terminates.
 
121
    //
 
122
    function Terminate: HRESULT; stdcall;
 
123
  end;
 
124
  {$EXTERNALSYM IADMEXT}
 
125
 
 
126
implementation
 
127
 
 
128
end.