47 ERR(
"RpcServerUseProtseqEpW() failed (Status %lx)\n",
Status);
54 ERR(
"RpcServerRegisterIf() failed (Status %lx)\n",
Status);
61 ERR(
"RpcServerListen() failed (Status %lx)\n",
Status);
120 if (ThreadToken !=
NULL)
138 DWORD dwComputerNameLength;
152 dwComputerNameLength++;
161 WARN(
"LsaOpenPolicy() failed (Status 0x%08lx)\n", NtStatus);
167 (
PVOID*)&DomainInfo);
173 WARN(
"LsaQueryInformationPolicy() failed (Status 0x%08lx)\n", NtStatus);
181 DWORD EnumResponseBufferSize = 0;
190 (
PVOID*)&EnumResponseBuffer,
191 &EnumResponseBufferSize,
208 if (pWkstaInfo ==
NULL)
227 *WkstaInfo = pWkstaInfo;
232 if (pWkstaInfo ==
NULL)
255 *WkstaInfo = pWkstaInfo;
260 if (pWkstaInfo ==
NULL)
285 *WkstaInfo = pWkstaInfo;
290 if (pWkstaInfo ==
NULL)
298 *WkstaInfo = pWkstaInfo;
308 if (DomainInfo !=
NULL)
322 unsigned long *ErrorParameter)
324 DWORD dwErrParam = 0;
327 TRACE(
"NetrWkstaSetInfo(%lu %p %p)\n",
328 Level, WkstaInfo, ErrorParameter);
434 *ErrorParameter = dwErrParam;
446 unsigned long PreferredMaximumLength,
447 unsigned long *TotalEntries,
448 unsigned long *ResumeHandle)
455 DWORD EnumResponseBufferSize = 0;
456 DWORD UserInfoResponseBufferSize = 0;
466 TRACE(
"NetrWkstaUserEnum(%p %p 0x%lx %p %p)\n",
467 ServerName, UserInfo, PreferredMaximumLength, TotalEntries, ResumeHandle);
469 if (UserInfo->
Level > 1)
471 ERR(
"Invalid Level %lu\n", UserInfo->
Level);
481 (
PVOID*)&EnumResponseBuffer,
482 &EnumResponseBufferSize,
485 TRACE(
"LsaCallAuthenticationPackage Status 0x%08lx ResponseBufferSize %lu\n",
Status, EnumResponseBufferSize);
493 TRACE(
"ResponseBuffer: 0x%p\n", EnumResponseBuffer);
498 pLogonId = EnumResponseBuffer->
LogonIds;
500 TRACE(
"pLogonId: 0x%p\n", pLogonId);
501 TRACE(
"pEnumHandle: 0x%p\n", pEnumHandle);
506 if (UserInfoArray ==
NULL)
514 TRACE(
"Logon %lu: 0x%08lx %lu\n",
i, pLogonId->
LowPart, *pEnumHandle);
517 UserInfoRequest.
LogonId = *pLogonId;
521 sizeof(UserInfoRequest),
522 (
PVOID*)&UserInfoResponseBuffer,
523 &UserInfoResponseBufferSize,
525 TRACE(
"LsaCallAuthenticationPackage:MsV1_0GetUserInfo Status 0x%08lx ResponseBufferSize %lu\n",
Status, UserInfoResponseBufferSize);
532 UserInfoArray[
i] = UserInfoResponseBuffer;
534 TRACE(
"UserName: %wZ\n", &UserInfoArray[
i]->UserName);
535 TRACE(
"LogonDomain: %wZ\n", &UserInfoArray[
i]->LogonDomainName);
536 TRACE(
"LogonServer: %wZ\n", &UserInfoArray[
i]->LogonServer);
549 FIXME(
"Calculate the start index and the number of matching array entries!");
554 switch (UserInfo->
Level)
558 if (pUserInfo0 ==
NULL)
570 if (pUserInfo0[
i].wkui0_username ==
NULL)
589 if (pUserInfo1 ==
NULL)
601 if (pUserInfo1[
i].wkui1_username ==
NULL)
612 if (pUserInfo1[
i].wkui1_logon_domain ==
NULL)
619 ZeroMemory(pUserInfo1[
i].wkui1_logon_domain, UserInfoArray[
start +
i]->LogonDomainName.Length +
sizeof(
WCHAR));
625 if (pUserInfo1[
i].wkui1_logon_server ==
NULL)
632 ZeroMemory(pUserInfo1[
i].wkui1_logon_server, UserInfoArray[
start +
i]->LogonServer.Length +
sizeof(
WCHAR));
647 if (UserInfo->
Level == 0)
663 if (UserInfoArray !=
NULL)
668 if (UserInfoArray[
i]->UserName.Buffer !=
NULL)
671 if (UserInfoArray[
i]->LogonDomainName.Buffer !=
NULL)
674 if (UserInfoArray[
i]->LogonServer.Buffer !=
NULL)
680 RtlFreeHeap(RtlGetProcessHeap(), 0, UserInfoArray);
683 if (EnumResponseBuffer !=
NULL)
700 DWORD UserInfoResponseBufferSize = 0;
719 ERR(
"NetpGetClientLogonId() failed (%u)\n", dwResult);
730 sizeof(UserInfoRequest),
731 (
PVOID*)&UserInfoResponseBuffer,
732 &UserInfoResponseBufferSize,
734 TRACE(
"LsaCallAuthenticationPackage:MsV1_0GetUserInfo Status 0x%08lx ResponseBufferSize %lu\n",
Status, UserInfoResponseBufferSize);
741 TRACE(
"UserName: %wZ\n", &UserInfoResponseBuffer->UserName);
742 TRACE(
"LogonDomain: %wZ\n", &UserInfoResponseBuffer->LogonDomainName);
743 TRACE(
"LogonServer: %wZ\n", &UserInfoResponseBuffer->LogonServer);
750 if (pUserInfo ==
NULL)
776 *UserInfo = pUserInfo;
781 if (pUserInfo ==
NULL)
846 *UserInfo = pUserInfo;
851 if (pUserInfo ==
NULL)
853 ERR(
"Failed to allocate WKSTA_USER_INFO_1101\n");
862 *UserInfo = pUserInfo;
871 if (UserInfoResponseBuffer)
885 unsigned long *ErrorParameter)
898 unsigned long PreferredMaximumLength,
899 unsigned long* TotalEntries,
900 unsigned long *ResumeHandle)
914 unsigned long *ErrorParameter)
926 wchar_t *TransportName,
927 unsigned long ForceLevel)
941 unsigned long *ErrorParameter)
968 unsigned long ForceLevel)
981 unsigned long PreferredMaximumLength,
982 unsigned long *TotalEntries,
983 unsigned long *ResumeHandle)
995 TRACE(
"NetrMessageBufferSend()\n");
1006 unsigned long Level,
1012 TRACE(
"NetrWorkstationStatisticsGet(%p %p %lu 0x%lx %p)\n",
1022 if (pStatBuffer ==
NULL)
1041 TRACE(
"NetrLogonDomainNameAdd(%s)\n",
1053 TRACE(
"NetrLogonDomainNameDel(%s)\n",
1064 TRACE(
"NetrJoinDomain()\n");
1074 TRACE(
"NetrUnjoinDomain()\n");
1084 TRACE(
"NetrValidateName()\n");
1094 TRACE(
"NetrRenameMachineInDomain()\n");
1104 wchar_t **NameBuffer,
1107 TRACE(
"NetrGetJoinInformation(%p %p %p)\n",
1108 ServerName, NameBuffer, BufferType);
1110 if (NameBuffer ==
NULL)
1123 TRACE(
"NetrGetJoinableOUs()\n");
1133 wchar_t *ServerName,
1134 wchar_t *DomainNameParam,
1135 wchar_t *MachineAccountOU,
1136 wchar_t *AccountName,
1142 FIXME(
"NetrJoinDomain2(%p %S %S %S %S %p 0x%lx)\n",
1143 RpcBindingHandle, ServerName, DomainNameParam, MachineAccountOU,
1146 if (DomainNameParam ==
NULL)
1151 FIXME(
"NetrJoinDomain2: NETSETUP_JOIN_DOMAIN is not supported yet!\n");
1168 wchar_t *ServerName,
1169 wchar_t *AccountName,
1183 wchar_t *ServerName,
1185 wchar_t *AccountName,
1199 wchar_t *ServerName,
1200 wchar_t *NameToValidate,
1201 wchar_t *AccountName,
1215 wchar_t *ServerName,
1216 wchar_t *DomainNameParam,
1217 wchar_t *AccountName,
1219 unsigned long* OUCount,
1232 wchar_t *ServerName,
1233 wchar_t *AlternateName,
1234 wchar_t *DomainAccount,
1248 wchar_t *ServerName,
1249 wchar_t *AlternateName,
1250 wchar_t *DomainAccount,
1264 wchar_t *ServerName,
1265 wchar_t *PrimaryName,
1266 wchar_t *DomainAccount,
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 NameType
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static WCHAR ServiceName[]
DWORD WINAPI RpcThreadRoutine(LPVOID lpParameter)
NET_API_STATUS NetpGetJoinInformation(LPWSTR *NameBuffer, PNETSETUP_JOIN_STATUS BufferType)
NET_API_STATUS NetpJoinWorkgroup(_In_ LPCWSTR lpWorkgroupName)
VOID SaveWorkstationInfo(_In_ DWORD Level)
WKSTA_INFO_502 WkstaInfo502
#define WKSTA_KEEPCONN_PARMNUM
OSVERSIONINFOW VersionInfo
#define WKSTA_MAXCMDS_PARMNUM
ULONG LsaAuthenticationPackage
#define WKSTA_DORMANTFILELIMIT_PARMNUM
#define WKSTA_SESSTIMEOUT_PARMNUM
unsigned long __stdcall NetrUseDel(WKSSVC_IMPERSONATE_HANDLE ServerName, wchar_t *UseName, unsigned long ForceLevel)
unsigned long __stdcall NetrUseAdd(WKSSVC_IMPERSONATE_HANDLE ServerName, unsigned long Level, LPUSE_INFO InfoStruct, unsigned long *ErrorParameter)
unsigned long __stdcall NetrWkstaTransportAdd(WKSSVC_IDENTIFY_HANDLE ServerName, unsigned long Level, LPWKSTA_TRANSPORT_INFO_0 TransportInfo, unsigned long *ErrorParameter)
unsigned long __stdcall NetrGetJoinInformation(WKSSVC_IMPERSONATE_HANDLE ServerName, wchar_t **NameBuffer, PNETSETUP_JOIN_STATUS BufferType)
unsigned long __stdcall NetrRemoveAlternateComputerName(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *AlternateName, wchar_t *DomainAccount, PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword, unsigned long Reserved)
unsigned long __stdcall NetrRenameMachineInDomain2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *MachineName, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long Options)
unsigned long __stdcall NetrWkstaTransportEnum(WKSSVC_IDENTIFY_HANDLE ServerName, LPWKSTA_TRANSPORT_ENUM_STRUCT TransportInfo, unsigned long PreferredMaximumLength, unsigned long *TotalEntries, unsigned long *ResumeHandle)
unsigned long __stdcall NetrJoinDomain(void)
unsigned long __stdcall NetrMessageBufferSend(void)
unsigned long __stdcall NetrWkstaUserEnum(WKSSVC_IDENTIFY_HANDLE ServerName, LPWKSTA_USER_ENUM_STRUCT UserInfo, unsigned long PreferredMaximumLength, unsigned long *TotalEntries, unsigned long *ResumeHandle)
unsigned long __stdcall NetrGetJoinableOUs(void)
unsigned long __stdcall NetrWkstaGetInfo(WKSSVC_IDENTIFY_HANDLE ServerName, unsigned long Level, LPWKSTA_INFO *WkstaInfo)
unsigned long __stdcall NetrGetJoinableOUs2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *DomainNameParam, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long *OUCount, wchar_t ***OUs)
unsigned long __stdcall NetrValidateName2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *NameToValidate, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, NETSETUP_NAME_TYPE NameType)
static NET_API_STATUS NetpGetClientLogonId(_Out_ PLUID LogonId)
unsigned long __stdcall NetrWkstaSetInfo(WKSSVC_IDENTIFY_HANDLE ServerName, unsigned long Level, LPWKSTA_INFO WkstaInfo, unsigned long *ErrorParameter)
unsigned long __stdcall NetrEnumerateComputerNames(WKSSVC_IMPERSONATE_HANDLE ServerName, NET_COMPUTER_NAME_TYPE NameType, unsigned long Reserved, PNET_COMPUTER_NAME_ARRAY *ComputerNames)
unsigned long __stdcall NetrWorkstationStatisticsGet(WKSSVC_IDENTIFY_HANDLE ServerName, wchar_t *ServiceName, unsigned long Level, unsigned long Options, LPSTAT_WORKSTATION_0 *Buffer)
unsigned long __stdcall NetrWkstaUserGetInfo(WKSSVC_IDENTIFY_HANDLE Unused, unsigned long Level, LPWKSTA_USER_INFO *UserInfo)
unsigned long __stdcall NetrWkstaTransportDel(WKSSVC_IDENTIFY_HANDLE ServerName, wchar_t *TransportName, unsigned long ForceLevel)
unsigned long __stdcall NetrValidateName(void)
unsigned long __stdcall NetrLogonDomainNameDel(WKSSVC_IDENTIFY_HANDLE DomainName)
unsigned long __stdcall NetrLogonDomainNameAdd(WKSSVC_IDENTIFY_HANDLE DomainName)
unsigned long __stdcall NetrRenameMachineInDomain(void)
unsigned long __stdcall NetrSetPrimaryComputerName(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *PrimaryName, wchar_t *DomainAccount, PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword, unsigned long Reserved)
unsigned long __stdcall NetrWkstaUserSetInfo(WKSSVC_IDENTIFY_HANDLE Unused, unsigned long Level, LPWKSTA_USER_INFO UserInfo, unsigned long *ErrorParameter)
unsigned long __stdcall NetrUnjoinDomain(void)
unsigned long __stdcall NetrUnjoinDomain2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long Options)
unsigned long __stdcall NetrAddAlternateComputerName(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *AlternateName, wchar_t *DomainAccount, PJOINPR_ENCRYPTED_USER_PASSWORD EncryptedPassword, unsigned long Reserved)
unsigned long __stdcall NetrJoinDomain2(handle_t RpcBindingHandle, wchar_t *ServerName, wchar_t *DomainNameParam, wchar_t *MachineAccountOU, wchar_t *AccountName, PJOINPR_ENCRYPTED_USER_PASSWORD Password, unsigned long Options)
unsigned long __stdcall NetrUseEnum(WKSSVC_IDENTIFY_HANDLE ServerName, LPUSE_ENUM_STRUCT InfoStruct, unsigned long PreferredMaximumLength, unsigned long *TotalEntries, unsigned long *ResumeHandle)
unsigned long __stdcall NetrUseGetInfo(WKSSVC_IMPERSONATE_HANDLE ServerName, wchar_t *UseName, unsigned long Level, LPUSE_INFO InfoStruct)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define ERROR_NOT_ENOUGH_MEMORY
#define NT_SUCCESS(StatCode)
NTSTATUS WINAPI LsaOpenPolicy(IN PLSA_UNICODE_STRING SystemName OPTIONAL, IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes, IN ACCESS_MASK DesiredAccess, OUT PLSA_HANDLE PolicyHandle)
ULONG WINAPI LsaNtStatusToWinError(IN NTSTATUS Status)
NTSTATUS WINAPI LsaQueryInformationPolicy(IN LSA_HANDLE PolicyHandle, IN POLICY_INFORMATION_CLASS InformationClass, OUT PVOID *Buffer)
NTSTATUS WINAPI LsaFreeMemory(IN PVOID Buffer)
NTSTATUS WINAPI LsaClose(IN LSA_HANDLE ObjectHandle)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define ERROR_NOT_SUPPORTED
#define HeapFree(x, y, z)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
NTSYSAPI void WINAPI RtlCopyLuid(PLUID, const LUID *)
VOID NTAPI ProtocolStatus(NDIS_HANDLE BindingContext, NDIS_STATUS GenerelStatus, PVOID StatusBuffer, UINT StatusBufferSize)
Called by NDIS when the underlying driver has changed state.
#define MAX_PREFERRED_LENGTH
enum _NETSETUP_JOIN_STATUS * PNETSETUP_JOIN_STATUS
#define NETSETUP_JOIN_DOMAIN
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
_In_ ULONG _In_ ULONG _In_ ULONG Length
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID LogonId
NTSTATUS NTAPI NtOpenThreadToken(_In_ HANDLE ThreadHandle, _In_ ACCESS_MASK DesiredAccess, _In_ BOOLEAN OpenAsSelf, _Out_ PHANDLE TokenHandle)
Opens a token that is tied to a thread handle.
@ PolicyPrimaryDomainInformation
NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE, ULONG, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
#define POLICY_VIEW_LOCAL_INFORMATION
NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID)
RPC_STATUS WINAPI RpcRevertToSelf(void)
RPC_STATUS WINAPI RpcImpersonateClient(RPC_BINDING_HANDLE BindingHandle)
RPC_STATUS WINAPI RpcServerListen(UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait)
RPC_STATUS WINAPI RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, RPC_MGR_EPV *MgrEpv)
RPC_STATUS WINAPI RpcServerUseProtseqEpW(RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor)
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT
#define midl_user_allocate
_In_ DWORD _Out_ PDWORD _In_opt_ PCSTR MachineName
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType
ULONG NumberOfLoggedOnUsers
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType
UNICODE_STRING LogonServer
UNICODE_STRING LogonDomainName
LPWSTR wki100_computername
DWORD wki1018_sess_timeout
LPWSTR wki101_computername
DWORD wki102_logged_on_users
LPWSTR wki102_computername
DWORD wki1046_dormant_file_limit
DWORD wki502_dormant_file_limit
DWORD wki502_sess_timeout
union _WKSTA_USER_ENUM_STRUCT::_WKSTA_USER_ENUM_UNION WkstaUserInfo
unsigned long EntriesRead
LPWKSTA_USER_INFO_0 Buffer
unsigned long EntriesRead
LPWKSTA_USER_INFO_1 Buffer
LPWSTR wkui1_logon_domain
LPWSTR wkui1_logon_server
_Must_inspect_result_ __kernel_entry NTSTATUS NTAPI NtQueryInformationToken(_In_ HANDLE TokenHandle, _In_ TOKEN_INFORMATION_CLASS TokenInformationClass, _Out_writes_bytes_to_opt_(TokenInformationLength, *ReturnLength) PVOID TokenInformation, _In_ ULONG TokenInformationLength, _Out_ PULONG ReturnLength)
Queries a specific type of information in regard of an access token based upon the information class....
WKSTA_INFO_102 WkstaInfo102
WKSTA_INFO_101 WkstaInfo101
WKSTA_INFO_1046 WkstaInfo1046
WKSTA_INFO_1013 WkstaInfo1013
WKSTA_INFO_100 WkstaInfo100
WKSTA_INFO_502 WkstaInfo502
WKSTA_INFO_1018 WkstaInfo1018
WKSTA_USER_INFO_0_CONTAINER Level0
WKSTA_USER_INFO_1_CONTAINER Level1
WKSTA_USER_INFO_0 UserInfo0
WKSTA_USER_INFO_1 UserInfo1
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
#define MAX_COMPUTERNAME_LENGTH
_Reserved_ PVOID Reserved
#define ERROR_INVALID_LEVEL
enum _NET_COMPUTER_NAME_TYPE NET_COMPUTER_NAME_TYPE
enum _NETSETUP_NAME_TYPE NETSETUP_NAME_TYPE
wchar_t * WKSSVC_IMPERSONATE_HANDLE
wchar_t * WKSSVC_IDENTIFY_HANDLE
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
#define NtCurrentThread()