Método IMFSchemeHandler::BeginCreateObject (mfidl.h)
Comienza una solicitud asincrónica para crear un objeto a partir de una dirección URL.
Cuando el Solucionador de origen crea un origen multimedia a partir de una dirección URL, pasa la solicitud a un controlador de esquema. El controlador de esquemas puede crear un origen multimedia directamente desde la dirección URL o devolver una secuencia de bytes. Si devuelve una secuencia de bytes, la resolución de origen usa un controlador de secuencia de bytes para crear el origen multimedia a partir de la secuencia de bytes.
Sintaxis
HRESULT BeginCreateObject(
[in] LPCWSTR pwszURL,
[in] DWORD dwFlags,
[in] IPropertyStore *pProps,
[out] IUnknown **ppIUnknownCancelCookie,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
Parámetros
[in] pwszURL
Cadena terminada en null que contiene la dirección URL que se va a resolver.
[in] dwFlags
OR bit a bit de una o varias marcas. Consulte Marcas de resolución de origen.
[in] pProps
Puntero a la interfaz IPropertyStore de un almacén de propiedades. El controlador de esquemas puede usar este almacén de propiedades para configurar el objeto. Este parámetro puede ser NULL. Para obtener más información, consulte Configuración de un origen multimedia.
[out] ppIUnknownCancelCookie
Recibe un puntero IUnknown o el valor NULL. Si el valor no es NULL, puede cancelar la operación asincrónica pasando este puntero al método IMFSchemeHandler::CancelObjectCreation . El autor de la llamada debe liberar la interfaz . Este parámetro puede ser NULL, en cuyo caso el puntero IUnknown no se devuelve al autor de la llamada.
[in] pCallback
Puntero a la interfaz IMFAsyncCallback de un objeto de devolución de llamada. El autor de la llamada debe implementar esta interfaz.
[in] punkState
Puntero a la interfaz IUnknown de un objeto de estado, definido por el autor de la llamada. Este parámetro puede ser NULL. Puede usar este objeto para contener información de estado. El objeto se devuelve al autor de la llamada cuando se invoca la devolución de llamada.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
No se puede abrir la dirección URL con el acceso solicitado (lectura o escritura). |
|
Tipo de secuencia de bytes no admitido. |
Comentarios
El parámetro dwFlags debe contener la marca MF_RESOLUTION_MEDIASOURCE o la marca MF_RESOLUTION_BYTESTREAM . Si se establece la marca MF_RESOLUTION_MEDIASOURCE , el controlador de esquema podría crear el origen multimedia directamente desde la dirección URL o crear una secuencia de bytes. El tipo de objeto se devuelve en el parámetro pObjectType del método IMFSchemeHandler::EndCreateObject . Si el controlador de esquema devuelve una secuencia de bytes, el solucionador de origen pasará la secuencia de bytes a un controlador de secuencia de bytes, que creará el origen multimedia a partir de la secuencia de bytes.
Si se establece la marca MF_RESOLUTION_BYTESTREAM , el controlador de esquema intentará crear una secuencia de bytes a partir de la dirección URL. Sin embargo, si el controlador de esquema está diseñado para crear un origen multimedia directamente, en lugar de una secuencia de bytes, se producirá un error en el método.
En la tabla siguiente se resume el comportamiento de estas dos marcas cuando se pasa a este método:
Marca | Objeto creado |
---|---|
MF_RESOLUTION_MEDIASOURCE | Origen multimedia o secuencia de bytes |
MF_RESOLUTION_BYTESTREAM | Secuencia de bytes |
Las marcas MF_RESOLUTION_MEDIASOURCE y MF_RESOLUTION_BYTESTREAM se pueden combinar, aunque en este caso es redundante.
Cuando se completa la operación, el controlador de esquema llama al método IMFAsyncCallback::Invoke . El método Invoke debe llamar a IMFSchemeHandler::EndCreateObject para obtener un puntero al objeto creado.
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | mfidl.h |
Library | Mfuuid.lib |