Método IPrintAsyncNotifyDataObject::AcquireData (prnasnot.h)
Direciona os aplicativos ouvintes para os dados de notificação, incluindo o tamanho e o tipo dos dados.
Sintaxe
HRESULT AcquireData(
[out] BYTE **ppNotificationData,
[out] ULONG *pSize,
[out] PrintAsyncNotificationType **ppSchema
);
Parâmetros
[out] ppNotificationData
Um buffer que contém os dados de notificação.
[out] pSize
O tamanho do buffer de dados.
[out] ppSchema
Um ponteiro GUID para o esquema de dados.
Valor retornado
Consulte PrintAsyncNotifyError para obter os valores possíveis.
Para obter mais informações sobre códigos de erro do COM, confira Tratamento de erros.
Comentários
Os aplicativos que chamam esse método devem chamar ReleaseData quando terminarem de consumir os dados de notificação.
A interface IPrintAsyncNotifyDataObject deve ser implementada para garantir que uma chamada de IUnknown::Release não libere o objeto se um aplicativo de escuta não tiver terminado de consumir os dados do objeto. Assim, se uma chamada para Release ocorrer quando um aplicativo tiver chamado AcquireData , mas ainda não tiver chamado ReleaseData , o objeto não deverá ser liberado. Por esse motivo, recomendamos que AcquireData use IUnknown::AddRef para incrementar a contagem de referência do objeto e que ReleaseData decremente a contagem.
Quando o Spooler de Impressão falha, ele cria um objeto IPrintAsyncNotifyDataObject . Quando um ouvinte chama AcquireData para essa notificação, ppNotificationData é NULL, o tamanho é 0 e ppSchema é NOTIFICATION_RELEASE.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | prnasnot.h |
DLL | Prnasnot.dll |