3.1.4.6 R_DnssrvOperation2 (Opnum 5)

The R_DnssrvOperation2 method is used to invoke a set of server functions specified by the caller. The DNS server SHOULD implement R_DnssrvOperation2.

All parameters are as specified by the R_DnssrvOperation method (section 3.1.4.1) with the following exceptions:

 LONG R_DnssrvOperation2(
   [in]                               handle_t                    hBindingHandle,
   [in]                               DWORD                       dwClientVersion,
   [in]                               DWORD                       dwSettingFlags,
   [in, unique, string]               LPCWSTR                     pwszServerName,
   [in, unique, string]               LPCSTR                      pszZone,
   [in]                               DWORD                       dwContext,
   [in, unique, string]               LPCSTR                      pszOperation,
   [in]                               DWORD                       dwTypeId,
   [in, switch_is(dwTypeId)]          DNSSRV_RPC_UNION            pData
 );

dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1) format.

dwSettingFlags: Reserved for future use. MUST be set to zero by clients and MUST be ignored by servers.

Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or section 2.2.1.1.5. All error values MUST be treated the same.

When processing this call, the server MUST perform the same actions as for the R_DnssrvOperation method (section 3.1.4.1) except in the event the dwClientVersion is greater than the server version, in which case the server MUST return the highest version number known to the server.