Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

PI_FLAGS 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_PREFERDEFAULTHANDLER  = 0x00020000
} PI_FLAGS;

Constants

PI_PARSE_URL

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

PI_FILTER_MODE

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

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 address of the IBindCtx interface to the pUnk member of the PROTOCOLFILTERDATA structure.

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.

PI_PREFERDEFAULTHANDLER

Asynchronous pluggable protocol handler should choose the default handler over a custom handler.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Urlmon.h

IDL

Urlmon.idl

 

 

Show:
© 2015 Microsoft