Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This enumeration contains the flags that control the asynchronous pluggable protocol handler.

Syntax

typedef enum _tagPI_FLAGS {
  PI_PARSE_URL = 0x00000001,
  PI_FILTER_MODE = 0x00000002,
  PI_FORCE_ASYNC = 0x00000004,
  PI_USE_WORKERTHREAD = 0x00000008,
  PI_MIMEVERIFICATION = 0x00000010,
  PI_CLSIDLOOKUP = 0x00000020,
  PI_DATAPROGRESS = 0x00000040,
  PI_SYNCHRONOUS = 0x00000080,
  PI_APARTMENTTHREADED = 0x00000100,
  PI_CLASSINSTALL = 0x00000200,
  PI_PASSONBINDCTX = 0x00002000,
  PI_NOMIMEHANDLER = 0x00008000,
  PI_LOADAPPDIRECT = 0x00004000,
  PD_FORCE_SWITCH = 0x00010000
} PI_FLAGS;

Elements

PI_PARSE_URL

Asynchronous pluggable protocol should parse the URL and return S_OK if the URL is syntactically correct; otherwise S_FALSE is returned.

PI_FILTER_MODE

Asynchronous pluggable protocol handler should be running in filter mode and data will come in through the IInternetProtocolSinkinterface it exposes. The QueryInterfacemethod will be called on the protocol handler for its IInternetProtocolSinkinterface.

PI_FORCE_ASYNC

Asynchronous pluggable protocol handler should do as little work as possible on the apartment, or user interface, thread and continue on a worker thread as soon as possible.

PI_USE_WORKERTHREAD

Asynchronous pluggable protocol handler should use worker threads and not use the apartment thread.

PI_MIMEVERIFICATION

Asynchronous pluggable protocol handler should verify and report the MIME type.

PI_CLSIDLOOKUP

Asynchronous pluggable protocol handler should find the CLSID associated with the MIME type.

PI_DATAPROGRESS

Asynchronous pluggable protocol handler should report its progress.

PI_SYNCHRONOUS

Asynchronous pluggable protocol handler should work synchronously.

PI_APARTMENTTHREADED

Asynchronous pluggable protocol handler should use the apartment, or user interface, thread only.

PI_CLASSINSTALL

Asynchronous pluggable protocol handler should install the class if the class is not found.

PI_PASSONBINDCTX

Asynchronous pluggable protocol handler should pass the address of the IBindCtxinterface to the pUnkmember of the PROTOCOLFILTERDATAstructure.

PI_NOMIMEHANDLER

Asynchronous pluggable protocol handler should disable MIME filters.

PI_LOADAPPDIRECT

Asynchronous pluggable protocol handler should load the application directly.

PD_FORCE_SWITCH

Asynchronous pluggable protocol handler should switch to the apartment thread, even if it does not need to.

Requirements

Header urlmon.h, urlmon.idl
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later