IpcGetTemplateIssuerList function

Returns available issuers of rights policy templates. The available issuers is a list of RMS servers that this user has already contacted.

Syntax

HRESULT WINAPI IpcGetTemplateIssuerList(
  _In_opt_   PCIPC_CONNECTION_INFO      pConnectionInfo,
             DWORD                      dwFlags,
  _In_opt_   PCIPC_PROMPT_CTX           pContext,
  _Reserved_ LPVOID                     pvReserved,
  _Out_      PCIPC_TEMPLATE_ISSUER_LIST *ppcTemplateIssuers
);

Parameters

pConnectionInfo [in, optional]

Optional RMS Server information from which to get templates. See IPC_CONNECTION_INFO for server URLs.

If specified, this function will return only the IPC_TEMPLATE_ISSUER_LIST structure for the specified server. If not specified, this function will return IPC_TEMPLATE_ISSUER_LIST structures for all available servers.

dwFlags

IPC_GTIL_FLAG_DEFAULT_SERVER_ONLY (1)

Use this flag to retrieve only the default server for the enterprise or user. If this flag is specified, then pConnectionInfo should be NULL.

pContext [in, optional]

An optional pointer to an IPC_PROMPT_CTX structure. This can be used in cases where authentication prompts are not desirable or when an application wants to control the modal behavior of any prompt dialogs.

pvReserved

Reserved for future use. Must be NULL.

ppcTemplateIssuers [out]

A pointer to a variable that receives a pointer to the buffer that contains the Template Issuer List. For more information, see IPC_TEMPLATE_ISSUER_LIST.

Note

The buffer is allocated by the RMS SDK 2.1 and must be freed by calling IpcFreeMemory.

Return value

If the function succeeds, the return value is S_OK. If the function fails, it returns an HRESULT value that indicates the error.

For more information, see Error codes for a description of all RMS SDK 2.1 return values.

Possible values include, but are not limited to, those in the following list.

IPCERROR_NEEDS_ONLINE

Meaning: RMS SDK 2.1 needs network access to complete the operation, but the application requested offline mode.

Action: Call the function again, without specifying the IPC_PROMPT_FLAG_OFFLINE flag. Typically, this flag is used in situations in which failure is acceptable and preferred to performing a network access. The system is already optimized to use the network only when absolutely necessary, so we do not recommend that developers use the IPC_PROMPT_FLAG_OFFLINE flag as an optimization.

IPCERROR_NEEDS_UI

Meaning: RMS SDK 2.1 needs to display a window to complete the operation, but the application requested silent mode.

Action: Call the function again, without specifying the IPC_PROMPT_FLAG_SILENT flag.

Remarks

The issuer information can be used as basis of application-specified policy. An application can use the issuer information returned by this function to create its own usage policy by calling IpcCreateLicenseFromScratch if the fAllowFromScratch of the IPC_TEMPLATE_ISSUER structure is set to TRUE.

IpcGetTemplateIssuerList may initialize COM with the COINIT_APARTMENTTHREADED flag to display user interface elements. As a result, callers who have initialized COM with the COINIT_MULTITHREADED flag must use the IpcGetTemplateIssuerList function in silent mode by using the IPC_PROMPT_FLAG_SILENT flag with the IPC_PROMPT_CTX structure.

Requirements

Minimum supported client
Windows Vista with SP2
Minimum supported server
Windows Server 2008
Header
Ipcprot.h
Library
Msipc.lib
DLL
Msipc.dll

See also

IPC_CONNECTION_INFO

IPC_PROMPT_CTX

IPC_TEMPLATE_ISSUER

IPC_TEMPLATE_ISSUER_LIST

IpcCreateLicenseFromScratch

IpcFreeMemory

IpcGetTemplateList

Error codes