2.2.2.3 WINSINTF_RECORD_ACTION_T
The WINSINTF_RECORD_ACTION_T structure defines a WINS database record and the action to be performed on it. The structure WINSINTF_RECS_T (section 2.2.2.8) and the RPC method R_WinsRecordAction (section 3.1.4.1) both use this structure.
-
typedef struct _WINSINTF_RECORD_ACTION_T { WINSINTF_ACT_E Cmd_e; [size_is(NameLen + 1)] LPSTR pName; DWORD NameLen; DWORD TypOfRec_e; DWORD NoOfAdds; [unique, size_is(NoOfAdds)] PWINSINTF_ADD_T pAdd; WINSINTF_ADD_T Add; LARGE_INTEGER VersNo; BYTE NodeTyp; DWORD OwnerId; DWORD State_e; DWORD fStatic; DWORD_PTR TimeStamp; } WINSINTF_RECORD_ACTION_T, *PWINSINTF_RECORD_ACTION_T;
Cmd_e: A WINSINTF_ACT_E enumeration (section 2.2.1.4) value that specifies the action to be performed on the specified record.
pName: A pointer to a NULL-terminated string that contains the NetBIOS name and optionally the NetBIOS scope name of the record. The NetBIOS scope name, if present, is appended to the NetBIOS name with a dot character ".".
-
If the NetBIOS name contains fewer than 16 characters, space characters MUST be used to pad the name string up to the NetBIOS suffix, which occupies the 16th character position.
NameLen: The length of the string that pName points to. It has the following possible values:
-
Value
Meaning
16
The pName value points to a string that contains only the NetBIOS name of the record. The NameLen value does not include the terminating NULL character.
18 < value
The pName value points to a string that contains the NetBIOS name, a dot character ".", and the NULL-terminated NetBIOS scope name of the record. The NameLen value includes the terminating NULL character.
If the NameLen value is greater than 255, the pName string SHOULD be truncated to 254 characters plus a terminating NULL character.
TypOfRec_e: The record type. Only the two least-significant bits of the member value are considered valid. All other bits are masked with zero. The following values are allowed.
-
Value
Meaning
0
Unique name
1
Normal group name
2
Special group name
3
NoOfAdds: The number of IP addresses that are mapped to the NetBIOS name given in pName. It SHOULD have the value zero for unique names and normal groups, and it SHOULD have a value greater than 0x00000001 for other types of records.
pAdd: A pointer to an array of IP addresses that are mapped to the name given in pName. It MUST be used only for multihomed (2) and special group types of records.
Add: The IP address mapped to the name given in pName. This member MUST be used only for unique and normal group types of records.
VersNo: The version number of the record.
NodeTyp: The NetBT node type. Only the two least-significant bits of the member value are considered valid. All other bits are masked with zero. This member MUST have one of the following values:
OwnerId: The owner IP address of the record, in little-endian byte order.
State_e: The state of the record. Only the two least-significant bits of the member value are considered valid. All other bits are masked with zero. This member MUST have one of the following values:
-
Value
Meaning
0
1
2
Tombstoned record
3
Deleted record
fStatic: A value that indicates whether the record is static or dynamic. A value of 0 indicates a dynamic record, and 1 indicates a static record. Only the least-significant bit is considered valid. All other bits are masked with zero.
TimeStamp: The time stamp [ISO-8601] of the record.