GetPrintCapabilitiesThunk2 function

[This function is not supported and might be disabled or deleted in future versions of Windows. PTGetPrintCapabilities provides equivalent functionality and should be used instead.]

Retrieves the printer's capabilities formatted in compliance with the XML Print Schema.


HRESULT GetPrintCapabilitiesThunk2(
  _In_      HPTPROVIDER hProvider,
  _In_      BYTE        *pPrintTicket,
  _In_      INT         cbPrintTicket,
  _Out_     BYTE        **ppbPrintCapabilities,
  _Out_     INT         *pcbPrintCapabilitiesLength,
  _Out_opt_ BSTR        *pbstrErrorMessage


hProvider [in]

A handle to an open print ticket provider. This handle is returned by the BindPTProviderThunk function.

pPrintTicket [in]

The buffer that contains the print ticket data, expressed in XML as described in the Print Schema.

cbPrintTicket [in]

The size, in bytes, of the buffer referenced by pPrintTicket.

ppbPrintCapabilities [out]

The address of the buffer that is allocated by this function and contains the valid print capabilities information, encoded as XML. This function calls CoTaskMemAlloc to allocate this buffer. When the buffer is no longer needed, the caller must free it by calling CoTaskMemFree.

pcbPrintCapabilitiesLength [out]

The size, in bytes, of the buffer referenced by ppbPrintCapabilities.

pbstrErrorMessage [out, optional]

A pointer to a string that specifies what, if anything, is invalid about pPrintTicket. If it is valid, this value is NULL. If pbstrErrorMessage is not NULL when the function returns, the caller must free the string with SysFreeString.

Return value

If the method succeeds, it returns S_OK; otherwise, it returns an HRESULT error code. For more information about COM error codes, see Error Handling.


Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]



See also

Print Schema
Print Spooler API Functions