1# VpnExtensionContext
2
3VpnExtensionContext是VpnExtensionAbility的上下文环境,继承自[ExtensionContext](../apis-ability-kit/js-apis-inner-application-extensionContext.md)。
4
5VpnExtensionContext可直接作为VpnExtension的上下文环境,提供允许访问特定于VpnExtensionAbility的资源的能力。
6
7> **说明:**
8>
9> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10> 本模块接口仅可在Stage模型下使用。
11
12## 导入模块
13```ts
14import { VpnExtensionAbility } from '@kit.NetworkKit';
15```
16## 使用说明
17
18通过VpnExtensionAbility子类实例来获取。
19
20```ts
21import { VpnExtensionAbility, vpnExtension } from '@kit.NetworkKit';
22import { Want } from '@kit.AbilityKit';
23
24export default class MyVpnExtAbility extends VpnExtensionAbility {
25  private vpnServerIp: string = 'xxx.xxx.x.x';
26  private tunIp: string = 'x.x.x.x';
27  private blockedAppName: string = 'xxxx';
28
29  onCreate(want: Want) {
30    let VpnConnection: vpnExtension.VpnConnection = vpnExtension.createVpnConnection(this.context);
31    console.info("vpn createVpnConnection: " + JSON.stringify(VpnConnection));
32  }
33}
34```
35
36## VpnExtensionAbility
37
38三方VPN拓展能力。
39
40**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
41
42**模型约束**:此接口仅可在Stage模型下使用。
43
44| 名称   | 类型                                                         | 必填 | 说明           |
45|------| ------------------------------------------------------------ | ---- | -------------- |
46| context | [VpnExtensionContext](js-apis-inner-application-VpnExtensionContext.md) | 是   | 指定 context。 |
47
48
49### onCreate
50
51onCreate(want: Want): void
52
53拓展VPN启动初始化的时候进行回调。
54
55**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
56
57**模型约束**:此接口仅可在Stage模型下使用。
58
59**参数:**
60
61| 参数名 | 类型                                | 必填 | 说明        |
62| ------ | ----------------------------------- | ---- |-----------|
63| want   | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 指示要启动的信息。 |
64
65### onDestroy
66
67onDestroy(): void
68
69拓展VPN销毁之前进行回调。
70
71**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
72
73**模型约束**:此接口仅可在Stage模型下使用。
74
75
76
77
78