Função KsCreatePin (ks.h)
A função KsCreatePin passa uma solicitação de conexão para um dispositivo, criando uma instância de pin. Essa função só pode ser chamada em PASSIVE_LEVEL para clientes no modo kernel.
Sintaxe
KSDDKAPI NTSTATUS KsCreatePin(
[in] HANDLE FilterHandle,
[in] PKSPIN_CONNECT Connect,
[in] ACCESS_MASK DesiredAccess,
[out] PHANDLE ConnectionHandle
);
Parâmetros
[in] FilterHandle
Especifica o identificador do filtro que inicia a solicitação de criação e onde a conexão ocorrerá.
[in] Connect
Ponteiro para uma estrutura KSPIN_CONNECT que contém parâmetros para a conexão solicitada. Isso deve ser seguido na memória por uma estrutura de dados KSDATAFORMAT , descrevendo o formato de dados solicitado para a conexão.
[in] DesiredAccess
Especifica o acesso desejado ao pino. Normalmente, isso é GENERIC_READ ou GENERIC_WRITE. Para dados que fluem para o pino, esse valor deve ser definido como GENERIC_WRITE e, para dados que fluem para fora do pino, isso deve ser definido como GENERIC_READ independentemente do método de comunicação.
[out] ConnectionHandle
Especifica o identificador de conexão passado. A rotina preenche isso com um identificador para o objeto de arquivo da conexão criada. Esse valor pode ser usado para se desconectar com a função CloseHandle .
Retornar valor
A função KsCreatePin retornará STATUS_SUCCESS se a conexão tiver sido bem-sucedida ou retornará um erro se a conexão falhar. Além disso, esse código de erro Win32 (de Winerror.h) pode ser retornado:
Comentários
A rotina envia uma solicitação de IRP_MJ_CREATE para o driver. O driver aceita a solicitação somente se a interface, o meio e o formato de dados forem compatíveis.
Se Connect-PinToHandle> for NULL, KsCreatePin criará um pin que o chamador pode usar para enviar solicitações ao driver de streaming especificado em Connect-FilterHandle>. Connect-PinId> determina o tipo de pino do pino a ser criado.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |