estrutura MFP_ACQUIRE_USER_CREDENTIAL_EVENT (mfplay.h)
Estrutura de eventos para o evento MFP_EVENT_TYPE_ACQUIRE_USER_CREDENTIAL . Esse evento será enviado se o aplicativo reproduzir um arquivo de mídia de um servidor que requer autenticação. O aplicativo pode responder fornecendo as credenciais do usuário.
Sintaxe
typedef struct MFP_ACQUIRE_USER_CREDENTIAL_EVENT {
MFP_EVENT_HEADER header;
DWORD_PTR dwUserData;
BOOL fProceedWithAuthentication;
HRESULT hrAuthenticationStatus;
LPCWSTR pwszURL;
LPCWSTR pwszSite;
LPCWSTR pwszRealm;
LPCWSTR pwszPackage;
LONG nRetries;
MFP_CREDENTIAL_FLAGS flags;
IMFNetCredential *pCredential;
} MFP_ACQUIRE_USER_CREDENTIAL_EVENT;
Membros
header
MFP_EVENT_HEADER estrutura que contém dados comuns a todos os eventos IMFPMediaPlayer .
dwUserData
Dados de usuário definidos pelo aplicativo para o item de mídia. Esse valor é especificado quando o aplicativo chama IMFPMediaPlayer::CreateMediaItemFromURL ou IMFPMediaPlayer::CreateMediaItemFromObject para criar o item de mídia.
Esse evento é enviado (se for) antes que o item de mídia seja criado e antes que o aplicativo receba o evento MFP_EVENT_TYPE_MEDIAITEM_CREATED . Você pode usar o valor de dwUserData para identificar qual item de mídia requer autenticação.
fProceedWithAuthentication
O aplicativo deve definir esse membro como TRUE ou FALSE antes de retornar do retorno de chamada de evento IMFPMediaPlayerCallback::OnMediaPlayerEvent .
Se o valor for TRUE quando o retorno de chamada retornar, o MFPlay continuará a tentativa de autenticação. Caso contrário, a autenticação falhará.
hrAuthenticationStatus
O código de resposta do desafio de autenticação.
pwszURL
A URL original que requer autenticação.
pwszSite
O nome do site ou proxy que requer autenticação.
pwszRealm
O nome do realm para essa autenticação.
pwszPackage
O nome do pacote de autenticação, como "Digest" ou "MBS_BASIC".
nRetries
O número de novas tentativas. Esse membro é definido como zero na primeira tentativa e incrementado uma vez para cada tentativa subsequente.
flags
OR bit a bit de zero ou mais sinalizadores da enumeração _MFP_CREDENTIAL_FLAGS.
pCredential
Ponteiro para a interface IMFNetCredential . O aplicativo usa essa interface para definir as credenciais do usuário.
Comentários
Para obter um ponteiro para essa estrutura, converta o parâmetro pEventHeader do método de retorno de chamada IMFPMediaPlayerCallback::OnMediaPlayerEvent . Você pode usar a macro MFP_GET_ACQUIRE_USER_CREDENTIAL_EVENT para essa finalidade.
Se o membro flags contiver o sinalizador MFP_CREDENTIAL_PROMPT , o aplicativo deverá fazer o seguinte:
- Solicite que o usuário insira um nome de usuário e uma senha.
- Armazene o nome de usuário no objeto de credenciais chamando IMFNetCredential::SetUser no ponteiro pCredential .
- Armazene a senha chamando IMFNetCredential::SetPassword no ponteiro pCredential .
Por padrão, o MFPlay usa a implementação da fonte de rede de IMFNetCredentialManager para gerenciar credenciais. Um aplicativo pode fornecer sua própria implementação dessa interface da seguinte maneira:
- Chame QueryInterface no ponteiro IMFPMediaPlayer para obter a interface IPropertyStore .
- Chame IPropertyStore::SetValue para definir a propriedade MFNETSOURCE_CREDENTIAL_MANAGER .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho | mfplay.h |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de