Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
7 Appendix B: Product Behavior

7 Appendix B: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include released service packs.

Note: Some of the information in this section is subject to change because it applies to an unreleased, preliminary version of the Windows Server operating system, and thus may differ from the final version of the server software when released. All behavior notes that pertain to the unreleased, preliminary version of the Windows Server operating system contain specific references to Windows Server 2016 Technical Preview as an aid to the reader.

  • Windows NT 4.0 operating system

  • Windows 2000 operating system

  • Windows XP operating system

  • Windows Server 2003 operating system

  • Windows Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system

  • Windows Server 2016 Technical Preview operating system  

Exceptions, if any, are noted below. If a service pack or Quick Fix Engineering (QFE) number appears with the product version, behavior changed in that service pack or QFE. The new behavior also applies to subsequent service packs of the product unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms SHOULD or SHOULD NOT implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term MAY implies that the product does not follow the prescription.

<1> Section 1.7: The Internet Information Services (IIS) Inetinfo Remote Protocol is implemented in Windows by Internet Information Services (IIS). The RPC interface and data types have been modified between versions of IIS (without changing the version number) in ways that make complete interoperability between versions difficult if not impossible.

The version described as the standard in this document is IIS version 5.0 that shipped with Windows 2000.

<2> Section 2.1.1: When the Windows implementation specifies "ncacn_np" as the RPC protocol, a security descriptor is set on the endpoint (2) by using the RPC API RpcServerUseProtseqEpW(). The security descriptor grants access to members of the administrators group. The RPC runtime will then validate the client's identity against this security descriptor.

<3> Section 2.2.3: Some members of the INET_INFO_CONFIG_INFO structure are not persisted such as LangId and LocalId. These may vary by version and by protocol.

<4> Section 2.2.3: The Windows implementation will return an empty string when retrieving szAnonPassword, even if the configuration value is set.

<5> Section 2.2.8: The Windows implementation will return an empty string when retrieving AccountPassword, even if the configuration value is set.

<6> Section 2.2.15: The INETA_CACHE_STATISTICS structure has been modified twice in different versions of IIS.

IIS version 3.0 of the structure is defined as follows:

  
  
 typedef struct _INETA_CACHE_STATISTICS
   {
    DWORD         CacheBytesTotal;
    DWORD         CacheBytesInUse;
    DWORD         CurrentOpenFileHandles;
    DWORD         CurrentDirLists;
    DWORD         CurrentObjects;
    DWORD         FlushesFromDirChanges;
    DWORD         CacheHits;
    DWORD         CacheMisses;
  } INETA_CACHE_STATISTICS * LPINETA_CACHE_STATISTICS;
       

CacheBytesTotal: The total size of the cache in bytes.

CacheBytesInUse: The number of bytes in the cache currently in use.

CurrentOpenFileHandles: The number of handles to currently open files stored in the cache.

CurrentDirLists: The number of current directory lists stored in the cache.

CurrentObjects: The number of current objects stored in the cache.

FlushesFromDirChanges: The number of flushes that have taken place as a result of directory changes.

CacheHits: The number of hits to the cache.

CacheMisses: The number of misses to the cache.

IIS version 6.0 of the structure is defined as follows:

  
  
 typedef struct _INETA_CACHE_STATISTICS
  {
     DWORD FilesCached;
     DWORD TotalFilesCached;
     DWORD FileHits;
     DWORD FileMisses;
     DWORD FileFlushes;
     DWORDLONG CurrentFileCacheSize;
     DWORDLONG MaximumFileCacheSize;
     DWORD FlushedEntries;
     DWORD TotalFlushed;
     DWORD URICached;
     DWORD TotalURICached;
     DWORD URIHits;
     DWORD URIMisses;
     DWORD URIFlushes;
     DWORD TotalURIFlushed;
     DWORD BlobCached;
     DWORD TotalBlobCached;
     DWORD BlobHits;
     DWORD BlobMisses;
     DWORD BlobFlushes;
     DWORD TotalBlobFlushed;
  } INETA_CACHE_STATISTICS, *LPINETA_CACHE_STATISTICS;
       

CurrentFileCacheSize and MaximumFileCacheSize are the only fields changed from the IIS version 5.0. Their data types have been changed from DWORD to DWORDLONG.

<7> Section 2.2.25: The Windows implementation may return error codes that have additional semantic meaning as it relates to the protocol beyond that which is specified in [MS-ERREF]. The following table summarizes these additional semantics.

Return value/code

Interpretation/condition

0x00000426

ERROR_SERVICE_NOT_ACTIVE

Used to indicate that the specified Internet protocol service is not recognized by the implementation.

0x00000002

ERROR_FILE_NOT_FOUND

Used by methods that operate on an Internet protocol server instance to indicate that the instance ID passed by the client is not recognized.

<8> Section 3.1.5: Opnums reserved for local use apply to Windows as follows.

Opnum

Description

16, 17

Only used locally by Windows, never remotely. These methods were added to the inetinfo interface in Windows 2000 and deprecated in Windows Server 2003.

<9> Section 3.1.5.1: The Windows implementation of R_InetInfoGetVersion returns Major Version = 5 and Minor Version = 1 for implementations of IIS released on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2 operating system, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10, and Windows Server 2016 Technical Preview.

<10> Section 3.1.5.3: In IIS version 3.0, the R_InetInfoGetSites method is not implemented. Instead, the following method is defined at opnum 2.

              
              
 R_InetInfoDummy(
     [in, string, unique] INET_INFO_IMPERSONATE_HANDLE pszServer,
     [in] DWORD dwServerMask,
     [out] LPINET_INFO_CONFIG_INFO *ppConfig
     );

This method returns 0 and does nothing.

<11> Section 3.1.5.7: The Windows implementation of R_InetInfoQueryStatistics returns valid statistical data only when the dwServerMask parameter is 0.

<12> Section 3.1.5.8: The Windows implementation of R_InetInfoClearStatistics does nothing and returns ERROR_NOT_SUPPORTED. If dwServerMask is greater than 0x00000004, the return code may be ERROR_INVALID_PARAMETER.

<13> Section 3.1.5.12: The Windows implementation of R_W3ClearStatistics2 does not reset all statistics values in the W3_STATISTICS_1 structure. Values related to client network connections and network bandwidth may not be reset.

<14> Section 3.1.5.14: The Windows implementation of R_FtpClearStatistics2 does not reset all statistics values in the FTP_STATISTICS_0 structure. Values related to client network connections and network bandwidth may not be reset.

<15> Section 3.1.5.15: The Windows implementation of R_IISEnumerateUsers may return ERROR_SUCCESS (0x00000000) for the HTTP server when the method is not implemented.

<16> Section 3.1.5.16: The Windows implementation of R_IISDisconnectUser for the FTP server will attempt to disconnect specific users in addition to all users, given appropriate values of dwIdUser. The HTTP server will only attempt to disconnect all users if dwIdUser is 0 and will ignore other values of this parameter and return ERROR_SUCCESS.

Show:
© 2015 Microsoft