Compartilhar via


Função FwpmEngineOpen0 (fwpmu.h)

A função FwpmEngineOpen0 abre uma sessão para o mecanismo de filtro.

Sintaxe

DWORD FwpmEngineOpen0(
  [in, optional] const wchar_t             *serverName,
  [in]           UINT32                    authnService,
  [in, optional] SEC_WINNT_AUTH_IDENTITY_W *authIdentity,
  [in, optional] const FWPM_SESSION0       *session,
  [out]          HANDLE                    *engineHandle
);

Parâmetros

[in, optional] serverName

Tipo: const wchar_t*

Esse valor deve ser NULL.

[in] authnService

Tipo: UINT32

Especifica o serviço de autenticação a ser usado. Os serviços permitidos são RPC_C_AUTHN_WINNT e RPC_C_AUTHN_DEFAULT.

[in, optional] authIdentity

Tipo: SEC_WINNT_AUTH_IDENTITY_A*

As credenciais de autenticação e autorização para acessar o mecanismo de filtro. Esse ponteiro é opcional e pode ser NULL. Se esse ponteiro for NULL, as credenciais do thread de chamada serão usadas.

[in, optional] session

Tipo: FWPM_SESSION0*

Parâmetros específicos da sessão para a sessão que está sendo aberta. Esse ponteiro é opcional e pode ser NULL.

[out] engineHandle

Tipo: HANDLE*

Manipule para a sessão aberta para o mecanismo de filtro.

Valor retornado

Tipo: DWORD

Valor/código retornado Descrição
ERROR_SUCCESS
0
A sessão foi iniciada com êxito.
FWP_E_ALREADY_EXISTS
0x80320009
Uma sessão com a sessionKey especificada já está aberta.
código de erro FWP_E_*
0x80320001 — 0x80320039
Um erro específico da Plataforma de Filtragem do Windows (WFP). Consulte Códigos de erro WFP para obter detalhes.
código de erro RPC_*
0x80010001 — 0x80010122
Falha ao se comunicar com o mecanismo de firewall remoto ou local.

Comentários

Um aplicativo de usuário deve chamar FwpmEngineOpen0 para obter um identificador para sessão aberta no mecanismo de filtro antes de adicionar ou remover objetos de filtro. Um identificador de uma sessão aberta para o mecanismo de filtro também é necessário para a maioria das outras funções de gerenciamento da Plataforma de Filtragem do Windows.

A sessão é fechada automaticamente quando o programa termina. Para fechar explicitamente uma sessão, chame FwpmEngineClose0.

Se a sessão. flags é definido como FWPM_SESSION_FLAG_DYNAMIC, todos os objetos WFP adicionados durante a sessão são excluídos automaticamente quando a sessão termina. Se a sessão não for dinâmica, o chamador precisará excluir explicitamente todos os objetos WFP adicionados durante a sessão.

O chamador precisa FWPM_ACTRL_OPEN acesso ao mecanismo de filtro. Consulte Controle de Acesso para obter mais informações.

FwpmEngineOpen0 destina-se apenas ao uso no modo não representado.

FwpmEngineOpen0 é uma implementação específica do FwpmEngineOpen. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações.

Exemplos

O exemplo C++ a seguir usa FwpmEngineOpen0 para abrir uma sessão de filtro.

// Open a session to the filter engine
        
HANDLE    engineHandle = NULL;
DWORD    result = ERROR_SUCCESS; 

printf("Opening the filter engine.\n");
        
result = FwpmEngineOpen0(
    NULL, 
    RPC_C_AUTHN_WINNT, 
    NULL,
    NULL, 
    &engineHandle );

if (result != ERROR_SUCCESS)
    printf("FwpmEngineOpen0 failed. Return value: %d.\n", result); 
else
    printf("Filter engine opened successfully.\n");

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho fwpmu.h
Biblioteca Fwpuclnt.lib
DLL Fwpuclnt.dll

Confira também

Constantes de serviço de autenticação

FWPM_SESSION0

FwpmEngineClose0

Kernel-Mode FwpmEngineOpen0

SEC_WINNT_AUTH_IDENTITY_A