PeerDistClientOpenContent function

The PeerDistClientOpenContent function opens and returns a PEERDIST_CONTENT_HANDLE. The client uses the content handle to retrieve data from the Peer Distribution service.

Syntax

DWORD PeerDistClientOpenContent(
  PEERDIST_INSTANCE_HANDLE hPeerDist,
  PCPEERDIST_CONTENT_TAG   pContentTag,
  HANDLE                   hCompletionPort,
  ULONG_PTR                ulCompletionKey,
  PPEERDIST_CONTENT_HANDLE phContentHandle
);

Parameters

hPeerDist

A PEERDIST_INSTANCE_HANDLE returned by PeerDistStartup.

pContentTag

Pointer to a PEERDIST_CONTENT_TAG structure that contains a 16 byte client specified identifier. This parameter is used in conjunction with the PeerDistClientFlushContent function.

hCompletionPort

A handle to the completion port that can be used for retrieving the completion notification of the asynchronous function. To create a completion port, use the CreateIoCompletionPort function This parameter can be NULL.

ulCompletionKey

Value to be returned through the lpCompletionKey parameter of the GetQueuedCompletionStatus function. This parameter is ignored when hCompletionPort is NULL.

phContentHandle

A pointer to a variable that receives the PEERDIST_CONTENT_HANDLE used to retrieve or add data.

Return Value

If the function succeeds, the return value is ERROR_SUCCESS. Otherwise, the function may return one of the following values:

Return code Description
ERROR_INVALID_PARAMETER
One or more parameters are invalid.
ERROR_INVALID_HANDLE
The hPeerDist handle is invalid.
ERROR_ACCESS_DISABLED_BY_POLICY
The feature is disabled by Group Policy.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
The service is unavailable.

Remarks

Client must call the PeerDistClientOpenContent function to obtain a PEERDIST_CONTENT_HANDLE handle that later can be used in the following functions:

If an optional completion port handle is specified, it is used for posting the completion results of above listed asynchronous functions.

The handle returned by PeerDistClientOpenContent function call must be closed by PeerDistClientCloseContent function.

Requirements

   
Minimum supported client Windows 7 Professional [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header peerdist.h
Library PeerDist.lib
DLL PeerDist.dll

See Also

PeerDistClientAddContentInformation

PeerDistClientAddData

PeerDistClientBlockRead

PeerDistClientCloseContent

PeerDistClientCompleteContentInformation

PeerDistClientFlushContent

PeerDistClientStreamRead

PeerDistStartup