2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: Security Account Manager (SAM) Server
4 * FILE: reactos/dll/win32/samsrv/samrpc.c
5 * PURPOSE: RPC interface functions
7 * PROGRAMMERS: Eric Kohl
10 /* INCLUDES ****************************************************************/
14 WINE_DEFAULT_DEBUG_CHANNEL(samsrv
);
16 /* GLOBALS ********************************************************************/
18 static SID_IDENTIFIER_AUTHORITY NtSidAuthority
= {SECURITY_NT_AUTHORITY
};
20 /* FUNCTIONS ***************************************************************/
23 SampStartRpcServer(VOID
)
27 TRACE("SampStartRpcServer() called\n");
29 Status
= RpcServerUseProtseqEpW(L
"ncacn_np",
33 if (Status
!= RPC_S_OK
)
35 WARN("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status
);
39 Status
= RpcServerRegisterIf(samr_v1_0_s_ifspec
,
42 if (Status
!= RPC_S_OK
)
44 WARN("RpcServerRegisterIf() failed (Status %lx)\n", Status
);
48 Status
= RpcServerListen(1, 20, TRUE
);
49 if (Status
!= RPC_S_OK
)
51 WARN("RpcServerListen() failed (Status %lx)\n", Status
);
55 TRACE("SampStartRpcServer() done\n");
59 void __RPC_FAR
* __RPC_USER
midl_user_allocate(SIZE_T len
)
61 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, len
);
65 void __RPC_USER
midl_user_free(void __RPC_FAR
* ptr
)
67 HeapFree(GetProcessHeap(), 0, ptr
);
70 void __RPC_USER
SAMPR_HANDLE_rundown(SAMPR_HANDLE hHandle
)
77 SamrConnect(IN PSAMPR_SERVER_NAME ServerName
,
78 OUT SAMPR_HANDLE
*ServerHandle
,
79 IN ACCESS_MASK DesiredAccess
)
81 PSAM_DB_OBJECT ServerObject
;
84 TRACE("SamrConnect(%p %p %lx)\n",
85 ServerName
, ServerHandle
, DesiredAccess
);
87 Status
= SampOpenDbObject(NULL
,
93 if (NT_SUCCESS(Status
))
94 *ServerHandle
= (SAMPR_HANDLE
)ServerObject
;
96 TRACE("SamrConnect done (Status 0x%08lx)\n", Status
);
104 SamrCloseHandle(IN OUT SAMPR_HANDLE
*SamHandle
)
106 PSAM_DB_OBJECT DbObject
;
107 NTSTATUS Status
= STATUS_SUCCESS
;
109 TRACE("SamrCloseHandle(%p)\n", SamHandle
);
111 Status
= SampValidateDbObject(*SamHandle
,
115 if (Status
== STATUS_SUCCESS
)
117 Status
= SampCloseDbObject(DbObject
);
121 TRACE("SamrCloseHandle done (Status 0x%08lx)\n", Status
);
129 SamrSetSecurityObject(IN SAMPR_HANDLE ObjectHandle
,
130 IN SECURITY_INFORMATION SecurityInformation
,
131 IN PSAMPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor
)
134 return STATUS_NOT_IMPLEMENTED
;
140 SamrQuerySecurityObject(IN SAMPR_HANDLE ObjectHandle
,
141 IN SECURITY_INFORMATION SecurityInformation
,
142 OUT PSAMPR_SR_SECURITY_DESCRIPTOR
* SecurityDescriptor
)
145 return STATUS_NOT_IMPLEMENTED
;
151 SamrShutdownSamServer(IN SAMPR_HANDLE ServerHandle
)
154 return STATUS_NOT_IMPLEMENTED
;
160 SamrLookupDomainInSamServer(IN SAMPR_HANDLE ServerHandle
,
161 IN PRPC_UNICODE_STRING Name
,
162 OUT PRPC_SID
*DomainId
)
165 return STATUS_NOT_IMPLEMENTED
;
171 SamrEnumerateDomainsInSamServer(IN SAMPR_HANDLE ServerHandle
,
172 IN OUT
unsigned long *EnumerationContext
,
173 OUT PSAMPR_ENUMERATION_BUFFER
*Buffer
,
174 IN
unsigned long PreferedMaximumLength
,
175 OUT
unsigned long *CountReturned
)
178 return STATUS_NOT_IMPLEMENTED
;
184 SamrOpenDomain(IN SAMPR_HANDLE ServerHandle
,
185 IN ACCESS_MASK DesiredAccess
,
186 IN PRPC_SID DomainId
,
187 OUT SAMPR_HANDLE
*DomainHandle
)
189 PSAM_DB_OBJECT ServerObject
;
190 PSAM_DB_OBJECT DomainObject
;
193 TRACE("SamrOpenDomain(%p %lx %p %p)\n",
194 ServerHandle
, DesiredAccess
, DomainId
, DomainHandle
);
196 Status
= SampValidateDbObject(ServerHandle
,
198 SAM_SERVER_LOOKUP_DOMAIN
,
200 if (!NT_SUCCESS(Status
))
203 /* Validate the Domain SID */
204 if ((DomainId
->Revision
!= SID_REVISION
) ||
205 (DomainId
->SubAuthorityCount
> SID_MAX_SUB_AUTHORITIES
) ||
206 (memcmp(&DomainId
->IdentifierAuthority
, &NtSidAuthority
, sizeof(SID_IDENTIFIER_AUTHORITY
)) != 0))
207 return STATUS_INVALID_PARAMETER
;
209 /* Open the domain object */
210 if ((DomainId
->SubAuthorityCount
== 1) &&
211 (DomainId
->SubAuthority
[0] == SECURITY_BUILTIN_DOMAIN_RID
))
213 /* Builtin domain object */
214 TRACE("Opening the builtin domain object.\n");
216 Status
= SampOpenDbObject(ServerObject
,
223 else if ((DomainId
->SubAuthorityCount
== 4) &&
224 (DomainId
->SubAuthority
[0] == SECURITY_NT_NON_UNIQUE
))
226 /* Account domain object */
227 TRACE("Opening the account domain object.\n");
229 /* FIXME: Check the account domain sub authorities!!! */
231 Status
= SampOpenDbObject(ServerObject
,
240 /* No vaild domain SID */
241 Status
= STATUS_INVALID_PARAMETER
;
244 if (NT_SUCCESS(Status
))
245 *DomainHandle
= (SAMPR_HANDLE
)DomainObject
;
247 TRACE("SamrOpenDomain done (Status 0x%08lx)\n", Status
);
255 SamrQueryInformationDomain(IN SAMPR_HANDLE DomainHandle
,
256 IN DOMAIN_INFORMATION_CLASS DomainInformationClass
,
257 OUT PSAMPR_DOMAIN_INFO_BUFFER
*Buffer
)
260 return STATUS_NOT_IMPLEMENTED
;
266 SamrSetInformationDomain(IN SAMPR_HANDLE DomainHandle
,
267 IN DOMAIN_INFORMATION_CLASS DomainInformationClass
,
268 IN PSAMPR_DOMAIN_INFO_BUFFER DomainInformation
)
271 return STATUS_NOT_IMPLEMENTED
;
277 SamrCreateGroupInDomain(IN SAMPR_HANDLE DomainHandle
,
278 IN PRPC_UNICODE_STRING Name
,
279 IN ACCESS_MASK DesiredAccess
,
280 OUT SAMPR_HANDLE
*GroupHandle
,
281 OUT
unsigned long *RelativeId
)
284 return STATUS_NOT_IMPLEMENTED
;
290 SamrEnumerateGroupsInDomain(IN SAMPR_HANDLE DomainHandle
,
291 IN OUT
unsigned long *EnumerationContext
,
292 OUT PSAMPR_ENUMERATION_BUFFER
*Buffer
,
293 IN
unsigned long PreferedMaximumLength
,
294 OUT
unsigned long *CountReturned
)
297 return STATUS_NOT_IMPLEMENTED
;
303 SamrCreateUserInDomain(IN SAMPR_HANDLE DomainHandle
,
304 IN PRPC_UNICODE_STRING Name
,
305 IN ACCESS_MASK DesiredAccess
,
306 OUT SAMPR_HANDLE
*UserHandle
,
307 OUT
unsigned long *RelativeId
)
310 return STATUS_NOT_IMPLEMENTED
;
316 SamrEnumerateUsersInDomain(IN SAMPR_HANDLE DomainHandle
,
317 IN OUT
unsigned long *EnumerationContext
,
318 IN
unsigned long UserAccountControl
,
319 OUT PSAMPR_ENUMERATION_BUFFER
*Buffer
,
320 IN
unsigned long PreferedMaximumLength
,
321 OUT
unsigned long *CountReturned
)
324 return STATUS_NOT_IMPLEMENTED
;
330 SamrCreateAliasInDomain(IN SAMPR_HANDLE DomainHandle
,
331 IN PRPC_UNICODE_STRING AccountName
,
332 IN ACCESS_MASK DesiredAccess
,
333 OUT SAMPR_HANDLE
*AliasHandle
,
334 OUT
unsigned long *RelativeId
)
337 return STATUS_NOT_IMPLEMENTED
;
343 SamrEnumerateAliasesInDomain(IN SAMPR_HANDLE DomainHandle
,
344 IN OUT
unsigned long *EnumerationContext
,
345 OUT PSAMPR_ENUMERATION_BUFFER
*Buffer
,
346 IN
unsigned long PreferedMaximumLength
,
347 OUT
unsigned long *CountReturned
)
350 return STATUS_NOT_IMPLEMENTED
;
356 SamrGetAliasMembership(IN SAMPR_HANDLE DomainHandle
,
357 IN PSAMPR_PSID_ARRAY SidArray
,
358 OUT PSAMPR_ULONG_ARRAY Membership
)
361 return STATUS_NOT_IMPLEMENTED
;
367 SamrLookupNamesInDomain(IN SAMPR_HANDLE DomainHandle
,
368 IN
unsigned long Count
,
369 IN RPC_UNICODE_STRING Names
[],
370 OUT PSAMPR_ULONG_ARRAY RelativeIds
,
371 OUT PSAMPR_ULONG_ARRAY Use
)
374 return STATUS_NOT_IMPLEMENTED
;
380 SamrLookupIdsInDomain(IN SAMPR_HANDLE DomainHandle
,
381 IN
unsigned long Count
,
382 IN
unsigned long *RelativeIds
,
383 OUT PSAMPR_RETURNED_USTRING_ARRAY Names
,
384 OUT PSAMPR_ULONG_ARRAY Use
)
387 return STATUS_NOT_IMPLEMENTED
;
393 SamrOpenGroup(IN SAMPR_HANDLE DomainHandle
,
394 IN ACCESS_MASK DesiredAccess
,
395 IN
unsigned long GroupId
,
396 OUT SAMPR_HANDLE
*GroupHandle
)
399 return STATUS_NOT_IMPLEMENTED
;
405 SamrQueryInformationGroup(IN SAMPR_HANDLE GroupHandle
,
406 IN GROUP_INFORMATION_CLASS GroupInformationClass
,
407 OUT PSAMPR_GROUP_INFO_BUFFER
*Buffer
)
410 return STATUS_NOT_IMPLEMENTED
;
416 SamrSetInformationGroup(IN SAMPR_HANDLE GroupHandle
,
417 IN GROUP_INFORMATION_CLASS GroupInformationClass
,
418 IN PSAMPR_GROUP_INFO_BUFFER Buffer
)
421 return STATUS_NOT_IMPLEMENTED
;
427 SamrAddMemberToGroup(IN SAMPR_HANDLE GroupHandle
,
428 IN
unsigned long MemberId
,
429 IN
unsigned long Attributes
)
432 return STATUS_NOT_IMPLEMENTED
;
438 SamrDeleteGroup(IN OUT SAMPR_HANDLE
*GroupHandle
)
441 return STATUS_NOT_IMPLEMENTED
;
447 SamrRemoveMemberFromGroup(IN SAMPR_HANDLE GroupHandle
,
448 IN
unsigned long MemberId
)
451 return STATUS_NOT_IMPLEMENTED
;
457 SamrGetMembersInGroup(IN SAMPR_HANDLE GroupHandle
,
458 OUT PSAMPR_GET_MEMBERS_BUFFER
*Members
)
461 return STATUS_NOT_IMPLEMENTED
;
467 SamrSetMemberAttributesOfGroup(IN SAMPR_HANDLE GroupHandle
,
468 IN
unsigned long MemberId
,
469 IN
unsigned long Attributes
)
472 return STATUS_NOT_IMPLEMENTED
;
478 SamrOpenAlias(IN SAMPR_HANDLE DomainHandle
,
479 IN ACCESS_MASK DesiredAccess
,
480 IN
unsigned long AliasId
,
481 OUT SAMPR_HANDLE
*AliasHandle
)
484 return STATUS_NOT_IMPLEMENTED
;
490 SamrQueryInformationAlias(IN SAMPR_HANDLE AliasHandle
,
491 IN ALIAS_INFORMATION_CLASS AliasInformationClass
,
492 OUT PSAMPR_ALIAS_INFO_BUFFER
*Buffer
)
495 return STATUS_NOT_IMPLEMENTED
;
501 SamrSetInformationAlias(IN SAMPR_HANDLE AliasHandle
,
502 IN ALIAS_INFORMATION_CLASS AliasInformationClass
,
503 IN PSAMPR_ALIAS_INFO_BUFFER Buffer
)
506 return STATUS_NOT_IMPLEMENTED
;
512 SamrDeleteAlias(IN OUT SAMPR_HANDLE
*AliasHandle
)
515 return STATUS_NOT_IMPLEMENTED
;
521 SamrAddMemberToAlias(IN SAMPR_HANDLE AliasHandle
,
522 IN PRPC_SID MemberId
)
525 return STATUS_NOT_IMPLEMENTED
;
531 SamrRemoveMemberFromAlias(IN SAMPR_HANDLE AliasHandle
,
532 IN PRPC_SID MemberId
)
535 return STATUS_NOT_IMPLEMENTED
;
541 SamrGetMembersInAlias(IN SAMPR_HANDLE AliasHandle
,
542 OUT PSAMPR_PSID_ARRAY_OUT Members
)
545 return STATUS_NOT_IMPLEMENTED
;
551 SamrOpenUser(IN SAMPR_HANDLE DomainHandle
,
552 IN
unsigned long DesiredAccess
,
553 IN
unsigned long UserId
,
554 OUT SAMPR_HANDLE
*UserHandle
)
557 return STATUS_NOT_IMPLEMENTED
;
563 SamrDeleteUser(IN OUT SAMPR_HANDLE
*UserHandle
)
566 return STATUS_NOT_IMPLEMENTED
;
572 SamrQueryInformationUser(IN SAMPR_HANDLE UserHandle
,
573 IN USER_INFORMATION_CLASS UserInformationClass
,
574 OUT PSAMPR_USER_INFO_BUFFER
*Buffer
)
577 return STATUS_NOT_IMPLEMENTED
;
583 SamrSetInformationUser(IN SAMPR_HANDLE UserHandle
,
584 IN USER_INFORMATION_CLASS UserInformationClass
,
585 IN PSAMPR_USER_INFO_BUFFER Buffer
)
588 return STATUS_NOT_IMPLEMENTED
;
594 SamrChangePasswordUser(IN SAMPR_HANDLE UserHandle
,
595 IN
unsigned char LmPresent
,
596 IN PENCRYPTED_LM_OWF_PASSWORD OldLmEncryptedWithNewLm
,
597 IN PENCRYPTED_LM_OWF_PASSWORD NewLmEncryptedWithOldLm
,
598 IN
unsigned char NtPresent
,
599 IN PENCRYPTED_NT_OWF_PASSWORD OldNtEncryptedWithNewNt
,
600 IN PENCRYPTED_NT_OWF_PASSWORD NewNtEncryptedWithOldNt
,
601 IN
unsigned char NtCrossEncryptionPresent
,
602 IN PENCRYPTED_NT_OWF_PASSWORD NewNtEncryptedWithNewLm
,
603 IN
unsigned char LmCrossEncryptionPresent
,
604 IN PENCRYPTED_LM_OWF_PASSWORD NewLmEncryptedWithNewNt
)
607 return STATUS_NOT_IMPLEMENTED
;
613 SamrGetGroupsForUser(IN SAMPR_HANDLE UserHandle
,
614 OUT PSAMPR_GET_GROUPS_BUFFER
*Groups
)
617 return STATUS_NOT_IMPLEMENTED
;
623 SamrQueryDisplayInformation(IN SAMPR_HANDLE DomainHandle
,
624 IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass
,
625 IN
unsigned long Index
,
626 IN
unsigned long EntryCount
,
627 IN
unsigned long PreferredMaximumLength
,
628 OUT
unsigned long *TotalAvailable
,
629 OUT
unsigned long *TotalReturned
,
630 OUT PSAMPR_DISPLAY_INFO_BUFFER Buffer
)
633 return STATUS_NOT_IMPLEMENTED
;
639 SamrGetDisplayEnumerationIndex(IN SAMPR_HANDLE DomainHandle
,
640 IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass
,
641 IN PRPC_UNICODE_STRING Prefix
,
642 OUT
unsigned long *Index
)
645 return STATUS_NOT_IMPLEMENTED
;
651 SamrTestPrivateFunctionsDomain(IN SAMPR_HANDLE DomainHandle
)
654 return STATUS_NOT_IMPLEMENTED
;
660 SamrTestPrivateFunctionsUser(IN SAMPR_HANDLE UserHandle
)
663 return STATUS_NOT_IMPLEMENTED
;
669 SamrGetUserDomainPasswordInformation(IN SAMPR_HANDLE UserHandle
,
670 OUT PUSER_DOMAIN_PASSWORD_INFORMATION PasswordInformation
)
673 return STATUS_NOT_IMPLEMENTED
;
679 SamrRemoveMemberFromForeignDomain(IN SAMPR_HANDLE DomainHandle
,
680 IN PRPC_SID MemberSid
)
683 return STATUS_NOT_IMPLEMENTED
;
689 SamrQueryInformationDomain2(IN SAMPR_HANDLE DomainHandle
,
690 IN DOMAIN_INFORMATION_CLASS DomainInformationClass
,
691 OUT PSAMPR_DOMAIN_INFO_BUFFER
*Buffer
)
694 return STATUS_NOT_IMPLEMENTED
;
700 SamrQueryInformationUser2(IN SAMPR_HANDLE UserHandle
,
701 IN USER_INFORMATION_CLASS UserInformationClass
,
702 OUT PSAMPR_USER_INFO_BUFFER
*Buffer
)
705 return STATUS_NOT_IMPLEMENTED
;
711 SamrQueryDisplayInformation2(IN SAMPR_HANDLE DomainHandle
,
712 IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass
,
713 IN
unsigned long Index
,
714 IN
unsigned long EntryCount
,
715 IN
unsigned long PreferredMaximumLength
,
716 OUT
unsigned long *TotalAvailable
,
717 OUT
unsigned long *TotalReturned
,
718 OUT PSAMPR_DISPLAY_INFO_BUFFER Buffer
)
721 return STATUS_NOT_IMPLEMENTED
;
727 SamrGetDisplayEnumerationIndex2(IN SAMPR_HANDLE DomainHandle
,
728 IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass
,
729 IN PRPC_UNICODE_STRING Prefix
,
730 OUT
unsigned long *Index
)
733 return STATUS_NOT_IMPLEMENTED
;
739 SamrCreateUser2InDomain(IN SAMPR_HANDLE DomainHandle
,
740 IN PRPC_UNICODE_STRING Name
,
741 IN
unsigned long AccountType
,
742 IN
unsigned long DesiredAccess
,
743 OUT SAMPR_HANDLE
*UserHandle
,
744 OUT
unsigned long *GrantedAccess
,
745 OUT
unsigned long *RelativeId
)
748 return STATUS_NOT_IMPLEMENTED
;
754 SamrQueryDisplayInformation3(IN SAMPR_HANDLE DomainHandle
,
755 IN DOMAIN_DISPLAY_INFORMATION DisplayInformationClass
,
756 IN
unsigned long Index
,
757 IN
unsigned long EntryCount
,
758 IN
unsigned long PreferredMaximumLength
,
759 OUT
unsigned long *TotalAvailable
,
760 OUT
unsigned long *TotalReturned
,
761 OUT PSAMPR_DISPLAY_INFO_BUFFER Buffer
)
764 return STATUS_NOT_IMPLEMENTED
;
770 SamrAddMultipleMembersToAlias(IN SAMPR_HANDLE AliasHandle
,
771 IN PSAMPR_PSID_ARRAY MembersBuffer
)
774 return STATUS_NOT_IMPLEMENTED
;
780 SamrRemoveMultipleMembersFromAlias(IN SAMPR_HANDLE AliasHandle
,
781 IN PSAMPR_PSID_ARRAY MembersBuffer
)
784 return STATUS_NOT_IMPLEMENTED
;
790 SamrOemChangePasswordUser2(IN handle_t BindingHandle
,
791 IN PRPC_STRING ServerName
,
792 IN PRPC_STRING UserName
,
793 IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm
,
794 IN PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPasswordEncryptedWithNewLm
)
797 return STATUS_NOT_IMPLEMENTED
;
803 SamrUnicodeChangePasswordUser2(IN handle_t BindingHandle
,
804 IN PRPC_UNICODE_STRING ServerName
,
805 IN PRPC_UNICODE_STRING UserName
,
806 IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldNt
,
807 IN PENCRYPTED_NT_OWF_PASSWORD OldNtOwfPasswordEncryptedWithNewNt
,
808 IN
unsigned char LmPresent
,
809 IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm
,
810 IN PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPasswordEncryptedWithNewNt
)
813 return STATUS_NOT_IMPLEMENTED
;
819 SamrGetDomainPasswordInformation(IN handle_t BindingHandle
,
820 IN PRPC_UNICODE_STRING Unused
,
821 OUT PUSER_DOMAIN_PASSWORD_INFORMATION PasswordInformation
)
824 return STATUS_NOT_IMPLEMENTED
;
830 SamrConnect2(IN PSAMPR_SERVER_NAME ServerName
,
831 OUT SAMPR_HANDLE
*ServerHandle
,
832 IN ACCESS_MASK DesiredAccess
)
835 return STATUS_NOT_IMPLEMENTED
;
841 SamrSetInformationUser2(IN SAMPR_HANDLE UserHandle
,
842 IN USER_INFORMATION_CLASS UserInformationClass
,
843 IN PSAMPR_USER_INFO_BUFFER Buffer
)
846 return STATUS_NOT_IMPLEMENTED
;
852 SamrSetBootKeyInformation(IN handle_t BindingHandle
) /* FIXME */
855 return STATUS_NOT_IMPLEMENTED
;
861 SamrGetBootKeyInformation(IN handle_t BindingHandle
) /* FIXME */
864 return STATUS_NOT_IMPLEMENTED
;
870 SamrConnect3(IN handle_t BindingHandle
) /* FIXME */
873 return STATUS_NOT_IMPLEMENTED
;
879 SamrConnect4(IN PSAMPR_SERVER_NAME ServerName
,
880 OUT SAMPR_HANDLE
*ServerHandle
,
881 IN
unsigned long ClientRevision
,
882 IN ACCESS_MASK DesiredAccess
)
885 return STATUS_NOT_IMPLEMENTED
;
891 SamrUnicodeChangePasswordUser3(IN handle_t BindingHandle
) /* FIXME */
894 return STATUS_NOT_IMPLEMENTED
;
900 SamrConnect5(IN PSAMPR_SERVER_NAME ServerName
,
901 IN ACCESS_MASK DesiredAccess
,
902 IN
unsigned long InVersion
,
903 IN SAMPR_REVISION_INFO
*InRevisionInfo
,
904 OUT
unsigned long *OutVersion
,
905 OUT SAMPR_REVISION_INFO
*OutRevisionInfo
,
906 OUT SAMPR_HANDLE
*ServerHandle
)
909 return STATUS_NOT_IMPLEMENTED
;
915 SamrRidToSid(IN SAMPR_HANDLE ObjectHandle
,
916 IN
unsigned long Rid
,
920 return STATUS_NOT_IMPLEMENTED
;
926 SamrSetDSRMPassword(IN handle_t BindingHandle
,
927 IN PRPC_UNICODE_STRING Unused
,
928 IN
unsigned long UserId
,
929 IN PENCRYPTED_NT_OWF_PASSWORD EncryptedNtOwfPassword
)
932 return STATUS_NOT_IMPLEMENTED
;
938 SamrValidatePassword(IN handle_t Handle
,
939 IN PASSWORD_POLICY_VALIDATION_TYPE ValidationType
,
940 IN PSAM_VALIDATE_INPUT_ARG InputArg
,
941 OUT PSAM_VALIDATE_OUTPUT_ARG
*OutputArg
)
944 return STATUS_NOT_IMPLEMENTED
;