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 create e onde a conexão ocorrerá.
[in] Connect
Ponteiro para uma estrutura de 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_WRITEe, 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.
Valor de retorno
A função KsCreatePin retorna STATUS_SUCCESS se a conexão foi bem-sucedida ou retorna um erro se a conexão falhou. Além disso, este código de erro Win32 (de Winerror.h) pode ser retornado:
Observações
A rotina envia uma solicitação IRP_MJ_CREATE ao driver. O driver aceita a solicitação somente se a interface, o meio e o formato de dados forem compatíveis.
Se Connect–> PinToHandle estiver NULL, KsCreatePin criará um pino que o chamador pode usar para enviar solicitações ao driver de streaming especificado no Connect –>FilterHandle. Connect–>PinId determina o tipo de pino do pino a ser criado.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | ks.h (incluir Ks.h) |
biblioteca | Ks.lib |