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