3.1.4.17 R_DnssrvQuery4 (Opnum 16)
The R_DnssrvQuery4 method queries the DNS server for information. The type of information queried for is specified by the client using the pwszVirtualizationInstanceID, and pszOperation parameters. The DNS server SHOULD<292> implement R_DnssrvQuery4.
All the parameters are as specified by the R_DnssrvQuery2 method (section 3.1.4.7) method with the following exceptions:
-
LONG R_DnssrvQuery4( [in] DWORD dwClientVersion, [in] DWORD dwSettingFlags, [in, unique, string] LPCWSTR pwszServerName, [in, unique, string] LPCWSTR pwszVirtualizationInstanceID, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCWSTR pwszZoneScopeName, [in, unique, string] LPCSTR pszOperation, [out] PDWORD pdwTypeId, [out, switch_is(*pdwTypeId)] DNSSRV_RPC_UNION* ppData );
pwszVirtualizationInstanceID: A pointer to a null-terminated Unicode string that contains the name of the virtualization instance configured on the DNS server. For operations specific to a particular virtualization instance, this field MUST contain the name of the virtualization instance. If the value is NULL, then the API is as specified in R_DnssrvQuery3 (section 3.1.4.14). Apart from the VirtualizationInstances operation (section 3.1.4.2), R_DnssrvQuery3 (section 3.1.4.14) changes the behavior of the following operations: Zone, ZoneInfo (section 3.1.4.2) and ScopeInfo (section 3.1.4.14) operations. If these operations are called with R_DnssrvQuery4 and a non-NULL pwszVirtualizationInstanceID parameter, they are performed under the given virtualization instance. The ScopeInfo operation is defined for R_DnssrvQuery4 with a non-NULL virtualization instance only if pszZone is not NULL.
Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a nonzero Win32 error code value if an error occurred. If unable to perform the operation, returns error EPT_S_CANT_PERFORM_OP (0x000006D8). 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_DnssrvQuery3 method (section 3.1.4.14) except in the event the dwClientVersion is greater than the server version, in which case the server MUST return the highest version number.