Função KsStreamPointerClone (ks.h)
A função KsStreamPointerClone cria um clone de um determinado ponteiro de fluxo.
Sintaxe
KSDDKAPI NTSTATUS KsStreamPointerClone(
[in] PKSSTREAM_POINTER StreamPointer,
[in, optional] PFNKSSTREAMPOINTER CancelCallback,
[in] ULONG ContextSize,
[out] PKSSTREAM_POINTER *CloneStreamPointer
);
Parâmetros
[in] StreamPointer
Um ponteiro para uma estrutura KSSTREAM_POINTER que representa o ponteiro de fluxo que deve ser clonado.
[in, optional] CancelCallback
Opcional. Um ponteiro para uma rotina AVStrMiniCancelCallback fornecida por minidriver. O AVStream chamará essa rotina se o IRP associado ao CloneStreamPointer for cancelado.
[in] ContextSize
Esse parâmetro indica quantos bytes de informações de contexto do minidriver o ponteiro de fluxo de clone resultante deve ter. Se diferente de zero, o número solicitado de bytes será alocado imediatamente após o ponteiro de fluxo retornado e o campo Contexto de CloneStreamPointer apontará para a memória alocada.
[out] CloneStreamPointer
Um ponteiro para um ponteiro para uma estrutura KSSTREAM_POINTER . Após a conclusão bem-sucedida da operação de clonagem, CloneStreamPointer contém um ponteiro para o endereço do ponteiro de fluxo clonado.
Retornar valor
KsStreamPointerClone retorna STATUS_SUCCESS, indicando que a operação de clonagem foi concluída normalmente ou um código de erro apropriado.
Comentários
O clone resultante inicialmente refere-se ao mesmo quadro de dados que o ponteiro de fluxo original e está no mesmo estado (bloqueado ou desbloqueado). Adicionar um ponteiro de fluxo de clone referenciando um quadro de dados incrementa a contagem de referência nesse quadro específico. Observe que o quadro em questão e, portanto, o IRP ao qual o quadro pertence, não é concluído até que a contagem de referência cai para zero.
Você pode usar o parâmetro ContextSize dessa chamada para minimizar as chamadas de alocação.
Consulte também Stream Ponteiros.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |
IRQL | <=DISPATCH_LEVEL |