Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upMark Windows-specific APIs #138
Conversation
e391b7d
to
066cd2b
| * **X509Chain** | ||
| - `.ctor(IntPtr)` | ||
|
|
||
| ### System.ServiceModel |
stephentoub
Jul 10, 2020
Member
Someone familiar with WCF will need to comment on this section.
Someone familiar with WCF will need to comment on this section.
mconnew
Jul 14, 2020
Member
We have zero api's which are Windows specific.
We have zero api's which are Windows specific.
|
FYI. I've done a run for .NET 5 and the latest |
3909780
to
242ba7b
|
@akoeplinger I've rebased out the Excel file |
|
|
||
| ## Open Issues | ||
|
|
||
| * We should run the tool again .NET 5 |
jeffhandley
Jul 14, 2020
Contributor
Suggested change
* We should run the tool again .NET 5
* We should run the tool against .NET 5
| * We should run the tool again .NET 5 | |
| * We should run the tool against .NET 5 |
| - `CreateBindingElements()` | ||
| * **ChannelFactory** | ||
| - `.ctor(Binding, EndpointAddress)` | ||
| - `.ctor(ServiceEndpoint)` | ||
| - `.ctor(String)` | ||
| - `.ctor(String, EndpointAddress)` | ||
| - `ApplyConfiguration(String)` | ||
| - `CreateDescription()` | ||
| - `InitializeEndpoint(Binding, EndpointAddress)` | ||
| - `InitializeEndpoint(ServiceEndpoint)` | ||
| - `InitializeEndpoint(String, EndpointAddress)` | ||
| * **ChannelTerminatedException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **ClientBase** | ||
| - `.ctor()` | ||
| - `.ctor(String)` | ||
| - `.ctor(String, EndpointAddress)` | ||
| - `.ctor(String, String)` | ||
| * **ClientBase+ChannelBase** | ||
| - `EndInvoke(String, Object[], IAsyncResult)` | ||
| * **ClientCredentialsSecurityTokenManager** | ||
| - `CreateSecurityTokenAuthenticator(SecurityTokenRequirement, SecurityTokenResolver)` | ||
| - `CreateSecurityTokenProvider(SecurityTokenRequirement)` | ||
| - `CreateSecurityTokenSerializer(SecurityTokenVersion)` | ||
| * **CommunicationException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **CommunicationObjectAbortedException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **CommunicationObjectFaultedException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **DuplexChannelFactory** | ||
| - `.ctor(InstanceContext, Binding, EndpointAddress)` | ||
| - `.ctor(InstanceContext, Binding, String)` | ||
| - `.ctor(InstanceContext, String)` | ||
| - `.ctor(InstanceContext, String, EndpointAddress)` | ||
| * **DuplexClientBase** | ||
| - `.ctor(InstanceContext)` | ||
| - `.ctor(InstanceContext, String)` | ||
| - `.ctor(InstanceContext, String, EndpointAddress)` | ||
| - `.ctor(InstanceContext, String, String)` | ||
| * **EndpointAddress** | ||
| - `ApplyTo(Message)` | ||
| * **EndpointIdentity** | ||
| - `Equals(Object)` | ||
| - `GetHashCode()` | ||
| * **EndpointNotFoundException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **FaultException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **InvalidMessageContractException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **MessageHeaderException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **MessageSecurityOverTcp** | ||
| - `get_ClientCredentialType()` | ||
| - `set_ClientCredentialType(MessageCredentialType)` | ||
| * **NetHttpBinding** | ||
| - `CreateBindingElements()` | ||
| * **NetHttpsBinding** | ||
| - `.ctor()` | ||
| - `.ctor(BasicHttpsSecurityMode)` | ||
| - `CreateBindingElements()` | ||
| * **NetTcpBinding** | ||
| - `.ctor(String)` | ||
| - `CreateBindingElements()` | ||
| * **ProtocolException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **QuotaExceededException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **ServerTooBusyException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **ServiceActivationException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
|
|
||
| ### System.ServiceModel.Channels | ||
|
|
||
| * **AddressHeader** | ||
| - `Equals(Object)` | ||
| - `GetHashCode()` | ||
| * **MessageHeaders** | ||
| - `set_To(Uri)` | ||
| * **SecurityBindingElement** | ||
| - `CreateSecureConversationBindingElement(SecurityBindingElement)` | ||
| * **TransportSecurityBindingElement** | ||
| - `GetProperty<T>(BindingContext)` | ||
| * **WebSocketTransportSettings** | ||
| - `get_DisablePayloadMasking()` | ||
| - `set_DisablePayloadMasking(Boolean)` | ||
|
|
||
| ### System.ServiceModel.Security | ||
|
|
||
| * **MessageSecurityException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **SecurityAccessDeniedException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **SecurityNegotiationException** | ||
| - `.ctor(SerializationInfo, StreamingContext)` | ||
| * **X509ServiceCertificateAuthentication** | ||
| - `set_CertificateValidationMode(X509CertificateValidationMode)` | ||
|
|
jeffhandley
Jul 14, 2020
Contributor
Per @mconnew's comment, this suggestion will remove the ServiceModel types.
Suggested change
### System.ServiceModel
* **ActionNotSupportedException**
- `.ctor(SerializationInfo, StreamingContext)`
- `.ctor(String, Exception)`
* **BasicHttpBinding**
- `.ctor()`
- `.ctor(BasicHttpSecurityMode)`
- `CreateBindingElements()`
* **BasicHttpsBinding**
- `.ctor()`
- `.ctor(BasicHttpsSecurityMode)`
- `CreateBindingElements()`
* **ChannelFactory**
- `.ctor(Binding, EndpointAddress)`
- `.ctor(ServiceEndpoint)`
- `.ctor(String)`
- `.ctor(String, EndpointAddress)`
- `ApplyConfiguration(String)`
- `CreateDescription()`
- `InitializeEndpoint(Binding, EndpointAddress)`
- `InitializeEndpoint(ServiceEndpoint)`
- `InitializeEndpoint(String, EndpointAddress)`
* **ChannelTerminatedException**
- `.ctor(SerializationInfo, StreamingContext)`
* **ClientBase**
- `.ctor()`
- `.ctor(String)`
- `.ctor(String, EndpointAddress)`
- `.ctor(String, String)`
* **ClientBase+ChannelBase**
- `EndInvoke(String, Object[], IAsyncResult)`
* **ClientCredentialsSecurityTokenManager**
- `CreateSecurityTokenAuthenticator(SecurityTokenRequirement, SecurityTokenResolver)`
- `CreateSecurityTokenProvider(SecurityTokenRequirement)`
- `CreateSecurityTokenSerializer(SecurityTokenVersion)`
* **CommunicationException**
- `.ctor(SerializationInfo, StreamingContext)`
* **CommunicationObjectAbortedException**
- `.ctor(SerializationInfo, StreamingContext)`
* **CommunicationObjectFaultedException**
- `.ctor(SerializationInfo, StreamingContext)`
* **DuplexChannelFactory**
- `.ctor(InstanceContext, Binding, EndpointAddress)`
- `.ctor(InstanceContext, Binding, String)`
- `.ctor(InstanceContext, String)`
- `.ctor(InstanceContext, String, EndpointAddress)`
* **DuplexClientBase**
- `.ctor(InstanceContext)`
- `.ctor(InstanceContext, String)`
- `.ctor(InstanceContext, String, EndpointAddress)`
- `.ctor(InstanceContext, String, String)`
* **EndpointAddress**
- `ApplyTo(Message)`
* **EndpointIdentity**
- `Equals(Object)`
- `GetHashCode()`
* **EndpointNotFoundException**
- `.ctor(SerializationInfo, StreamingContext)`
* **FaultException**
- `.ctor(SerializationInfo, StreamingContext)`
* **InvalidMessageContractException**
- `.ctor(SerializationInfo, StreamingContext)`
* **MessageHeaderException**
- `.ctor(SerializationInfo, StreamingContext)`
* **MessageSecurityOverTcp**
- `get_ClientCredentialType()`
- `set_ClientCredentialType(MessageCredentialType)`
* **NetHttpBinding**
- `CreateBindingElements()`
* **NetHttpsBinding**
- `.ctor()`
- `.ctor(BasicHttpsSecurityMode)`
- `CreateBindingElements()`
* **NetTcpBinding**
- `.ctor(String)`
- `CreateBindingElements()`
* **ProtocolException**
- `.ctor(SerializationInfo, StreamingContext)`
* **QuotaExceededException**
- `.ctor(SerializationInfo, StreamingContext)`
* **ServerTooBusyException**
- `.ctor(SerializationInfo, StreamingContext)`
* **ServiceActivationException**
- `.ctor(SerializationInfo, StreamingContext)`
### System.ServiceModel.Channels
* **AddressHeader**
- `Equals(Object)`
- `GetHashCode()`
* **MessageHeaders**
- `set_To(Uri)`
* **SecurityBindingElement**
- `CreateSecureConversationBindingElement(SecurityBindingElement)`
* **TransportSecurityBindingElement**
- `GetProperty<T>(BindingContext)`
* **WebSocketTransportSettings**
- `get_DisablePayloadMasking()`
- `set_DisablePayloadMasking(Boolean)`
### System.ServiceModel.Security
* **MessageSecurityException**
- `.ctor(SerializationInfo, StreamingContext)`
* **SecurityAccessDeniedException**
- `.ctor(SerializationInfo, StreamingContext)`
* **SecurityNegotiationException**
- `.ctor(SerializationInfo, StreamingContext)`
* **X509ServiceCertificateAuthentication**
- `set_CertificateValidationMode(X509CertificateValidationMode)`
Per @mconnew's comment, this suggestion will remove the ServiceModel types.
| ### System.ServiceModel | |
| * **ActionNotSupportedException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| - `.ctor(String, Exception)` | |
| * **BasicHttpBinding** | |
| - `.ctor()` | |
| - `.ctor(BasicHttpSecurityMode)` | |
| - `CreateBindingElements()` | |
| * **BasicHttpsBinding** | |
| - `.ctor()` | |
| - `.ctor(BasicHttpsSecurityMode)` | |
| - `CreateBindingElements()` | |
| * **ChannelFactory** | |
| - `.ctor(Binding, EndpointAddress)` | |
| - `.ctor(ServiceEndpoint)` | |
| - `.ctor(String)` | |
| - `.ctor(String, EndpointAddress)` | |
| - `ApplyConfiguration(String)` | |
| - `CreateDescription()` | |
| - `InitializeEndpoint(Binding, EndpointAddress)` | |
| - `InitializeEndpoint(ServiceEndpoint)` | |
| - `InitializeEndpoint(String, EndpointAddress)` | |
| * **ChannelTerminatedException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **ClientBase** | |
| - `.ctor()` | |
| - `.ctor(String)` | |
| - `.ctor(String, EndpointAddress)` | |
| - `.ctor(String, String)` | |
| * **ClientBase+ChannelBase** | |
| - `EndInvoke(String, Object[], IAsyncResult)` | |
| * **ClientCredentialsSecurityTokenManager** | |
| - `CreateSecurityTokenAuthenticator(SecurityTokenRequirement, SecurityTokenResolver)` | |
| - `CreateSecurityTokenProvider(SecurityTokenRequirement)` | |
| - `CreateSecurityTokenSerializer(SecurityTokenVersion)` | |
| * **CommunicationException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **CommunicationObjectAbortedException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **CommunicationObjectFaultedException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **DuplexChannelFactory** | |
| - `.ctor(InstanceContext, Binding, EndpointAddress)` | |
| - `.ctor(InstanceContext, Binding, String)` | |
| - `.ctor(InstanceContext, String)` | |
| - `.ctor(InstanceContext, String, EndpointAddress)` | |
| * **DuplexClientBase** | |
| - `.ctor(InstanceContext)` | |
| - `.ctor(InstanceContext, String)` | |
| - `.ctor(InstanceContext, String, EndpointAddress)` | |
| - `.ctor(InstanceContext, String, String)` | |
| * **EndpointAddress** | |
| - `ApplyTo(Message)` | |
| * **EndpointIdentity** | |
| - `Equals(Object)` | |
| - `GetHashCode()` | |
| * **EndpointNotFoundException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **FaultException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **InvalidMessageContractException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **MessageHeaderException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **MessageSecurityOverTcp** | |
| - `get_ClientCredentialType()` | |
| - `set_ClientCredentialType(MessageCredentialType)` | |
| * **NetHttpBinding** | |
| - `CreateBindingElements()` | |
| * **NetHttpsBinding** | |
| - `.ctor()` | |
| - `.ctor(BasicHttpsSecurityMode)` | |
| - `CreateBindingElements()` | |
| * **NetTcpBinding** | |
| - `.ctor(String)` | |
| - `CreateBindingElements()` | |
| * **ProtocolException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **QuotaExceededException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **ServerTooBusyException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **ServiceActivationException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| ### System.ServiceModel.Channels | |
| * **AddressHeader** | |
| - `Equals(Object)` | |
| - `GetHashCode()` | |
| * **MessageHeaders** | |
| - `set_To(Uri)` | |
| * **SecurityBindingElement** | |
| - `CreateSecureConversationBindingElement(SecurityBindingElement)` | |
| * **TransportSecurityBindingElement** | |
| - `GetProperty<T>(BindingContext)` | |
| * **WebSocketTransportSettings** | |
| - `get_DisablePayloadMasking()` | |
| - `set_DisablePayloadMasking(Boolean)` | |
| ### System.ServiceModel.Security | |
| * **MessageSecurityException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **SecurityAccessDeniedException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **SecurityNegotiationException** | |
| - `.ctor(SerializationInfo, StreamingContext)` | |
| * **X509ServiceCertificateAuthentication** | |
| - `set_CertificateValidationMode(X509CertificateValidationMode)` |
stephentoub
Jul 14, 2020
Member
Do we know what caused them to show up here in the first place?
Do we know what caused them to show up here in the first place?
| - `EnterDebugMode()` | ||
| - `LeaveDebugMode()` |
adamsitnik
Jul 15, 2020
Member
these two are nops and to be consistent with other nops, we should remove them from the list
context: https://github.com/dotnet/designs/pull/138/files#r454448405
Suggested change
- `EnterDebugMode()`
- `LeaveDebugMode()`
these two are nops and to be consistent with other nops, we should remove them from the list
context: https://github.com/dotnet/designs/pull/138/files#r454448405
| - `EnterDebugMode()` | |
| - `LeaveDebugMode()` |
| ### System.IO.Pipes | ||
|
|
||
| * **NamedPipeClientStream** | ||
| - `Connect(Int32)` |
adamsitnik
Jul 15, 2020
Member
I can't see a code path where Connect(Int32) throws on Unix.
Suggested change
- `Connect(Int32)`
I can't see a code path where Connect(Int32) throws on Unix.
| - `Connect(Int32)` |
| * **NamedPipeServerStream** | ||
| - `WaitForConnection()` |
adamsitnik
Jul 15, 2020
Member
it's supported on Unix: https://github.com/dotnet/runtime/blob/08643df14054d1273002254c909fa099649ebfcf/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.cs#L54-L66
Suggested change
* **NamedPipeServerStream**
- `WaitForConnection()`
it's supported on Unix: https://github.com/dotnet/runtime/blob/08643df14054d1273002254c909fa099649ebfcf/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.cs#L54-L66
| * **NamedPipeServerStream** | |
| - `WaitForConnection()` |
| * **Socket** | ||
| - `SetIPProtectionLevel(IPProtectionLevel)` |
adamsitnik
Jul 15, 2020
Member
Suggested change
* **Socket**
- `SetIPProtectionLevel(IPProtectionLevel)`
* **Socket**
- `.ctor(SocketInformation)`
- `SetIPProtectionLevel(IPProtectionLevel)`
| * **Socket** | |
| - `SetIPProtectionLevel(IPProtectionLevel)` | |
| * **Socket** | |
| - `.ctor(SocketInformation)` | |
| - `SetIPProtectionLevel(IPProtectionLevel)` |
|
|
||
| * **DriveInfo** | ||
| - `set_VolumeLabel(String)` | ||
|
|
adamsitnik
Jul 15, 2020
Member
Suggested change
### System.IO.FileSystem
* **File**
- `Decrypt(string)`
- `Encrypt(string)`
| ### System.IO.FileSystem | |
| * **File** | |
| - `Decrypt(string)` | |
| - `Encrypt(string)` |
|
FWIW I've done some simple manual search of keyword "PlatformNotSupportedException" in My PR is ready dotnet/runtime#39265 |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

No description provided.