FtmBase (clase)
Representa un objeto de cálculo de referencias con subprocesamiento libre.
Sintaxis
class FtmBase :
public Microsoft::WRL::Implements<
Microsoft::WRL::RuntimeClassFlags<WinRtClassicComMix>,
Microsoft::WRL::CloakedIid<IMarshal>
>;
Comentarios
Para más información, consulte Clase RuntimeClass.
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
FtmBase::FtmBase | Inicializa una nueva instancia de la clase FtmBase . |
Métodos públicos
Nombre | Descripción |
---|---|
FtmBase::CreateGlobalInterfaceTable | Crea una tabla de interfaz global (GIT). |
FtmBase::DisconnectObject | Libera forzosamente todas las conexiones externas a un objeto. El servidor del objeto llama a la implementación del objeto de este método antes de apagarse. |
FtmBase::GetMarshalSizeMax | Obtenga el límite superior del número de bytes necesarios para serializar el puntero de interfaz especificado en el objeto especificado. |
FtmBase::GetUnmarshalClass | Obtiene el CLSID que COM usa para buscar el archivo DLL que contiene el código del proxy correspondiente. COM carga este archivo DLL para crear una instancia sin inicializar del proxy. |
FtmBase::MarshalInterface | Escribe en un flujo los datos necesarios para inicializar un objeto proxy en algún proceso de cliente. |
FtmBase::ReleaseMarshalData | Destruye un paquete de datos serializado. |
FtmBase::UnmarshalInterface | Inicializa un proxy recién creado y devuelve un puntero de interfaz a ese proxy. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
FtmBase::marshaller_ | Contiene una referencia al serializador con subprocesos libre. |
Jerarquía de herencia
FtmBase
Requisitos
Encabezado: ftm.h
Espacio de nombres: Microsoft::WRL
FtmBase::CreateGlobalInterfaceTable
Crea una tabla de interfaz global (GIT).
static HRESULT CreateGlobalInterfaceTable(
__out IGlobalInterfaceTable **git
);
Parámetros
git
Cuando se completa esta operación, un puntero a una tabla de interfaces global.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el error.
Comentarios
Para obtener más información, vea IGlobalInterfaceTable
.
FtmBase::DisconnectObject
Libera forzosamente todas las conexiones externas a un objeto. El servidor del objeto llama a la implementación del objeto de este método antes de apagarse.
STDMETHODIMP DisconnectObject(
__in DWORD dwReserved
) override;
Parámetros
dwReserved
Reservado para uso futuro; debe ser cero.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el error.
FtmBase::FtmBase
Inicializa una nueva instancia de la clase FtmBase
.
FtmBase();
FtmBase::GetMarshalSizeMax
Obtenga el límite superior del número de bytes necesarios para serializar el puntero de interfaz especificado en el objeto especificado.
STDMETHODIMP GetMarshalSizeMax(
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags,
__out DWORD *pSize
) override;
Parámetros
riid
Referencia al identificador de la interfaz que se va a serializar.
pv
Puntero de interfaz que se va a serializar; puede ser NULL.
dwDestContext
Contexto de destino donde se va a anular la serialización de la interfaz especificada.
Especifique uno o varios valores de enumeración de MSHCTX.
Actualmente, la anulación de la serialización puede producirse en otro apartamento del proceso actual (MSHCTX_INPROC) o en otro proceso que se encuentra en el mismo equipo que el proceso actual (MSHCTX_LOCAL).
pvDestContext
Reservado para un uso futuro; debe ser NULL.
mshlflags
Marca que indica si los datos que se van a serializar se van a devolver al proceso cliente (el caso típico) o se van a escribir en una tabla global, donde varios clientes pueden recuperarlos. Especifique uno o varios valores de enumeración de MSHLFLAGS.
pSize
Una vez completada esta operación, el puntero se lleva al límite superior de la cantidad de datos que se van a escribir en el flujo de serialización.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, E_FAIL o E_NOINTERFACE.
FtmBase::GetUnmarshalClass
Obtiene el CLSID que COM usa para buscar el archivo DLL que contiene el código del proxy correspondiente. COM carga este archivo DLL para crear una instancia sin inicializar del proxy.
STDMETHODIMP GetUnmarshalClass(
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags,
__out CLSID *pCid
) override;
Parámetros
riid
Referencia al identificador de la interfaz que se va a serializar.
pv
Puntero a la interfaz que se va a serializar; puede ser NULL si el autor de la llamada no tiene un puntero a la interfaz deseada.
dwDestContext
Contexto de destino donde se va a anular la serialización de la interfaz especificada.
Especifique uno o varios valores de enumeración de MSHCTX.
La anulación de la serialización puede producirse en otro apartamento del proceso actual (MSHCTX_INPROC) o en otro proceso que se encuentra en el mismo equipo que el proceso actual (MSHCTX_LOCAL).
pvDestContext
Reservado para un uso futuro; debe ser NULL.
mshlflags
Cuando se completa esta operación, el puntero al CLSID que se usará para crear un proxy en el proceso de cliente.
pCid
Valor devuelto
S_OK si es correcto; de lo contrario, S_FALSE.
FtmBase::MarshalInterface
Escribe en un flujo los datos necesarios para inicializar un objeto proxy en algún proceso de cliente.
STDMETHODIMP MarshalInterface(
__in IStream *pStm,
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags
) override;
Parámetros
pStm
Puntero al flujo que se va a usar durante la serialización.
riid
Referencia al identificador de la interfaz que se va a serializar. Esta interfaz debe derivarse de la interfaz IUnknown
.
pv
Puntero al puntero de la interfaz que se va a serializar; puede ser NULL si el autor de la llamada no tiene un puntero a la interfaz deseada.
dwDestContext
Contexto de destino donde se va a anular la serialización de la interfaz especificada.
Especifique uno o varios valores de enumeración de MSHCTX.
La anulación de la serialización puede producirse en otro apartamento del proceso actual (MSHCTX_INPROC) o en otro proceso que se encuentra en el mismo equipo que el proceso actual (MSHCTX_LOCAL).
pvDestContext
Reservado para uso futuro; debe ser cero.
mshlflags
Especifica si los datos que se van a serializar se van a devolver al proceso cliente (el caso típico) o se van a escribir en una tabla global, donde varios clientes pueden recuperarlos.
Valor devuelto
S_OK El puntero de la interfaz se serializó correctamente.
E_NOINTERFACE No se admite la interfaz especificada.
STG_E_MEDIUMFULL La secuencia está llena.
E_FAIL Error en la operación.
FtmBase::marshaller_
Contiene una referencia al serializador con subprocesos libre.
Microsoft::WRL::ComPtr<IMarshal> marshaller_; ;
FtmBase::ReleaseMarshalData
Destruye un paquete de datos serializado.
STDMETHODIMP ReleaseMarshalData(
__in IStream *pStm
) override;
Parámetros
pStm
Puntero a un flujo que contiene el paquete de datos que se va a destruir.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el error.
FtmBase::UnmarshalInterface
Inicializa un proxy recién creado y devuelve un puntero de interfaz a ese proxy.
STDMETHODIMP UnmarshalInterface(
__in IStream *pStm,
__in REFIID riid,
__deref_out void **ppv
) override;
Parámetros
pStm
Puntero al flujo desde el que se va a anular la serialización del puntero de la interfaz.
riid
Referencia al identificador de la interfaz cuya serialización se va a anular.
ppv
Cuando se completa esta operación, la dirección de una variable de puntero que recibe el puntero de interfaz solicitado en riid. Si esta operación se realiza correctamente, *ppv contiene el puntero de interfaz solicitado de la interfaz que cuya serialización se va a anular.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, E_NOINTERFACE o E_FAIL.