LiveIdentity 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,221 +1,221 @@
1
- class LiveIdentity
2
- module IDCRL
3
- module HRESULT
4
- # INVALID_STS_REQUEST ? = 0x80045C01
5
- PP_E_CRL_NOT_INITIALIZED = 0x80048008
6
- PPCRL_NO_SESSION_KEY = 0x8004800E
7
- # INVALID_MEMORY_POINTER ? = 0x8004801E
8
- # INVALID_ ??? = 0x8004802C
9
- # INVALID_REQUEST_FLAGS ? = 0x80048031
10
- PPCRL_S_ALREADY_INITIALIZED = 0x00048044
11
- PPCRL_S_STILL_INUSE = 0x00048045
12
- PP_E_CRL_REG_OPEN_FAILED = 0x80048251
13
- PP_E_NOTCONNECTED = 0x80048265
14
- PPCRL_E_SQM_UNKNOWN = 0x80048401
15
- PPCRL_E_SQM_REQUEST_CANCELLED = 0x80048402
16
- PPCRL_E_SQM_QUERY_STATUSCODE = 0x80048403
17
- PPCRL_E_SQM_OUTOFMEMORY = 0x80048404
18
- PPCRL_E_SQM_READRESPONSE = 0x80048405
19
- PPCRL_E_SQM_RESPONSE_BADXML = 0x80048406
20
- PPCRL_E_SQM_INTERNET_OTHER = 0x80048407
21
- PPCRL_E_SQM_INTERNET_UI = 0x80048408
22
- PPCRL_E_SQM_INTERNET_SYNTAX = 0x80048409
23
- PPCRL_E_SQM_INTERNET_NAME_NOT_RESOLVED = 0x8004840A
24
- PPCRL_E_SQM_INTERNET_LOGIN = 0x8004840B
25
- PPCRL_E_SQM_INTERNET_PROXY = 0x8004840C
26
- PPCRL_E_SQM_INTERNET_OPERATION_CANCELLED = 0x8004840D
27
- PPCRL_E_SQM_INTERNET_INCORRECT_HANDLE_STATE = 0x8004840E
28
- PPCRL_E_SQM_INTERNET_CANNOT_CONNECT = 0x8004840F
29
- PPCRL_E_SQM_INTERNET_CONNECTION_ABORTED = 0x80048410
30
- PPCRL_E_SQM_INTERNET_CONNECTION_RESET = 0x80048411
31
- PPCRL_E_SQM_INTERNET_SEC_CERT_DATE_INVALID = 0x80048412
32
- PPCRL_E_SQM_INTERNET_SEC_CERT_CN_INVALID = 0x80048413
33
- PPCRL_E_SQM_INTERNET_SEC_CERT_ERRORS = 0x80048414
34
- PPCRL_E_SQM_INTERNET_SEC_CERT_NO_REV = 0x80048415
35
- PPCRL_E_SQM_INTERNET_SEC_CERT_REV_FAILED = 0x80048416
36
- PPCRL_E_SQM_INTERNET_CLIENT_AUTH_CERT_NEEDED = 0x80048417
37
- PPCRL_E_SQM_INTERNET_INVALID_CA = 0x80048418
38
- PPCRL_E_SQM_INTERNET_SECURITY_WARNING = 0x80048419
39
- PPCRL_E_SQM_INTERNET_POST_IS_NON_SECURE = 0x8004841A
40
- PPCRL_E_SQM_FTP = 0x8004841B
41
- PPCRL_E_SQM_GOPHER = 0x8004841C
42
- PPCRL_E_SQM_HTTP_HEADER = 0x8004841D
43
- PPCRL_E_SQM_HTTP_DOWNLEVEL_SERVER = 0x8004841E
44
- PPCRL_E_SQM_HTTP_INVALID_SERVER_RESPONSE = 0x8004841F
45
- PPCRL_E_SQM_HTTP_INVALID_QUERY_REQUEST = 0x80048420
46
- PPCRL_E_SQM_HTTP_REDIRECT = 0x80048421
47
- PPCRL_E_SQM_HTTP_COOKIE = 0x80048422
48
- PPCRL_E_SQM_INTERNET_SECURITY_CHANNEL_ERROR = 0x80048423
49
- PPCRL_E_SQM_INTERNET_DISCONNECTED = 0x80048424
50
- PPCRL_E_SQM_INTERNET_SERVER_UNREACHABLE = 0x80048425
51
- PPCRL_E_SQM_INTERNET_PROXY_SERVER_UNREACHABLE = 0x80048426
52
- PPCRL_E_SQM_INTERNET_PROXYSCRIPT = 0x80048427
53
- PPCRL_E_SQM_INTERNET_SEC_INVALID_CERT = 0x80048428
54
- PPCRL_E_SQM_INTERNET_SEC_CERT_REVOKED = 0x80048429
55
- PPCRL_E_SQM_INTERNET_AUTODIAL = 0x8004842A
56
- PPCRL_E_SQM_INTERNET_NOT_INITIALIZED = 0x8004842B
57
- PPCRL_E_SQM_LOCK = 0x8004842C
58
- PPCRL_E_SQM_SYNC_NOLOCK = 0x8004842D
59
- PPCRL_E_SQM_HTTP_QUERYINFO = 0x8004842E
60
- PPCRL_E_SQM_RESPONSE_TOO_LARGE = 0x8004842F
61
- PPCRL_E_SQM_INVALID_AUTH_SERVICE_RESPONSE = 0x80048430
62
- PPCRL_E_SQM_NO_TOKENBAG = 0x80048431
63
- PPCRL_E_SQM_RESPONSE_NOTIMESTAMPORRSTR = 0x80048432
64
- PPCRL_E_SQM_RESPONSE_NOSIGNATUREELEMENT = 0x80048433
65
- PPCRL_E_SQM_RESPONSE_NOCIPHERELEMENT = 0x80048434
66
- PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048435
67
- PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048436
68
- PPCRL_E_SQM_WAIT_ABANDONED = 0x80048437
69
- PPCRL_E_SQM_WAIT_TIMEOUT = 0x80048438
70
- PPCRL_E_SQM_INTERNET_TIMEOUT = 0x80048439
71
- module PPCRL_BASE
72
- SUCCESS = 0x00048800
73
- ERROR = 0x80048800
74
- end
75
- PPCRL_AUTHSTATE_E_UNAUTHENTICATED = 0x80048800
76
- PPCRL_AUTHSTATE_E_EXPIRED = 0x80048801
77
- PPCRL_AUTHSTATE_S_AUTHENTICATED_OFFLINE = 0x00048802
78
- PPCRL_AUTHSTATE_S_AUTHENTICATED_PASSWORD = 0x00048803
79
- PPCRL_AUTHSTATE_S_AUTHENTICATED_PARTNER = 0x00048804
80
- # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048805
81
- # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048806
82
- # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048807
83
- PPCRL_AUTHREQUIRED_E_PASSWORD = 0x80048810
84
- PPCRL_AUTHREQUIRED_E_CERTIFICATE = 0x80048813
85
- PPCRL_AUTHREQUIRED_E_UNKNOWN = 0x80048814
86
- PPCRL_REQUEST_E_AUTH_SERVER_ERROR = 0x80048820
87
- PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD = 0x80048821
88
- PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT = 0x80048823
89
- PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT_BAD_PASSWORD_OR_HIP = 0x80048824
90
- PPCRL_REQUEST_E_TOU_CONSENT_REQUIRED = 0x80048825
91
- PPCRL_REQUEST_E_FORCE_RENAME_REQUIRED = 0x80048826
92
- PPCRL_REQUEST_E_FORCE_CHANGE_PASSWORD_REQUIRED = 0x80048827
93
- PPCRL_REQUEST_E_STRONG_PASSWORD_REQUIRED = 0x80048828
94
- PPCRL_REQUEST_E_NO_CERTIFICATES_AVAILABLE = 0x80048829
95
- PPCRL_REQUEST_E_PARTNER_NOT_FOUND = 0x8004882A
96
- PPCRL_REQUEST_E_PARTNER_HAS_NO_ASYMMETRIC_KEY = 0x8004882B
97
- PPCRL_REQUEST_E_INVALID_POLICY = 0x8004882C
98
- PPCRL_REQUEST_E_INVALID_MEMBER_NAME = 0x8004882D
99
- PPCRL_REQUEST_E_MISSING_PRIMARY_CREDENTIAL = 0x8004882E
100
- PPCRL_REQUEST_E_PENDING_NETWORK_REQUEST = 0x8004882F
101
- PPCRL_REQUEST_E_FORCE_CHANGE_SQSA = 0x80048830
102
- PPCRL_REQUEST_E_PASSWORD_EXPIRED = 0x80048831
103
- PPCRL_REQUEST_E_PENDING_USER_INPUT = 0x80048832
104
- PPCRL_REQUEST_E_MISSING_HIP_SOLUTION = 0x80048833
105
- PPCRL_REQUEST_E_PROFILE_ACCRUE_REQUIRED = 0x80048834
106
- PPCRL_REQUEST_S_PROFILE_ACCRUE_DONE = 0x00048835
107
- PPCRL_REQUEST_E_EMAIL_VALIDATION_REQUIRED = 0x80048836
108
- PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW = 0x80048837
109
- PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW_EXPIRY = 0x80048838
110
- PPCRL_REQUEST_E_AUTH_EXPIRED = 0x80048839
111
- PPCRL_REQUEST_E_USER_FORGOT_PASSWORD = 0x80048841
112
- PPCRL_REQUEST_E_USER_CANCELED = 0x80048842
113
- PPCRL_E_INITIALIZED_DIFF_ENVIRONMENT = 0x80048046
114
- PPCRL_REQUEST_S_IO_PENDING = 0x00048847
115
- PPCRL_REQUEST_E_NO_NETWORK = 0x80048848
116
- PPCRL_REQUEST_E_UNKNOWN = 0x80048849
117
- PPCRL_REQUESTPARAMS_MISSING = 0x80048851 # ???
118
- PPCRL_REQUEST_E_WRONG_DA = 0x80048852
119
- PPCRL_REQUEST_E_KID_HAS_NO_CONSENT = 0x80048853
120
- PPCRL_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048854
121
- PPCRL_REQUEST_E_RSTR_FAULT = 0x80048855
122
- PPCRL_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048856
123
- PPCRL_REQUEST_E_RSTR_MISSING_BASE64CERT = 0x80048857
124
- PPCRL_REQUEST_E_RSTR_MISSING_TOKENTYPE = 0x80048858
125
- PPCRL_REQUEST_E_RSTR_MISSING_SERVICENAME = 0x80048859
126
- PPCRL_REQUEST_E_RSTR_INVALID_TOKENTYPE = 0x8004885A
127
- PPCRL_REQUEST_E_RSTR_MISSING_PRIVATE_KEY = 0x8004885B
128
- PPCRL_REQUEST_E_INVALID_SERVICE_TIMESTAMP = 0x8004885C
129
- PPCRL_REQUEST_E_INVALID_PKCS10_TIMESTAMP = 0x8004885D
130
- PPCRL_REQUEST_E_INVALID_PKCS10 = 0x8004885E
131
- PPCRL_S_NO_MORE_IDENTITIES = 0x00048860
132
- PPCRL_S_TOKEN_TYPE_DOES_NOT_SUPPORT_SESSION_KEY = 0x00048861
133
- PPCRL_E_IDENTITY_NOT_AUTHENTICATED = 0x80048861
134
- PPCRL_S_NO_SUCH_CREDENTIAL = 0x00048862
135
- PPCRL_E_UNABLE_TO_RETRIEVE_SERVICE_TOKEN = 0x80048862
136
- PPCRL_S_NO_AUTHENTICATION_REQUIRED = 0x00048863
137
- PPCRL_E_INVALID_DERIVATION_METHOD = 0x80048863
138
- PPCRL_E_INVALID_DERIVATION_PARAMS = 0x80048864
139
- PPCRL_E_INVALID_DERIVATION_ITERATIONS_PARAM = 0x80048865
140
- PPCRL_E_INVALID_DERIVATION_SALT_PARAM = 0x80048866
141
- PPCRL_E_INVALID_DERIVED_KEY_LENGTH = 0x80048867
142
- PPCRL_E_CERTIFICATE_AUTHENTICATION_NOT_SUPPORTED = 0x80048868
143
- PPCRL_E_AUTH_SERVICE_UNAVAILABLE = 0x80048869
144
- PPCRL_E_INVALID_AUTH_SERVICE_RESPONSE = 0x8004886A
145
- PPCRL_E_UNABLE_TO_INITIALIZE_CRYPTO_PROVIDER = 0x8004886B
146
- PPCRL_E_NO_MEMBER_NAME_SET = 0x8004886C
147
- PPCRL_E_CALLBACK_REQUIRED = 0x8004886D
148
- PPCRL_E_DISCONTINUE_AUTHENTICATION = 0x8004886E
149
- PPCRL_E_INVALIDFLAGS = 0x8004886F
150
- PPCRL_E_UNABLE_TO_RETRIEVE_CERT = 0x80048870
151
- PPCRL_E_INVALID_RSTPARAMS = 0x80048871
152
- PPCRL_E_MISSING_FILE = 0x80048872
153
- PPCRL_E_ILLEGAL_LOGONIDENTITY_FLAG = 0x80048873
154
- PPCRL_E_CERT_NOT_VALID_FOR_MINTTL = 0x80048874
155
- PPCRL_S_OK_CLIENTTIME = 0x00048875
156
- PPCRL_E_CERT_INVALID_ISSUER = 0x80048876
157
- PPCRL_E_NO_CERTSTORE_FOR_ISSUERS = 0x80048877
158
- PPCRL_E_OFFLINE_AUTH = 0x80048878
159
- PPCRL_E_SIGN_POP_FAILED = 0x80048879
160
- PPCRL_E_CERT_INVALID_POP = 0x80048880
161
- PPCRL_E_CALLER_NOT_SIGNED = 0x80048881
162
- PPCRL_E_BUSY = 0x80048882
163
- PPCRL_E_DOWNLOAD_FILE_FAILED = 0x80048883
164
- PPCRL_E_BUILD_CERT_REQUEST_FAILED = 0x80048884
165
- PPCRL_E_CERTIFICATE_NOT_FOUND = 0x80048885
166
- PPCRL_E_AUTHBLOB_TOO_LARGE = 0x80048886
167
- PPCRL_E_AUTHBLOB_NOT_FOUND = 0x80048887
168
- PPCRL_E_AUTHBLOB_INVALID = 0x80048888
169
- PPCRL_E_EXTPROP_NOTFOUND = 0x80048889
170
- PPCRL_E_RESPONSE_TOO_LARGE = 0x8004888A
171
- PPCRL_E_USER_NOTFOUND = 0x8004888C
172
- PPCRL_E_SIGCHECK_FAILED = 0x8004888D
173
- PPCRL_E_CREDTARGETNAME_INVALID = 0x8004888F
174
- PPCRL_E_CREDINFO_CORRUPTED = 0x80048890
175
- PPCRL_E_CREDPROP_NOTFOUND = 0x80048891
176
- PPCRL_E_NO_LINKEDACCOUNTS = 0x80048892
177
- PPCRL_E_NO_LINKEDHANDLE = 0x80048893
178
- PPCRL_E_CERT_CA_ROLLOVER = 0x80048894
179
- PPCRL_E_REALM_LOOKUP = 0x80048895
180
- PPCRL_E_FORBIDDEN_NAMESPACE = 0x80048897
181
- PPCRL_E_IDENTITY_NOCID = 0x80048899
182
- PPCRL_E_IE_MISCONFIGURED = 0x8004889A
183
- PPCRL_E_NO_UI = 0x8004889C
184
- PPCRL_E_INVALID_RPS_TOKEN = 0x8004889E
185
- PPCRL_E_NOT_UI_ERROR = 0x8004889F
186
- PPCRL_E_INVALID_URL = 0x800488A0
187
- PPCRL_REQUEST_E_PARTNER_INVALID_REQUEST = 0x800488D6
188
- PPCRL_REQUEST_E_PARTNER_REQUEST_FAILED = 0x800488D7
189
- PPCRL_REQUEST_E_PARTNER_INVALID_SECURITY_TOKEN = 0x800488D8
190
- PPCRL_REQUEST_E_PARTNER_AUTHENTICATION_BAD_ELEMENTS = 0x800488D9
191
- PPCRL_REQUEST_E_PARTNER_BAD_REQUEST = 0x800488DA
192
- PPCRL_REQUEST_E_PARTNER_EXPIRED_DATA = 0x800488DB
193
- PPCRL_REQUEST_E_PARTNER_INVALID_TIME_RANGE = 0x800488DC
194
- PPCRL_REQUEST_E_PARTNER_INVALID_SCOPE = 0x800488DD
195
- PPCRL_REQUEST_E_PARTNER_RENEW_NEEDED = 0x800488DE
196
- PPCRL_REQUEST_E_PARTNER_UNABLE_TO_RENEW = 0x800488DF
197
- PPCRL_REQUEST_E_MISSING_HASHED_PASSWORD = 0x800488E0
198
- PPCRL_REQUEST_E_CLIENT_DEPRECATED = 0x800488E1
199
- PPCRL_REQUEST_E_CANCELLED = 0x800488E2
200
- PPCRL_REQUEST_E_INVALID_PKCS10_KEYLEN = 0x800488E3
201
- PPCRL_REQUEST_E_DUPLICATE_SERVICETARGET = 0x800488E4
202
- PPCRL_REQUEST_E_FORCE_SIGNIN = 0x800488E5
203
- PPCRL_REQUEST_E_PARTNER_NEED_CERTIFICATE = 0x800488E6
204
- PPCRL_REQUEST_E_PARTNER_NEED_PIN = 0x800488E7
205
- PPCRL_REQUEST_E_PARTNER_NEED_PASSWORD = 0x800488E8
206
- PPCRL_REQUEST_S_OK_NO_SLC = 0x000488E9
207
- PPCRL_REQUEST_S_IO_PENDING_NO_SLC = 0x000488EA
208
- PPCRL_REQUEST_E_SCHANNEL_ERROR = 0x800488EB
209
- PPCRL_REQUEST_E_CERT_PARSE_ERROR = 0x800488EC
210
- PPCRL_REQUEST_E_PARTNER_SERVER_ERROR = 0x800488ED
211
- PPCRL_REQUEST_E_PARTNER_LOGIN = 0x800488EE
212
- PPCRL_REQUEST_E_FLOWDISABLED = 0x800488EF
213
- PPCRL_REQUEST_E_USER_NOT_LINKED = 0x800488F0
214
- PPCRL_REQUEST_E_ACCOUNT_CONVERSION_NEEDED = 0x800488F1
215
- PPCRL_REQUEST_E_PARTNER_BAD_MEMBER_NAME_OR_PASSWORD = 0x800488F2
216
- PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD_FED = 0x800488F3
217
- PPCRL_REQUEST_E_HIP_ON_FIRST_LOGIN = 0x800488F4
218
- PPCRL_REQUEST_E_INVALID_CARDSPACE_TOKEN = 0x800488F5
219
- end
220
- end
221
- end
1
+ class LiveIdentity
2
+ module IDCRL
3
+ module HRESULT
4
+ # INVALID_STS_REQUEST ? = 0x80045C01
5
+ PP_E_CRL_NOT_INITIALIZED = 0x80048008
6
+ PPCRL_NO_SESSION_KEY = 0x8004800E
7
+ # INVALID_MEMORY_POINTER ? = 0x8004801E
8
+ # INVALID_ ??? = 0x8004802C
9
+ # INVALID_REQUEST_FLAGS ? = 0x80048031
10
+ PPCRL_S_ALREADY_INITIALIZED = 0x00048044
11
+ PPCRL_S_STILL_INUSE = 0x00048045
12
+ PP_E_CRL_REG_OPEN_FAILED = 0x80048251
13
+ PP_E_NOTCONNECTED = 0x80048265
14
+ PPCRL_E_SQM_UNKNOWN = 0x80048401
15
+ PPCRL_E_SQM_REQUEST_CANCELLED = 0x80048402
16
+ PPCRL_E_SQM_QUERY_STATUSCODE = 0x80048403
17
+ PPCRL_E_SQM_OUTOFMEMORY = 0x80048404
18
+ PPCRL_E_SQM_READRESPONSE = 0x80048405
19
+ PPCRL_E_SQM_RESPONSE_BADXML = 0x80048406
20
+ PPCRL_E_SQM_INTERNET_OTHER = 0x80048407
21
+ PPCRL_E_SQM_INTERNET_UI = 0x80048408
22
+ PPCRL_E_SQM_INTERNET_SYNTAX = 0x80048409
23
+ PPCRL_E_SQM_INTERNET_NAME_NOT_RESOLVED = 0x8004840A
24
+ PPCRL_E_SQM_INTERNET_LOGIN = 0x8004840B
25
+ PPCRL_E_SQM_INTERNET_PROXY = 0x8004840C
26
+ PPCRL_E_SQM_INTERNET_OPERATION_CANCELLED = 0x8004840D
27
+ PPCRL_E_SQM_INTERNET_INCORRECT_HANDLE_STATE = 0x8004840E
28
+ PPCRL_E_SQM_INTERNET_CANNOT_CONNECT = 0x8004840F
29
+ PPCRL_E_SQM_INTERNET_CONNECTION_ABORTED = 0x80048410
30
+ PPCRL_E_SQM_INTERNET_CONNECTION_RESET = 0x80048411
31
+ PPCRL_E_SQM_INTERNET_SEC_CERT_DATE_INVALID = 0x80048412
32
+ PPCRL_E_SQM_INTERNET_SEC_CERT_CN_INVALID = 0x80048413
33
+ PPCRL_E_SQM_INTERNET_SEC_CERT_ERRORS = 0x80048414
34
+ PPCRL_E_SQM_INTERNET_SEC_CERT_NO_REV = 0x80048415
35
+ PPCRL_E_SQM_INTERNET_SEC_CERT_REV_FAILED = 0x80048416
36
+ PPCRL_E_SQM_INTERNET_CLIENT_AUTH_CERT_NEEDED = 0x80048417
37
+ PPCRL_E_SQM_INTERNET_INVALID_CA = 0x80048418
38
+ PPCRL_E_SQM_INTERNET_SECURITY_WARNING = 0x80048419
39
+ PPCRL_E_SQM_INTERNET_POST_IS_NON_SECURE = 0x8004841A
40
+ PPCRL_E_SQM_FTP = 0x8004841B
41
+ PPCRL_E_SQM_GOPHER = 0x8004841C
42
+ PPCRL_E_SQM_HTTP_HEADER = 0x8004841D
43
+ PPCRL_E_SQM_HTTP_DOWNLEVEL_SERVER = 0x8004841E
44
+ PPCRL_E_SQM_HTTP_INVALID_SERVER_RESPONSE = 0x8004841F
45
+ PPCRL_E_SQM_HTTP_INVALID_QUERY_REQUEST = 0x80048420
46
+ PPCRL_E_SQM_HTTP_REDIRECT = 0x80048421
47
+ PPCRL_E_SQM_HTTP_COOKIE = 0x80048422
48
+ PPCRL_E_SQM_INTERNET_SECURITY_CHANNEL_ERROR = 0x80048423
49
+ PPCRL_E_SQM_INTERNET_DISCONNECTED = 0x80048424
50
+ PPCRL_E_SQM_INTERNET_SERVER_UNREACHABLE = 0x80048425
51
+ PPCRL_E_SQM_INTERNET_PROXY_SERVER_UNREACHABLE = 0x80048426
52
+ PPCRL_E_SQM_INTERNET_PROXYSCRIPT = 0x80048427
53
+ PPCRL_E_SQM_INTERNET_SEC_INVALID_CERT = 0x80048428
54
+ PPCRL_E_SQM_INTERNET_SEC_CERT_REVOKED = 0x80048429
55
+ PPCRL_E_SQM_INTERNET_AUTODIAL = 0x8004842A
56
+ PPCRL_E_SQM_INTERNET_NOT_INITIALIZED = 0x8004842B
57
+ PPCRL_E_SQM_LOCK = 0x8004842C
58
+ PPCRL_E_SQM_SYNC_NOLOCK = 0x8004842D
59
+ PPCRL_E_SQM_HTTP_QUERYINFO = 0x8004842E
60
+ PPCRL_E_SQM_RESPONSE_TOO_LARGE = 0x8004842F
61
+ PPCRL_E_SQM_INVALID_AUTH_SERVICE_RESPONSE = 0x80048430
62
+ PPCRL_E_SQM_NO_TOKENBAG = 0x80048431
63
+ PPCRL_E_SQM_RESPONSE_NOTIMESTAMPORRSTR = 0x80048432
64
+ PPCRL_E_SQM_RESPONSE_NOSIGNATUREELEMENT = 0x80048433
65
+ PPCRL_E_SQM_RESPONSE_NOCIPHERELEMENT = 0x80048434
66
+ PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048435
67
+ PPCRL_E_SQM_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048436
68
+ PPCRL_E_SQM_WAIT_ABANDONED = 0x80048437
69
+ PPCRL_E_SQM_WAIT_TIMEOUT = 0x80048438
70
+ PPCRL_E_SQM_INTERNET_TIMEOUT = 0x80048439
71
+ module PPCRL_BASE
72
+ SUCCESS = 0x00048800
73
+ ERROR = 0x80048800
74
+ end
75
+ PPCRL_AUTHSTATE_E_UNAUTHENTICATED = 0x80048800
76
+ PPCRL_AUTHSTATE_E_EXPIRED = 0x80048801
77
+ PPCRL_AUTHSTATE_S_AUTHENTICATED_OFFLINE = 0x00048802
78
+ PPCRL_AUTHSTATE_S_AUTHENTICATED_PASSWORD = 0x00048803
79
+ PPCRL_AUTHSTATE_S_AUTHENTICATED_PARTNER = 0x00048804
80
+ # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048805
81
+ # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048806
82
+ # PPCRL_AUTHREQUIRED_S_ WHAT? = 0x00048807
83
+ PPCRL_AUTHREQUIRED_E_PASSWORD = 0x80048810
84
+ PPCRL_AUTHREQUIRED_E_CERTIFICATE = 0x80048813
85
+ PPCRL_AUTHREQUIRED_E_UNKNOWN = 0x80048814
86
+ PPCRL_REQUEST_E_AUTH_SERVER_ERROR = 0x80048820
87
+ PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD = 0x80048821
88
+ PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT = 0x80048823
89
+ PPCRL_REQUEST_E_PASSWORD_LOCKED_OUT_BAD_PASSWORD_OR_HIP = 0x80048824
90
+ PPCRL_REQUEST_E_TOU_CONSENT_REQUIRED = 0x80048825
91
+ PPCRL_REQUEST_E_FORCE_RENAME_REQUIRED = 0x80048826
92
+ PPCRL_REQUEST_E_FORCE_CHANGE_PASSWORD_REQUIRED = 0x80048827
93
+ PPCRL_REQUEST_E_STRONG_PASSWORD_REQUIRED = 0x80048828
94
+ PPCRL_REQUEST_E_NO_CERTIFICATES_AVAILABLE = 0x80048829
95
+ PPCRL_REQUEST_E_PARTNER_NOT_FOUND = 0x8004882A
96
+ PPCRL_REQUEST_E_PARTNER_HAS_NO_ASYMMETRIC_KEY = 0x8004882B
97
+ PPCRL_REQUEST_E_INVALID_POLICY = 0x8004882C
98
+ PPCRL_REQUEST_E_INVALID_MEMBER_NAME = 0x8004882D
99
+ PPCRL_REQUEST_E_MISSING_PRIMARY_CREDENTIAL = 0x8004882E
100
+ PPCRL_REQUEST_E_PENDING_NETWORK_REQUEST = 0x8004882F
101
+ PPCRL_REQUEST_E_FORCE_CHANGE_SQSA = 0x80048830
102
+ PPCRL_REQUEST_E_PASSWORD_EXPIRED = 0x80048831
103
+ PPCRL_REQUEST_E_PENDING_USER_INPUT = 0x80048832
104
+ PPCRL_REQUEST_E_MISSING_HIP_SOLUTION = 0x80048833
105
+ PPCRL_REQUEST_E_PROFILE_ACCRUE_REQUIRED = 0x80048834
106
+ PPCRL_REQUEST_S_PROFILE_ACCRUE_DONE = 0x00048835
107
+ PPCRL_REQUEST_E_EMAIL_VALIDATION_REQUIRED = 0x80048836
108
+ PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW = 0x80048837
109
+ PPCRL_REQUEST_E_PARTNER_NEED_STRONGPW_EXPIRY = 0x80048838
110
+ PPCRL_REQUEST_E_AUTH_EXPIRED = 0x80048839
111
+ PPCRL_REQUEST_E_USER_FORGOT_PASSWORD = 0x80048841
112
+ PPCRL_REQUEST_E_USER_CANCELED = 0x80048842
113
+ PPCRL_E_INITIALIZED_DIFF_ENVIRONMENT = 0x80048046
114
+ PPCRL_REQUEST_S_IO_PENDING = 0x00048847
115
+ PPCRL_REQUEST_E_NO_NETWORK = 0x80048848
116
+ PPCRL_REQUEST_E_UNKNOWN = 0x80048849
117
+ PPCRL_REQUESTPARAMS_MISSING = 0x80048851 # ???
118
+ PPCRL_REQUEST_E_WRONG_DA = 0x80048852
119
+ PPCRL_REQUEST_E_KID_HAS_NO_CONSENT = 0x80048853
120
+ PPCRL_REQUEST_E_RSTR_MISSING_REFERENCE_URI = 0x80048854
121
+ PPCRL_REQUEST_E_RSTR_FAULT = 0x80048855
122
+ PPCRL_REQUEST_E_RSTR_MISSING_REFERENCED_TOKEN = 0x80048856
123
+ PPCRL_REQUEST_E_RSTR_MISSING_BASE64CERT = 0x80048857
124
+ PPCRL_REQUEST_E_RSTR_MISSING_TOKENTYPE = 0x80048858
125
+ PPCRL_REQUEST_E_RSTR_MISSING_SERVICENAME = 0x80048859
126
+ PPCRL_REQUEST_E_RSTR_INVALID_TOKENTYPE = 0x8004885A
127
+ PPCRL_REQUEST_E_RSTR_MISSING_PRIVATE_KEY = 0x8004885B
128
+ PPCRL_REQUEST_E_INVALID_SERVICE_TIMESTAMP = 0x8004885C
129
+ PPCRL_REQUEST_E_INVALID_PKCS10_TIMESTAMP = 0x8004885D
130
+ PPCRL_REQUEST_E_INVALID_PKCS10 = 0x8004885E
131
+ PPCRL_S_NO_MORE_IDENTITIES = 0x00048860
132
+ PPCRL_S_TOKEN_TYPE_DOES_NOT_SUPPORT_SESSION_KEY = 0x00048861
133
+ PPCRL_E_IDENTITY_NOT_AUTHENTICATED = 0x80048861
134
+ PPCRL_S_NO_SUCH_CREDENTIAL = 0x00048862
135
+ PPCRL_E_UNABLE_TO_RETRIEVE_SERVICE_TOKEN = 0x80048862
136
+ PPCRL_S_NO_AUTHENTICATION_REQUIRED = 0x00048863
137
+ PPCRL_E_INVALID_DERIVATION_METHOD = 0x80048863
138
+ PPCRL_E_INVALID_DERIVATION_PARAMS = 0x80048864
139
+ PPCRL_E_INVALID_DERIVATION_ITERATIONS_PARAM = 0x80048865
140
+ PPCRL_E_INVALID_DERIVATION_SALT_PARAM = 0x80048866
141
+ PPCRL_E_INVALID_DERIVED_KEY_LENGTH = 0x80048867
142
+ PPCRL_E_CERTIFICATE_AUTHENTICATION_NOT_SUPPORTED = 0x80048868
143
+ PPCRL_E_AUTH_SERVICE_UNAVAILABLE = 0x80048869
144
+ PPCRL_E_INVALID_AUTH_SERVICE_RESPONSE = 0x8004886A
145
+ PPCRL_E_UNABLE_TO_INITIALIZE_CRYPTO_PROVIDER = 0x8004886B
146
+ PPCRL_E_NO_MEMBER_NAME_SET = 0x8004886C
147
+ PPCRL_E_CALLBACK_REQUIRED = 0x8004886D
148
+ PPCRL_E_DISCONTINUE_AUTHENTICATION = 0x8004886E
149
+ PPCRL_E_INVALIDFLAGS = 0x8004886F
150
+ PPCRL_E_UNABLE_TO_RETRIEVE_CERT = 0x80048870
151
+ PPCRL_E_INVALID_RSTPARAMS = 0x80048871
152
+ PPCRL_E_MISSING_FILE = 0x80048872
153
+ PPCRL_E_ILLEGAL_LOGONIDENTITY_FLAG = 0x80048873
154
+ PPCRL_E_CERT_NOT_VALID_FOR_MINTTL = 0x80048874
155
+ PPCRL_S_OK_CLIENTTIME = 0x00048875
156
+ PPCRL_E_CERT_INVALID_ISSUER = 0x80048876
157
+ PPCRL_E_NO_CERTSTORE_FOR_ISSUERS = 0x80048877
158
+ PPCRL_E_OFFLINE_AUTH = 0x80048878
159
+ PPCRL_E_SIGN_POP_FAILED = 0x80048879
160
+ PPCRL_E_CERT_INVALID_POP = 0x80048880
161
+ PPCRL_E_CALLER_NOT_SIGNED = 0x80048881
162
+ PPCRL_E_BUSY = 0x80048882
163
+ PPCRL_E_DOWNLOAD_FILE_FAILED = 0x80048883
164
+ PPCRL_E_BUILD_CERT_REQUEST_FAILED = 0x80048884
165
+ PPCRL_E_CERTIFICATE_NOT_FOUND = 0x80048885
166
+ PPCRL_E_AUTHBLOB_TOO_LARGE = 0x80048886
167
+ PPCRL_E_AUTHBLOB_NOT_FOUND = 0x80048887
168
+ PPCRL_E_AUTHBLOB_INVALID = 0x80048888
169
+ PPCRL_E_EXTPROP_NOTFOUND = 0x80048889
170
+ PPCRL_E_RESPONSE_TOO_LARGE = 0x8004888A
171
+ PPCRL_E_USER_NOTFOUND = 0x8004888C
172
+ PPCRL_E_SIGCHECK_FAILED = 0x8004888D
173
+ PPCRL_E_CREDTARGETNAME_INVALID = 0x8004888F
174
+ PPCRL_E_CREDINFO_CORRUPTED = 0x80048890
175
+ PPCRL_E_CREDPROP_NOTFOUND = 0x80048891
176
+ PPCRL_E_NO_LINKEDACCOUNTS = 0x80048892
177
+ PPCRL_E_NO_LINKEDHANDLE = 0x80048893
178
+ PPCRL_E_CERT_CA_ROLLOVER = 0x80048894
179
+ PPCRL_E_REALM_LOOKUP = 0x80048895
180
+ PPCRL_E_FORBIDDEN_NAMESPACE = 0x80048897
181
+ PPCRL_E_IDENTITY_NOCID = 0x80048899
182
+ PPCRL_E_IE_MISCONFIGURED = 0x8004889A
183
+ PPCRL_E_NO_UI = 0x8004889C
184
+ PPCRL_E_INVALID_RPS_TOKEN = 0x8004889E
185
+ PPCRL_E_NOT_UI_ERROR = 0x8004889F
186
+ PPCRL_E_INVALID_URL = 0x800488A0
187
+ PPCRL_REQUEST_E_PARTNER_INVALID_REQUEST = 0x800488D6
188
+ PPCRL_REQUEST_E_PARTNER_REQUEST_FAILED = 0x800488D7
189
+ PPCRL_REQUEST_E_PARTNER_INVALID_SECURITY_TOKEN = 0x800488D8
190
+ PPCRL_REQUEST_E_PARTNER_AUTHENTICATION_BAD_ELEMENTS = 0x800488D9
191
+ PPCRL_REQUEST_E_PARTNER_BAD_REQUEST = 0x800488DA
192
+ PPCRL_REQUEST_E_PARTNER_EXPIRED_DATA = 0x800488DB
193
+ PPCRL_REQUEST_E_PARTNER_INVALID_TIME_RANGE = 0x800488DC
194
+ PPCRL_REQUEST_E_PARTNER_INVALID_SCOPE = 0x800488DD
195
+ PPCRL_REQUEST_E_PARTNER_RENEW_NEEDED = 0x800488DE
196
+ PPCRL_REQUEST_E_PARTNER_UNABLE_TO_RENEW = 0x800488DF
197
+ PPCRL_REQUEST_E_MISSING_HASHED_PASSWORD = 0x800488E0
198
+ PPCRL_REQUEST_E_CLIENT_DEPRECATED = 0x800488E1
199
+ PPCRL_REQUEST_E_CANCELLED = 0x800488E2
200
+ PPCRL_REQUEST_E_INVALID_PKCS10_KEYLEN = 0x800488E3
201
+ PPCRL_REQUEST_E_DUPLICATE_SERVICETARGET = 0x800488E4
202
+ PPCRL_REQUEST_E_FORCE_SIGNIN = 0x800488E5
203
+ PPCRL_REQUEST_E_PARTNER_NEED_CERTIFICATE = 0x800488E6
204
+ PPCRL_REQUEST_E_PARTNER_NEED_PIN = 0x800488E7
205
+ PPCRL_REQUEST_E_PARTNER_NEED_PASSWORD = 0x800488E8
206
+ PPCRL_REQUEST_S_OK_NO_SLC = 0x000488E9
207
+ PPCRL_REQUEST_S_IO_PENDING_NO_SLC = 0x000488EA
208
+ PPCRL_REQUEST_E_SCHANNEL_ERROR = 0x800488EB
209
+ PPCRL_REQUEST_E_CERT_PARSE_ERROR = 0x800488EC
210
+ PPCRL_REQUEST_E_PARTNER_SERVER_ERROR = 0x800488ED
211
+ PPCRL_REQUEST_E_PARTNER_LOGIN = 0x800488EE
212
+ PPCRL_REQUEST_E_FLOWDISABLED = 0x800488EF
213
+ PPCRL_REQUEST_E_USER_NOT_LINKED = 0x800488F0
214
+ PPCRL_REQUEST_E_ACCOUNT_CONVERSION_NEEDED = 0x800488F1
215
+ PPCRL_REQUEST_E_PARTNER_BAD_MEMBER_NAME_OR_PASSWORD = 0x800488F2
216
+ PPCRL_REQUEST_E_BAD_MEMBER_NAME_OR_PASSWORD_FED = 0x800488F3
217
+ PPCRL_REQUEST_E_HIP_ON_FIRST_LOGIN = 0x800488F4
218
+ PPCRL_REQUEST_E_INVALID_CARDSPACE_TOKEN = 0x800488F5
219
+ end
220
+ end
221
+ end
@@ -1,298 +1,297 @@
1
- class LiveIdentity
2
- module IDCRL
3
- module Structs
4
- class IDCRL_OPTION < FFI::Struct
5
- layout({
6
- :dwId => IDCRL_OPTION_ID,
7
- :pValue => :PBYTE,
8
- :cbValue => :size_t
9
- })
10
- end
11
-
12
- class IDCRL_OPTIONS < FFI::Struct
13
- layout({
14
- :dwCount => :DWORD,
15
- :arrOptions => :pointer # *IDCRL_OPTION[]
16
- })
17
- end
18
-
19
- class IDCRL_STATUS_V1 < FFI::Struct
20
- layout({
21
- :hrAuthState => :HRESULT,
22
- :hrAuthRequired => :HRESULT,
23
- :hrRequestStatus => :HRESULT,
24
- :hrUIError => :HRESULT,
25
- :wszWebFlowUrl => :LPWSTR
26
- })
27
-
28
- def AuthState
29
- self[:hrAuthState]
30
- end
31
-
32
- def AuthRequired
33
- self[:hrAuthRequired]
34
- end
35
-
36
- def RequestStatus
37
- self[:hrRequestStatus]
38
- end
39
-
40
- def WebFlowUrl
41
- @WebFlowUrl ||= read_wide_string(self[:wszWebFlowUrl])
42
- end
43
-
44
- def WebFlowUrl= (webFlowUrl)
45
- @WebFlowUrl = webFlowUrl
46
- self[:wszWebFlowUrl] = StringToWSTR(webFlowUrl)
47
- end
48
-
49
- def to_s
50
- "AuthState: #{WinCommon::Errors::HRESULT::GetNameCode(AuthState())}\n" +
51
- "AuthRequired: #{WinCommon::Errors::HRESULT::GetNameCode(AuthRequired())}\n" +
52
- "RequestStatus: #{WinCommon::Errors::HRESULT::GetNameCode(RequestStatus())}"
53
- end
54
-
55
- def IsAuthenticated?
56
- RequestStatus() >= 0 && AuthState() >= 0
57
- end
58
- end
59
-
60
- class PASSPORT_NAME_VALUE_PAIR < FFI::Struct
61
- layout({
62
- :szName => :LPWSTR,
63
- :szValue => :LPWSTR
64
- })
65
- end
66
-
67
- class IDCRL::UIParam < FFI::Struct
68
- layout({
69
- :dwFlags => :DWORD,
70
- :hwndParent => :HANDLE,
71
- :wszCobrandingText => :LPWSTR,
72
- :wszAppName => :LPWSTR,
73
- :wszSignupText => :LPWSTR,
74
- :wszSignupText => :LPWSTR,
75
- :wszCobrandingLogoPath => :LPWSTR,
76
- :wszHeaderBgImage => :LPWSTR,
77
- :dwBgColor => :DWORD,
78
- :dwURLColor => :DWORD,
79
- :dwTileBgColor => :DWORD,
80
- :dwTileBdColor => :DWORD,
81
- :dwFieldBdColor => :DWORD,
82
- :dwCheckboxLbColor => :DWORD,
83
- :dwBtTxtColor => :DWORD,
84
- :dwTileLbColor => :DWORD,
85
- :lWinLeft => :LONG,
86
- :lWinTop => :LONG,
87
- :wszSignupUrl => :LPWSTR
88
- })
89
- end
90
-
91
- class RSTParams < FFI::Struct
92
- layout({
93
- :cbSize => :DWORD,
94
- :wzServiceTarget => :LPCWSTR,
95
- :wzServicePolicy => :LPCWSTR,
96
- :dwTokenFlags => :DWORD,
97
- :dwTokenParam => :DWORD
98
- })
99
-
100
- def self.build(data, address = nil)
101
- param = IDCRL::RSTParams.new(address)
102
- param[:cbSize] = self.size
103
- param[:wzServiceTarget] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServiceTarget].to_s))
104
- param[:wzServicePolicy] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServicePolicy].to_s))
105
- param[:dwTokenFlags] = 0
106
- param[:dwTokenParam] = 0
107
- param[:dwTokenFlags] = data[:TokenFlags] if data.has_key?(:TokenFlags)
108
- param[:dwTokenParam] = data[:TokenParam] if data.has_key?(:TokenParam)
109
- param
110
- end
111
- end
112
-
113
- class PASSPORTCREDCUSTOMUI < FFI::Struct
114
- layout({
115
- :cElements => :LONG,
116
- :customValues => :LPWSTR
117
- })
118
- end
119
-
120
- class MultiRSTParams < FFI::Struct
121
- layout({
122
- :dwRSTParamsCount => :DWORD,
123
- :pRSTParams => :pointer, # *RSTParams[]
124
- :dwMultiRSTParamsFlags => :DWORD
125
- })
126
- end
127
-
128
- class PassportCredUIInfo < FFI::Struct
129
- layout({
130
- :hwndParent => :HWND,
131
- :ptPosition => IDCRL::POINT,
132
- :szSize => IDCRL::SIZE,
133
- :bShow => :BOOL
134
- })
135
- end
136
-
137
- class SSO_UIParam < FFI::Struct
138
- layout({
139
- :cbsize => :DWORD,
140
- :dwReserved => :DWORD,
141
- :hwndParent => :HWND,
142
- :pReserved => :UINT_PTR,
143
- :wszServiceName => :LPCWSTR,
144
- :rgbReserved => [:BYTE, 16],
145
- :rghReserved => [:UINT_PTR, 45]
146
- })
147
- end
148
-
149
- class CertSet < FFI::Struct
150
- layout({
151
- :pCertContext => :PCERT_CONTEXT,
152
- :pCACertContext => :PCERT_CONTEXT,
153
- :cbPOP => :DWORD,
154
- :pbPOP => :PBYTE
155
- })
156
-
157
- def self.build
158
- certSet = CertSet.new
159
- certSet[:pCertContext] = FFI::MemoryPointer.new(:pointer)
160
- certSet[:pCACertContext] = FFI::MemoryPointer.new(:pointer)
161
- certSet[:cbPOP] = 0
162
- certSet[:pbPOP] = FFI::MemoryPointer.new(:PBYTE)
163
- certSet
164
- end
165
-
166
- def CertContext
167
- @CertContext ||= CERT_CONTEXT.new(self[:pCertContext])
168
- end
169
-
170
- def CertContext= (certContext)
171
- @CertContext = certContext
172
- self[:pCertContext] = FFI::MemoryPointer.new(certContext)
173
- end
174
-
175
- def CACertContext
176
- @CertContext ||= CERT_CONTEXT.new(self[:pCACertContext])
177
- end
178
-
179
- def CACertContext= (caCertContext)
180
- @CACertContext = caCertContext
181
- self[:pCACertContext] = FFI::MemoryPointer.new(caCertContext)
182
- end
183
-
184
- def POP
185
- @POP ||= self[:pbPOP].read_string(self[:cbPOP])
186
- end
187
-
188
- def POP= (pop)
189
- @POP = pop
190
- self[:cbPOP] = pop.bytesize
191
- self[:pbPOP] = FFI::MemoryPointer.from_string(pop)
192
- end
193
-
194
- end
195
-
196
- class MD5Data < FFI::Struct
197
- layout({
198
- :szMD5Url => :LPWSTR,
199
- :szPostData => :LPWSTR
200
- })
201
-
202
- def MD5Url
203
- @MD5Url ||= read_wide_string(self[:szMD5Url])
204
- end
205
-
206
- def MD5Url= (md5Url)
207
- @MD5Url = md5Url
208
- self[:szMD5Url] = StringToWSTR(md5Url)
209
- end
210
-
211
- def PostData
212
- @PostData ||= read_wide_string(self[:szPostData])
213
- end
214
-
215
- def PostData= (postData)
216
- @PostData = postData
217
- self[:szPostData] = StringToWSTR(postData)
218
- end
219
- end
220
-
221
- class SHA1 < FFI::Struct
222
- layout({
223
- :szSHA1Url => :LPWSTR,
224
- :szSHA1PostData => :LPWSTR
225
- })
226
-
227
- def SHA1Url
228
- @SHA1Url ||= read_wide_string(self[:szSHA1Url])
229
- end
230
-
231
- def SHA1Url= (sha1Url)
232
- @SHA1Url = sha1Url
233
- self[:szSHA1Url] = StringToWSTR(sha1Url)
234
- end
235
-
236
- def SHA1PostData
237
- @SHA1PostData ||= read_wide_string(self[:szSHA1PostData])
238
- end
239
-
240
- def SHA1PostData= (sha1PostData)
241
- @SHA1PostData = sha1PostData
242
- self[:szSHA1PostData] = StringToWSTR(sha1PostData)
243
- end
244
- end
245
-
246
- class AuthState < FFI::Struct
247
- layout({
248
- :szToken => :LPWSTR,
249
- :dwResultFlags => SERVICETOKENFLAGS,
250
- :pbSessionKey => :LPWSTR,
251
- :dwSessionKeyLength => :DWORD
252
- })
253
-
254
- def Token
255
- @Token ||= read_wide_string(self[:szToken]) unless self[:szToken].null?
256
- end
257
-
258
- def Token= (token)
259
- @Token = token
260
- self[:szToken] = StringToWSTR(token)
261
- end
262
-
263
- def ResultFlags
264
- self[:dwResultFlags]
265
- end
266
-
267
- def ResultFlags= (resultFlags)
268
- self[:dwResultFlags] = resultFlags
269
- end
270
-
271
- def SessionKey
272
- @SessionKey ||= read_wide_string(self[:pbSessionKey]) unless self[:pbSessionKey].null?
273
- end
274
-
275
- def SessionKey= (sessionKey)
276
- @SessionKey = sessionKey
277
- self[:pbSessionKey] = StringToWSTR(sessionKey)
278
- end
279
-
280
- def SessionKeyLength
281
- self[:dwSessionKeyLength]
282
- end
283
-
284
- def SessionKeyLength= (sessionKeyLength)
285
- self[:dwSessionKeyLength] = sessionKeyLength
286
- end
287
-
288
- def to_s
289
- "Token: #{Token()}\n" +
290
- "ResultFlags: #{ResultFlags()}\n" +
291
- "SessionKey: #{SessionKey()}\n" +
292
- "SessionKeyLength: #{SessionKeyLength()}"
293
- end
294
- end
295
-
296
- end
297
- end
298
- end
1
+ class LiveIdentity
2
+ module IDCRL
3
+ module Structs
4
+ class IDCRL_OPTION < FFI::Struct
5
+ layout({
6
+ :dwId => IDCRL_OPTION_ID,
7
+ :pValue => :PBYTE,
8
+ :cbValue => :size_t
9
+ })
10
+ end
11
+
12
+ class IDCRL_OPTIONS < FFI::Struct
13
+ layout({
14
+ :dwCount => :DWORD,
15
+ :arrOptions => :pointer # *IDCRL_OPTION[]
16
+ })
17
+ end
18
+
19
+ class IDCRL_STATUS_V1 < FFI::Struct
20
+ layout({
21
+ :hrAuthState => :HRESULT,
22
+ :hrAuthRequired => :HRESULT,
23
+ :hrRequestStatus => :HRESULT,
24
+ :hrUIError => :HRESULT,
25
+ :wszWebFlowUrl => :LPWSTR
26
+ })
27
+
28
+ def AuthState
29
+ self[:hrAuthState]
30
+ end
31
+
32
+ def AuthRequired
33
+ self[:hrAuthRequired]
34
+ end
35
+
36
+ def RequestStatus
37
+ self[:hrRequestStatus]
38
+ end
39
+
40
+ def WebFlowUrl
41
+ @WebFlowUrl ||= read_wide_string(self[:wszWebFlowUrl])
42
+ end
43
+
44
+ def WebFlowUrl= (webFlowUrl)
45
+ @WebFlowUrl = webFlowUrl
46
+ self[:wszWebFlowUrl] = StringToWSTR(webFlowUrl)
47
+ end
48
+
49
+ def to_s
50
+ "AuthState: #{WinCommon::Errors::HRESULT::GetNameCode(AuthState())}\n" +
51
+ "AuthRequired: #{WinCommon::Errors::HRESULT::GetNameCode(AuthRequired())}\n" +
52
+ "RequestStatus: #{WinCommon::Errors::HRESULT::GetNameCode(RequestStatus())}"
53
+ end
54
+
55
+ def IsAuthenticated?
56
+ RequestStatus() >= 0 && AuthState() >= 0
57
+ end
58
+ end
59
+
60
+ class PASSPORT_NAME_VALUE_PAIR < FFI::Struct
61
+ layout({
62
+ :szName => :LPWSTR,
63
+ :szValue => :LPWSTR
64
+ })
65
+ end
66
+
67
+ class IDCRL::UIParam < FFI::Struct
68
+ layout({
69
+ :dwFlags => :DWORD,
70
+ :hwndParent => :HANDLE,
71
+ :wszCobrandingText => :LPWSTR,
72
+ :wszAppName => :LPWSTR,
73
+ :wszSignupText => :LPWSTR,
74
+ :wszCobrandingLogoPath => :LPWSTR,
75
+ :wszHeaderBgImage => :LPWSTR,
76
+ :dwBgColor => :DWORD,
77
+ :dwURLColor => :DWORD,
78
+ :dwTileBgColor => :DWORD,
79
+ :dwTileBdColor => :DWORD,
80
+ :dwFieldBdColor => :DWORD,
81
+ :dwCheckboxLbColor => :DWORD,
82
+ :dwBtTxtColor => :DWORD,
83
+ :dwTileLbColor => :DWORD,
84
+ :lWinLeft => :LONG,
85
+ :lWinTop => :LONG,
86
+ :wszSignupUrl => :LPWSTR
87
+ })
88
+ end
89
+
90
+ class RSTParams < FFI::Struct
91
+ layout({
92
+ :cbSize => :DWORD,
93
+ :wzServiceTarget => :LPCWSTR,
94
+ :wzServicePolicy => :LPCWSTR,
95
+ :dwTokenFlags => :DWORD,
96
+ :dwTokenParam => :DWORD
97
+ })
98
+
99
+ def self.build(data, address = nil)
100
+ param = IDCRL::RSTParams.new(address)
101
+ param[:cbSize] = self.size
102
+ param[:wzServiceTarget] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServiceTarget].to_s))
103
+ param[:wzServicePolicy] = FFI::MemoryPointer.from_string(StringToWSTR(data[:ServicePolicy].to_s))
104
+ param[:dwTokenFlags] = 0
105
+ param[:dwTokenParam] = 0
106
+ param[:dwTokenFlags] = data[:TokenFlags] if data.has_key?(:TokenFlags)
107
+ param[:dwTokenParam] = data[:TokenParam] if data.has_key?(:TokenParam)
108
+ param
109
+ end
110
+ end
111
+
112
+ class PASSPORTCREDCUSTOMUI < FFI::Struct
113
+ layout({
114
+ :cElements => :LONG,
115
+ :customValues => :LPWSTR
116
+ })
117
+ end
118
+
119
+ class MultiRSTParams < FFI::Struct
120
+ layout({
121
+ :dwRSTParamsCount => :DWORD,
122
+ :pRSTParams => :pointer, # *RSTParams[]
123
+ :dwMultiRSTParamsFlags => :DWORD
124
+ })
125
+ end
126
+
127
+ class PassportCredUIInfo < FFI::Struct
128
+ layout({
129
+ :hwndParent => :HWND,
130
+ :ptPosition => IDCRL::POINT,
131
+ :szSize => IDCRL::SIZE,
132
+ :bShow => :BOOL
133
+ })
134
+ end
135
+
136
+ class SSO_UIParam < FFI::Struct
137
+ layout({
138
+ :cbsize => :DWORD,
139
+ :dwReserved => :DWORD,
140
+ :hwndParent => :HWND,
141
+ :pReserved => :UINT_PTR,
142
+ :wszServiceName => :LPCWSTR,
143
+ :rgbReserved => [:BYTE, 16],
144
+ :rghReserved => [:UINT_PTR, 45]
145
+ })
146
+ end
147
+
148
+ class CertSet < FFI::Struct
149
+ layout({
150
+ :pCertContext => :PCERT_CONTEXT,
151
+ :pCACertContext => :PCERT_CONTEXT,
152
+ :cbPOP => :DWORD,
153
+ :pbPOP => :PBYTE
154
+ })
155
+
156
+ def self.build
157
+ certSet = CertSet.new
158
+ certSet[:pCertContext] = FFI::MemoryPointer.new(:pointer)
159
+ certSet[:pCACertContext] = FFI::MemoryPointer.new(:pointer)
160
+ certSet[:cbPOP] = 0
161
+ certSet[:pbPOP] = FFI::MemoryPointer.new(:PBYTE)
162
+ certSet
163
+ end
164
+
165
+ def CertContext
166
+ @CertContext ||= CERT_CONTEXT.new(self[:pCertContext])
167
+ end
168
+
169
+ def CertContext= (certContext)
170
+ @CertContext = certContext
171
+ self[:pCertContext] = FFI::MemoryPointer.new(certContext)
172
+ end
173
+
174
+ def CACertContext
175
+ @CertContext ||= CERT_CONTEXT.new(self[:pCACertContext])
176
+ end
177
+
178
+ def CACertContext= (caCertContext)
179
+ @CACertContext = caCertContext
180
+ self[:pCACertContext] = FFI::MemoryPointer.new(caCertContext)
181
+ end
182
+
183
+ def POP
184
+ @POP ||= self[:pbPOP].read_string(self[:cbPOP])
185
+ end
186
+
187
+ def POP= (pop)
188
+ @POP = pop
189
+ self[:cbPOP] = pop.bytesize
190
+ self[:pbPOP] = FFI::MemoryPointer.from_string(pop)
191
+ end
192
+
193
+ end
194
+
195
+ class MD5Data < FFI::Struct
196
+ layout({
197
+ :szMD5Url => :LPWSTR,
198
+ :szPostData => :LPWSTR
199
+ })
200
+
201
+ def MD5Url
202
+ @MD5Url ||= read_wide_string(self[:szMD5Url])
203
+ end
204
+
205
+ def MD5Url= (md5Url)
206
+ @MD5Url = md5Url
207
+ self[:szMD5Url] = StringToWSTR(md5Url)
208
+ end
209
+
210
+ def PostData
211
+ @PostData ||= read_wide_string(self[:szPostData])
212
+ end
213
+
214
+ def PostData= (postData)
215
+ @PostData = postData
216
+ self[:szPostData] = StringToWSTR(postData)
217
+ end
218
+ end
219
+
220
+ class SHA1 < FFI::Struct
221
+ layout({
222
+ :szSHA1Url => :LPWSTR,
223
+ :szSHA1PostData => :LPWSTR
224
+ })
225
+
226
+ def SHA1Url
227
+ @SHA1Url ||= read_wide_string(self[:szSHA1Url])
228
+ end
229
+
230
+ def SHA1Url= (sha1Url)
231
+ @SHA1Url = sha1Url
232
+ self[:szSHA1Url] = StringToWSTR(sha1Url)
233
+ end
234
+
235
+ def SHA1PostData
236
+ @SHA1PostData ||= read_wide_string(self[:szSHA1PostData])
237
+ end
238
+
239
+ def SHA1PostData= (sha1PostData)
240
+ @SHA1PostData = sha1PostData
241
+ self[:szSHA1PostData] = StringToWSTR(sha1PostData)
242
+ end
243
+ end
244
+
245
+ class AuthState < FFI::Struct
246
+ layout({
247
+ :szToken => :LPWSTR,
248
+ :dwResultFlags => SERVICETOKENFLAGS,
249
+ :pbSessionKey => :LPWSTR,
250
+ :dwSessionKeyLength => :DWORD
251
+ })
252
+
253
+ def Token
254
+ @Token ||= read_wide_string(self[:szToken]) unless self[:szToken].null?
255
+ end
256
+
257
+ def Token= (token)
258
+ @Token = token
259
+ self[:szToken] = StringToWSTR(token)
260
+ end
261
+
262
+ def ResultFlags
263
+ self[:dwResultFlags]
264
+ end
265
+
266
+ def ResultFlags= (resultFlags)
267
+ self[:dwResultFlags] = resultFlags
268
+ end
269
+
270
+ def SessionKey
271
+ @SessionKey ||= read_wide_string(self[:pbSessionKey]) unless self[:pbSessionKey].null?
272
+ end
273
+
274
+ def SessionKey= (sessionKey)
275
+ @SessionKey = sessionKey
276
+ self[:pbSessionKey] = StringToWSTR(sessionKey)
277
+ end
278
+
279
+ def SessionKeyLength
280
+ self[:dwSessionKeyLength]
281
+ end
282
+
283
+ def SessionKeyLength= (sessionKeyLength)
284
+ self[:dwSessionKeyLength] = sessionKeyLength
285
+ end
286
+
287
+ def to_s
288
+ "Token: #{Token()}\n" +
289
+ "ResultFlags: #{ResultFlags()}\n" +
290
+ "SessionKey: #{SessionKey()}\n" +
291
+ "SessionKeyLength: #{SessionKeyLength()}"
292
+ end
293
+ end
294
+
295
+ end
296
+ end
297
+ end